Skip to content
On this page

Архітектура

Система вікон

Програма розбита на так звані вікна. Це Qt віджети, які містять у собі який-небудь контент, наприклад вікно з приведенням, вікно з грою, вікно з виведенням інформації про програму тощо. Ці вікна контролюються в корені Qt віджета, таких як MainWindow.

На зображенні демонструється загальний вигляд цих вікон:

  • Є головне MainWindow.
  • MainWindow відтворює один із доступних віджетів.

Arch

Оскільки нам необхідно змінювати вікна за якихось дій користувача, віджети надсилатимуть сигнали, а MainWindow їх оброблятиме. Так, ми можемо логічно переходити на інші вікна, прив'язуючи сигнали дочірніх віджетів до зміни вікон.

Виглядає це приблизно так:

Arch

Ігровий контролер

Віджети розв'язують проблему з поділом коду на рівні UI, але два різні віджети можуть вимагати одні й ті самі дані або ж змінювати стан гри, впливаючи на інші віджети. Для того, щоб спростити код між віджетами, ми використовуємо ігровий контролер GameController, який доступний глобально.

Він керує поточним станом гри і містить у собі прогрес самої гри, якщо її розпочато.

Released under the MIT License.