2013-11-20 4 views
0

еще раз у меня возникли проблемы. Итак, я поставил свой код, и в настоящее время я пытаюсь добавить еду в свою Snake Game, к сожалению, она не работает. Всякий раз, когда я его отлаживаю, он сообщает мне "Индекс был за пределами массива" Это раздел кода.Индекс находился за пределами массива. Snake Game

 private void Form1_Paint(object sender, PaintEventArgs e) 
    { 
     paper = e.Graphics; 
     food.drawFood(paper); 
     snake.drawSnake(paper); 

     for (int i = 0; 1 < snake.snakeRec.Length; i++) 
     { 
      if(snake.snakeRec[i].IntersectsWith(food.foodRec)) 
      { 
       food.foodLocation(randFood); 
      } 
     } 
    } 

Вот что конкретно.

if(snake.snakeRec[i].IntersectsWith(food.foodRec)) 

ответ

3

Я думаю, что у вас есть опечатка:

for (int i = 0; 1 < snake.snakeRec.Length; i++) 
//    ^^^ 

Это, как представляется, номер один .. вместо переменной i. Это означает, что условие всегда будет истинным. Поэтому ваша индексная переменная в какой-то момент станет больше, чем массив.

+0

Спасибо, сэр. Я НИКОГДА не поймал бы этого. Спасибо за ваше время. –

+0

Больше, чем приветствую :) –

Смежные вопросы