Я смотрел скриншоты 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 }
Еда должна быть размещена случайным образом ВНУТРИ моего холста (я указываю MAX_X и MAX_Y), так что я могу только думать, что она находится внутризмея .. У меня проблемы с отладкой этой проблемы.
Демонстрацию приложения можно найти здесь .
Заранее спасибо!