Показать сообщение отдельно
Старый 12.03.2012, 15:09
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 3  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Окей... Не может, так не может... Значит здесь именно ретерн нужен. Если вам интересно знать в чем была ошибка, читайте дальше - это полезно знать:
Змея начинает по иксу движение с 310 к нулю.
310 - 20 = 290 - 20 = 270...........50 - 20 = 30 - 20 = 10.
Сейчас она на x = 10, ни одно условие не выполнилось. Змея дальше лезет к нулю.
В следующем кадре ее икс опять уменьшается на 20 и стает еще меньше - "-10", потому что 10 - 20 = - 10.
Так как "-10" меньше чем "10", то выполняется условие:
Код AS3:
if(head.x<10......)
      game_over();
Игра закончилась. Ретерна нет, код продолжает выполнятся:
Код AS3:
if (map[(head.x-10)/20][(head.y-10)/20]==1)
И вот тут программа вам говорит, что в массиве НЕТ ТАКОГО ЭЛЕМЕНТА map[-1][еще какой-то там]. Откуда взялось? Все просто: map[(-10 - 10)/20 = -1]
__________________
Я мало чего умею, но зато хорошо умею учиться...


Последний раз редактировалось HardCoder; 12.03.2012 в 15:11.