Imaginons un jeu comme Heroes of Might and Magic, ou Master of Orion, ou votre jeu de choix au tour par tour. Quelle est la logique du jeu derrière le prochain tour? Y a-t-il du matériel ou des livres à lire sur le sujet? Pour être précis, imaginons une boucle de jeu:
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
Tous ceux qui sont appelés disent 60 fois par seconde. Mais comment le tour par tour entre-t-il ici? Je pourrais imaginer que dans gameLogic (), il existe une fonction comme endTurn () qui se produit lorsqu'un joueur clique sur ce bouton, mais comment puis-je gérer tout cela? Besoin d'informations.
la source
J'ai récemment construit un jeu de stratégie au tour par tour similaire à Master of Orion (ce n'est qu'un seul joueur en ce moment, le multijoueur serait un peu plus complexe, mais une idée similaire), voici à quoi ressemble ma logique de fonction endTurn (dans mon classe principale du contrôleur de jeu):
La fonction de fin de tour de mon joueur exécutera des fonctions spécifiques à ce joueur qui n'est pas affecté par l'ordre dans lequel il se déroule entre les joueurs:
Le cas échéant, ces fonctions renvoient des messages d'état et / ou déclenchent des événements afin que l'interface graphique puisse montrer ce qui s'est passé pendant le tour ou faire savoir au joueur qu'un ordinateur a été détruit, etc ...
la source