我正在制作一个蛇游戏,当我尝试这个游戏时....我发现了一个巨大的错误,但我不知道如何修复它。基本上,当你玩它时,如果蛇与画布的右侧碰撞,游戏继续进行,但如果它击中画布的顶部,底部或左侧,游戏就会如预期的那样结束。那么我该如何解决这个问题:
那么我如何确保当蛇与画布的右侧碰撞时,游戏结束而不是继续?修复此代码的某个部分在哪里?
答案 0 :(得分:1)
不完全确定原因,但它确实有效:将if (snakeX == -1 || snakeX == w / snakeSize || snakeY == -1 || snakeY == h / snakeSize || checkCollision(snakeX, snakeY, snake)) {
更改为if (snakeX == -1 || snakeX == 56 || snakeY == -1 || snakeY == h / snakeSize || checkCollision(snakeX, snakeY, snake)) {
它的工作原理,但我不完全确定它的工作原理。关键是在蛇走过右边界之前,右边没有遇到(元素的宽度设置为565
,如果你记录snakeX
} - 变量,您将看到原始代码在以565
作为值时停止。更改比较工作,但我不是100%确定它的工作原理(抱歉)。我现在有点太累了。