#java #processing
#java #обработка
Вопрос:
Я пытаюсь сделать игру со змеей в обработке, и я столкнулся с проблемой, когда после поедания первого яблока длина змеи увеличивается до 2, но после поедания большего количества длина змеи остается прежней. Не уверен, в чем проблема с тем, как я пытаюсь выполнить
Комментарии:
1. Просто подумайте, как работает цикл for в
movePlayer
. Сначала она выполняется сi=0
, затемi=1
, ….. Заменитеi
в теле цикла на значение и посмотрите, что это дает.2. Что вы имеете в виду? Не могли бы вы, пожалуйста, уточнить? С помощью этого я пытаюсь переместить текущее местоположение, которое находится с индексом 0, в индекс 1, а затем все, что было в индексе 1, в индекс 2.
Ответ №1:
Давайте посмотрим на упрощенную версию вашего цикла for в movePlayer
:
for(int i = 0; i < 3; i )
snakeLocationX[i 1] = snakeLocationX[i];
Написание этого кода без цикла дает:
snakeLocationX[1] = snakeLocationX[0];
snakeLocationX[2] = snakeLocationX[1];
snakeLocationX[3] = snakeLocationX[2];
Это означает, что значение snakeLocationX[0]
копируется шаг за шагом во все другие элементы массива.
Решение: Запустите цикл for с наибольшим i
значением и уменьшите.