Как грамотно спроектировать игру?

182
08 июля 2017, 10:20

Пишу игру "Жизнь".

Нарисовал такую UML диаграмму классов

Кратко объясню, что происходит в ней.

  1. Есть класс для обработки матрицы LifeMatrix. Я могу задавать, получать значения матрицы. матрица - двумерный динамический массив из элементов bool.
  2. Есть класс LifeCell. Это обычная клетка. У неё есть два состояния - мертвая, живая.
  3. Класс LifeScene будет отрисовывать клетки LifeCell у себя.
  4. Класс Processing уже будет просчитывать саму игру. В неё я вкидываю размеры поля. Слоты start/stop будут.

Но у меня появилась небольшая проблема. Мне надо как-то отрисовать матрицу в LifeScene. Я хотел передавать объект LifeMatrix, чтобы я мог её отрисовать по значениях элементов.

У меня есть небольшая идея, как это можно реализовать, но, боюсь, выйдет каша. Я буду хранить объект LifeScene в классе Processing и будет в классе LifeScene что-то вроде метода void LifeScene::redraw(const LifeMatrix &), в классе Processing будет метод, возвращающий указатель на сцену LifeScene* Processing::scene(). Это также даст возможность задавать размер и сцены и матриц сразу.

Но я боюсь выйдет нечто плохое, поэтому хочу спросить у более опытных людей. Пойдет ли такая стратегия, описанная выше?

READ ALSO
Как посмотреть исходный код программы?

Как посмотреть исходный код программы?

Я хочу подправить исходный код, ничего серьезного, только вывод нескольких строкПрограмма написана скорее всего на С++

939
Qt C++ Потоки и ProgressBar

Qt C++ Потоки и ProgressBar

Всем приветЕсть пулл потоков, к примеру их 10 штук

345
Перенос данных mySQL

Перенос данных mySQL

Только начал изучать SQL, возник такой вопрос, не смог найти (скорее всего не грамотно вводил в поиск)Имеется: таблица1 и таблица2 с одинаковой...

340