TP7 : Déplacement cavalier


Mise en situation
Le travail de ce TP se déroule seul et en groupe.
Temps alloué : 3h
|
Simuler le déplacement d'un cavalier (échec) sur un échiquier. Définir si ce déplacement est possible, si oui, effectuer le déplacement.
Notions abordées : diagramme de classe (composition), ostream, réutilisation de classe.
En vous aidant du diagramme de classe suivant :
- Créer la classe Cavalier
- Cavalier(int, int) : Initialise la position du cavalier sur l'échiquier
- bool deplacementPossible(int nX, int nY) : Vérifie si le cavalier peut se déplacer sur la nouvelle position. sur l'échiquier et avec un déplacement en L 2X1
- void deplace(int nX, int nY) : Déplace le cavalier sur sa nouvelle position
- dessine(ostream & nCout, int, int) : Dessine le cavalier sur l'échiquier sur sa position. Les deux entiers correspondent aux deltas (nombre d'espace utilisés pour une case) (rem : le diagramme de classes n'est pas mis à jour)
Remarque : on utilisera une classe Curseur, déjà vu dans un TP précédent
- Tester cette classe dans le main
- Créer la classe Echiquier
- void positionneCavalier(int, int) : initialise la position du cavalier sur l'échiquier
- void deplaceCavalier(int, int) : déplace le cavalier dans la nouvelle position si celle-ci est possible
- void dessine(ostream &) : dessine l'échiquier avec son cavalier
- Tester la classe Echiquier en lui insérant un Cavalier et en effectuant les différents déplacements
Le résultat obtenu :

