Показать сообщение отдельно
Старый 21.12.2009, 00:52
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 4  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
слушай, то, что ты написал в первом посте - это не вопрос. Это "мысли вслух".

Цитата:
Я думаю правильнее так чтобы ячейка матрицы содержала параметр значения стены квадрата к которой мы направлены.
ну очевиднийшая глупость ведь. стена существует независимо от того, повернуты мы к ней, или нет.
Совершенно непонятно, что ты здесь нарисовал, но если говорить о лабиринте, то информацию об уровне надо хранить в массиве, можно двумерном. Каждый элемент массива - экземпяр объекта Комната. Если у комнаты может быть от одной до четырех стен, то это можно задать массивом типа [0,0,0,0] - нет ни одной стены, или, скажем [0,0,0,1] - стена на западе. Если нам нужно еще что-то, например, точка входа в лабиринт - то это тоже еще одно свойсво класса.

И отдельно храним свойства персонажа - в каких он координатах x,y лабиринта, и куда он повернут,например 1-север, 4 - запад.
Тогда для того, чтобы понять можно ли идти из комнаты в комнату нужно найти в матрице уровня нужную комнату: текущая комната = level[x][y]. и в зависимости от поворота проверить наличие или отсутствие стены.

вот. еще графы можно почитать, и про то, как переходы хранятся. но совершенно четко ясно, что тебе сейчас такое написать - как в шлепанцах на Эверест подняться. Возьми задачу проще!
__________________
мой пустой блог