Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как в приложение Змейка узнать, что через две клетки будет еда? (http://www.flasher.ru/forum/showthread.php?t=200746)

Dip52 06.06.2013 23:41

Как в приложение Змейка узнать, что через две клетки будет еда?
 
Здравствуйте.

Каким образом можно узнать, что через две, одну или n клеток будет находится еда?

WisP 07.06.2013 00:00

Просто посмотрите есть ли еда на нужной клетке.

Dip52 07.06.2013 00:12

Цитата:

Сообщение от WisP (Сообщение 1136775)
Просто посмотрите есть ли еда на нужной клетке.

Это я умею делать, но как узнать, что в следующей клетке (или через две) будет находится еда, если змейка движется вперед, а впереди через n клеток еда?

Idon'tKnow 07.06.2013 00:13

Если это матрица, то у Вас есть столбики и строчки. Пусть позиция головы - это:
headRow - столбец, headString - строка. И у Вас есть 4 направления куда идёт змейка.
Также у Вас есть координаты еды:
eatRow - столбец, headString - строка.
1. направление, змейка движется влево:
Код AS3:

if ((headString == eatString) && (headRow - n ==eatRow)){
// Еда лежит на n клеток левее
}

2. направление, змейка движется вправо:
Код AS3:

if ((headString == eatString) && (headRow + n ==eatRow)){
// Еда лежит на n клеток правее
}

3. направление, змейка движется вверх:
Код AS3:

if ((headRow == eatRow) && (headString - n == eatString)){
// Еда лежит на n клеток Выше
}

4. направление, змейка движется вниз:
Код AS3:

if ((headRow == eatRow) && (headString + n == eatString)){
// Еда лежит на n клеток ниже
}

Вроде, как-то так.

Dip52 07.06.2013 20:34

Цитата:

Сообщение от Idon'tKnow (Сообщение 1136777)
Если это матрица, то у Вас есть столбики и строчки. Пусть позиция головы - это:
headRow - столбец, headString - строка. И у Вас есть 4 направления куда идёт змейка.
Также у Вас есть координаты еды:
eatRow - столбец, headString - строка.
1. направление, змейка движется влево:
Код AS3:

if ((headString == eatString) && (headRow - n ==eatRow)){
// Еда лежит на n клеток левее
}

2. направление, змейка движется вправо:
Код AS3:

if ((headString == eatString) && (headRow + n ==eatRow)){
// Еда лежит на n клеток правее
}

3. направление, змейка движется вверх:
Код AS3:

if ((headRow == eatRow) && (headString - n == eatString)){
// Еда лежит на n клеток Выше
}

4. направление, змейка движется вниз:
Код AS3:

if ((headRow == eatRow) && (headString + n == eatString)){
// Еда лежит на n клеток ниже
}

Вроде, как-то так.

Большое спасибо. Очень сильно помогло.

Rzer 07.06.2013 21:24

Цитата:

Сообщение от Idon'tKnow (Сообщение 1136777)
headRow - столбец, headString - строка

row - строка, col - столбец

Idon'tKnow 07.06.2013 22:23

Возможно, но запомнил как яндекс учил))) :)

row [rəʊ]
/существительное/
строка, ряд, рядок, шеренга
(string, number, rank)
parameterized row filter — параметризованный фильтр строк
cannery row — консервный ряд
in a row — в рядке


Часовой пояс GMT +4, время: 08:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.