Description

Bravo, vous êtes rendus à la dernière story du projet. Comme récompense, on vous a préparé un défi pré-HISTORIQUE! Pas besoin de nous remercier.

Nous voulons que l’application permette le retour à un tour précédent. Tous les changements entre temps doivent être effacés, comme ci le tour n’avais jamais eu lieu.

Ce retour en arrière doit être possible jusqu’au tout début, c’est-à-dire avant l’exécution du premier tour.

Comme réponse à notre requête, vous devez retourner le numéro du tour auquel nous sommes maintenant rendus.

Il est important d’empêcher de faire “unturn” lorsque nous sommes au premier tour.

:bulb: Exemple: En exécutant le tour 8, vous avez ajouté 1000 burgers et, dû à un manque de salade, deux dinosaures herbivores sont morts. Attristé par votre erreur, vous décidez donc de recommencer en faisant un “undo”. Ceci annule les 1000 burgers ajoutés et ramène les deux dinosaures herbivores à la vie. Vous êtes de retour au début du 8ième tour, comme si votre erreur n’avait jamais eu lieu. Meilleure chance la prochaine fois!

Conditions de succès

# Description
1 Permettre l’annulation complète d’un tour, comme si le tour n’avait jamais eu lieu.
2 Pouvoir retourner autant de tours en arrière qu’il y en a eu, c’est-à-dire jusqu’avant l’exécution du premier tour.
3 Lorsqu’on retourne au tour précédent, on retourne dans un état vide, c’est-à-dire sans aucune action accumulée.
4 La réponse de l’annulation d’un tour doit contenir le numéro du tour dans lequel nous sommes retournés.
5 Il est impossible de retourner d’un tour à partir du premier tour.

API

:white_check_mark: Unturn d’un tour

Requête

POST /unturn

Réponses

:arrow_right: HTTP 200 Ok

{
  "turnNumber": 1::int
}

:arrow_right: HTTP 400 Bad Request - Quand nous sommes au premier tour.

{
  "error": "NO_TURNS_TO_UNTURN"::string,
  "description": "There are no turns to unturn."::string
}