Description

Exécuter le tour

Le projet est sous forme de jeu et, à moins d’une indication contraire, tout se passe lorsqu’un tour est joué. Ainsi, le jeu doit permettre l’accumulation d’événements. Pour l’instant, il n’existe aucun événement, mais ils vont apparaître prochainement. Il est donc important que votre application soit prête à gérer cette fonctionnalité dès que possible.

Lorsque votre application recevra une requête /turn, vous devez activer le tour en exécutant tous les événements accumulés dans l’ordre reçu.

Une fois exécutés, les événements sont retirés de la liste à exécuter. Ainsi, après chaque tour la liste doit être vide.

Il est important de conserver le nombre de tours exécutés afin de savoir, lors de l’exécution de chaque tour, à quel tour nous sommes rendus. Les tours commencent au tour numéro 1. Donc, le premier /turn doit retourner "turnNumber": 1.

Reset

Il doit être possible de reset le jeu, ce qui veut dire que tout ce qui aura été créé/ajouté devra être effacé.

Conditions de succès

# Description
1 Avant un tour, tous les événements à exécuter pendant le tour sont accumulés.
2 Lors d’un tour, tous les événements accumulés sont exécutés.
3 Après l’exécution d’un tour, la liste des événements à exécuter au prochain tour est vide.
4 On conclut chaque tour en applicant les conséquences du tour.
5 La réponse de l’exécution d’un tour doit contenir le numéro du tour en question.
6 Après avoir été resetted, le jeu doit être au premier tour.
7 Après un reset, tout ce qui a été créé/ajouté est effacé.

API

:memo: Exécuter le tour

Requête

POST /turn

Réponse

HTTP 200 Ok

{
  "turnNumber": 1::int
}

Exception

Aucune.

:memo: Reset le jeu

Requête

POST /reset

Réponse

HTTP 200 Ok

Exception

Aucune.