3 / 3 / 0
Регистрация: 28.11.2018
Сообщений: 242
1

Как реализовать логику окон?

07.07.2019, 18:16. Показов 1775. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Простите, если не в ту тему написал, просто не знал где спросить.
Есть небольшая игра, пишу чисто по фану чтобы лучше понять ООП (т.к. только учусь) да и просто интересно. Реализую это всё на SFML, то есть есть бесконечный цикл while(){} который олицетворяет frame rate(FPS).
Как и в любой игре, есть сам процесс игры(очевидно в принципе ), есть окно настроек, окно меню, окно настройки графики, звука итд... Вот уже давно и долго думаю, как это ЛУЧШЕ реализовать, сам переход от процесса игры, к какому то окну, например возврат в "Главное меню".
Если кто-то незнаком с работой SFML(мало ли), то:
C++
1
2
3
4
5
//здесь объявление разных полей: открытие окна, создание спрайтов, моделек итд
while(/*пока_игра_запущена*/)
{
   //сам процесс воспроизведения игры - здесь(у меня это чисто старт на карте без менюшек итп)
}
Просто как реализовать этот переход? У меня такая идея, но кажется немного топорной: создать много флажков, каждый из которых будет "описывать" какое-то из окон, которое требуется отобразить. Но делать флажки для: процесса игры, меню, маню с графикой, меню со звуком(итд итп), как-то неправильно...Или мне кажется?

Я только начинаю свой путь в программировании, по этому даже простое и очевидное решение будет очень полезным, и может быть не таким очевидным для меня. По этому буду очень благодарен за любую помощь!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2019, 18:16
Ответы с готовыми решениями:

Как в spring реализовать следующую логику:
При отправки на сервер с первого клиента определённого запроса, сервер посылает второму клиенту...

Как правильно реализовать логику программы?
Здравствуйте! Хочу реализовать такую логику программы: телефон - стартовая активность А ->...

Как можно реализовать такую логику в Windows Forms?
https://www.cyberforum.ru/csharp-beginners/thread1089327.html#post5739010 Нарисовала интерфейс...

Как можно реализовать логику общего количества просмотров статьи
Есть желание написать собственный форум не могу разобраться как реализовать логику общего...

3
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,973
07.07.2019, 18:51 2
Лучший ответ Сообщение было отмечено MJ_PRUTYG как решение

Решение

Ну там рисование на контексте, так что можно рисовать в одном окне только то, что нужно в данный момент.

Добавлено через 11 минут
Цитата Сообщение от MJ_PRUTYG Посмотреть сообщение
Вот уже давно и долго думаю, как это ЛУЧШЕ реализовать, сам переход от процесса игры, к какому то окну, например возврат в "Главное меню".
Можно просто определить классы меню, игра, и т.д. На базе полиморфизма организовать общиe методы show(), hide() (которыми указываете отрисовывается ли и реагирует на события данный объект), draw() event(...), и т.д. В главном цикле проверяйте состояния, рисуйте и обрабатывайте события
2
3 / 3 / 0
Регистрация: 28.11.2018
Сообщений: 242
07.07.2019, 23:59  [ТС] 3
zayats80888, ага, вот идея с переопределением неплохая. Спасибо большое!
0
5191 / 2801 / 468
Регистрация: 05.10.2013
Сообщений: 7,432
Записей в блоге: 154
08.07.2019, 15:36 4
Цитата Сообщение от MJ_PRUTYG Посмотреть сообщение
Вот уже давно и долго думаю, как это ЛУЧШЕ реализовать
Можно очень долго думать, как это сделать лучше. На мой взляд, первый раз лучше реализовать хоть как-нибудь, чтобы работало. Когда первый вариант будет готов, то можно пробовать разные варианты. Главное, чтобы был первый, самый неправильный, но рабочий вариант. Чтобы вы скинули нам EXE в архиве и написали, что вот так по кнопкам если тыкать, то происходит переход с главного меню в меню настроек звука, в меню настроек управления, в саму игру. Пусть там даже вместо всего этого будет просто текст: "Главное меню", "Игра" и т.д. и кнопки: "Старт", "Вернуться в главное меню" и т.д.
1
08.07.2019, 15:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2019, 15:36
Помогаю со студенческими работами здесь

Асинхронный метод и возвращаемое значение: как реализовать эту логику?
Помогите реализовать такую логику: надо вызвать ReadData() с возвращаемым значением, но проблема в...

Панель окон - как реализовать?
Приветствую. Во многих программах / системах / платформах внизу есть панель окон (так называется в...

Как реализовать работу нескольких окон под шаблоном MVVM?
Использую шаблон MVVM. Всё что было в слое View всегда умудрялся держать только в xaml, и всё...

Реализовать логику в коде по формуле
Умельцы форума, помогите пожалуйста реализовать логику, которая показана в данной формуле.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru