слушай, то, что ты написал в первом посте - это не вопрос. Это "мысли вслух".
Цитата:
|
Я думаю правильнее так чтобы ячейка матрицы содержала параметр значения стены квадрата к которой мы направлены.
|
ну очевиднийшая глупость ведь. стена существует независимо от того, повернуты мы к ней, или нет.
Совершенно непонятно, что ты здесь нарисовал, но если говорить о лабиринте, то информацию об уровне надо хранить в массиве, можно двумерном. Каждый элемент массива - экземпяр объекта Комната. Если у комнаты может быть от одной до четырех стен, то это можно задать массивом типа [0,0,0,0] - нет ни одной стены, или, скажем [0,0,0,1] - стена на западе. Если нам нужно еще что-то, например, точка входа в лабиринт - то это тоже еще одно свойсво класса.
И отдельно храним свойства персонажа - в каких он координатах x,y лабиринта, и куда он повернут,например 1-север, 4 - запад.
Тогда для того, чтобы понять можно ли идти из комнаты в комнату нужно найти в матрице уровня нужную комнату: текущая комната = level[x][y]. и в зависимости от поворота проверить наличие или отсутствие стены.
вот. еще графы можно почитать, и про то, как переходы хранятся. но совершенно четко ясно, что тебе сейчас такое написать - как в шлепанцах на Эверест подняться. Возьми задачу проще!