Vamos imaginar um jogo como Heroes of Might and Magic, ou Master of Orion, ou o seu jogo baseado em turnos. Qual é a lógica do jogo por trás do próximo turno? Há algum material ou livro para ler sobre o tópico? Para ser específico, vamos imaginar o loop do jogo:
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
Todos aqueles que estão sendo chamados dizem 60 vezes por segundo. Mas como o turn-based entra aqui? Eu posso imaginar que em gameLogic () existe uma função como endTurn () que acontece quando um jogador clica nesse botão, mas como eu manejo tudo isso? Precisa de insights.
fonte
Recentemente, criei um jogo de estratégia baseado em turnos semelhante ao Master of Orion (agora é apenas um jogador, o multijogador seria um pouco mais complexo, mas uma ideia semelhante). Aqui está a minha lógica de função endTurn (na minha classe principal do Game Controller):
A função de final de jogo do meu jogador executará funções específicas para esse jogador que não são afetadas pela ordem em que ocorre entre os jogadores:
Onde apropriado, essas funções retornam mensagens de status e / ou acionam eventos para que a GUI possa mostrar o que aconteceu durante o turno ou informar ao jogador que um computador foi destruído, etc.
fonte