Выбор метода дизайна для словесной игры в стиле лестницы - PullRequest
2 голосов
/ 16 мая 2010

Я пытаюсь создать простое приложение с готовой программой, которая выглядит следующим образом:

лестничная игра http://img199.imageshack.us/img199/6859/lab9a.jpg

Для этого мне также придется реализовать два разных макета графического интерфейса. Сейчас я пытаюсь выяснить лучший способ выполнить эту задачу. Мой профессор сказал мне ввести класс Элемента с 4 состояниями:
- пусто
- невидимый (используется в GridLayout)
- первая буква
- другое письмо

Я думал о следующих решениях (под Списком я имею в виду любой вид Коллекции):
1. Элемент - это одна буква, а каждая строка - это Элемент []. Класс игры будет массивом Element []. Я думаю, что это самый глупый способ, и проверка может быть хлопотной.
2. Как и ранее, но Линия - это Список Элементов. Игра представляет собой массив линий.
3. Как и раньше, но игра - это список линий.

Какой из них выбрать? Или, может быть, у вас есть идеи получше? Какая коллекция будет лучше, если использовать один?

1 Ответ

2 голосов
/ 16 мая 2010

Ваша сетка - это ваша внутренняя модель данных (т.е. никто, кроме вас, не будет ее использовать). Вот почему вы можете выбрать тот, который наиболее удобен для вас.

Я бы предпочел первое решение с массивами, потому что код будет немного более читабельным (по крайней мере, для меня). Просто сравните:

grid[3][4] = element;

и

grid.get(3).add(4, element);

Более того, если вы хотите использовать коллекции, то вам, вероятно, нужно использовать

Map<Integer, List<Element>> grid

где Integer-ключ представляет индекс строки. Со списком списков очень сложно вставить новые слова (просто подумайте, как бы вы реализовали это только со списками).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...