minesweeper
Description du kata
Nous allons jouer au démineur (minesweeper en anglais). L’idée de ce kata est de proposer une application qui permette d’indiquer la position des mines et calculer le nombre de mines adjacentes aux cases vides.
Pour démarrer :
Compréhension des règles métiers
Il est important de montrer que l’on a bien compris les exigences métiers. Comment peux-tu le prouver ?
Vois avec un pair si ta démonstration permet de montrer que tu as compris l’exercice.
Piste de départ
Nous allons faire une fonction solve_field
qui reçoit en entrée une chaîne de caractères contenant le champ de mines (sous forme de rectangle). Elle retourne une chaîne de caractères contenant le champ de mines résolus.
Par exemple, si tu as en entrée :
|
|
tu auras en sortie :
|
|
Objectifs
Voici une liste d’objectifs que l’on peut se fixer lors de l’exercice. Tu peux sélectionner un ou plusieurs objectifs au fur et à mesure que tu évolues sur l’exercice.
- Terminer l’exercice
- Terminer l’exercice avec TDD
- Travailler seulement avec des fonctions
- Travailler avec des classes
- Utiliser un adapteur pour pouvoir recevoir autre chose que des chaînes de caractères
- Ne pas utiliser de type primitif en entrée et en sortie
- Les faire disparaître par refactoring après que l’exercice soit terminé
- Ne pas les utiliser dès le départ
- Contrainte de vitesse
- en moins de 30 minutes
- en moins de 15 minutes
Organisation de l’entraînement
- Réaliser le kata sans TDD (optionnel)
- Réaliser le kata avec TDD
- Lire l’étude détaillée / Etudier la pratique d’autres développeurs
- Réaliser le kata jusqu’à le maîtriser
Etude détaillée du kata
En cours de réalisation