Давайте представим игру, подобную Heroes of Might and Magic, или Master of Orion, или вашу пошаговую игру по выбору. Какая логика игры стоит за следующим ходом? Есть ли какие-либо материалы или книги для чтения на эту тему? Чтобы быть конкретным, давайте представим игровой цикл:
void eventsHandler(); //something that responds to input
void gameLogic(); //something that decides whats going to be output on the screen
void render(); //this function outputs stuff on screen
Все они звонят, скажем, 60 раз в секунду. Но как пошагово входит сюда? Я мог бы представить, что в gameLogic () есть функция вроде endTurn (), которая происходит, когда игрок нажимает на эту кнопку, но как мне все это обработать? Нужны идеи.
источник
Недавно я создал пошаговую стратегическую игру, похожую на Master of Orion (сейчас это только для одного игрока, многопользовательская игра была бы немного сложнее, но похожая идея), вот как выглядит моя логика функции endTurn (в моем основной класс игрового контроллера):
Моя функция завершения хода игрока будет выполнять функции, специфичные для этого игрока, на которые не влияет порядок, в котором они находятся между игроками:
Где это уместно, эти функции возвращают сообщения о состоянии и / или запускают события, чтобы графический интерфейс мог показать, что произошло во время хода, или сообщить игроку, что компьютер был разрушен и т. Д.
источник