我正在观看有关构建 Canvas 游戏的 ThinkVitamin 截屏视频,但似乎缺少最后一部分,我不得不自己弄清楚很多东西。
我成功构建了游戏,但是其中有两个错误不断出现。
编辑:将第一个错误移到另一个问题中,因为这个问题得到了解答!
另一个错误是食物有时不会出现。我不知道为什么会这样,但我唯一能想到的就是蛇体内出现的食物。但是,我也对此进行了检查,但它仍然发生:
inSnake = (x, y) ->
for part in Snake.position # check if the food is being placed inside the snake
if x == part.x && y == part.y
true
false
placeFood = ->
x = Math.round Math.random() * MAX_X - 1
y = Math.round Math.random() * MAX_Y - 1
if inSnake x, y # if so, run placeFood() again
placeFood()
Food.position = { x: x, y: y }
食物应该随机放置在我的 Canvas 内(我指定了 MAX_X 和 MAX_Y),所以我只能认为它在蛇里面。我在调试这个问题时遇到了麻烦。
可以找到该应用程序的演示 here .
提前致谢!
最佳答案
inSnake = (x, y) ->
for part in Snake.position
if x == part.x && y == part.y
true
false
看起来你想说 return true
。否则它将始终运行整个循环并在函数结束时返回 false
。
关于javascript - Canvas 游戏 : My food disappears,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993579/