Тема: Vivo
Показать сообщение отдельно
Старый 13.03.2012, 14:13   #226
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Vivo

Сообщение от Nikich Посмотреть сообщение
Этот способ хорош, если ГГ пытается перейти с клетки со стенкой на свободную клетку. А если наоборот то фиг.
Инфу о наличии стенки хранить можно как в 1 клетке, так и в 2х, которые эта стенка и разделяет.
Сообщение от Nikich Посмотреть сообщение
Тогда придется еще просчитывать какая у него следующая клетка.
Просчитывать особо нечего, т.к. у клетки есть инфа (должна быть) о занимаемой ей позиции по типу индекса массива. Тогда проверка сводится к такому алгоритму (для движения вверх):

;если инфа о стенках только в 1 клетке хранится, а не в обеих смежных, то две проверки
;x,y - индексы текущей клетки, в которой игрок стоит
;up,down - направления
if(cells[x][y]\walls[up]=true) Return ;стена сверху у текущей клетки
if(cells[x][y-1]\walls[down]=true) Return ;стена снизу у верхней клетки
Плюс добавить проверку выход за границы поля.

рубишь фишку?
(Offline)
 
Ответить с цитированием