Bonjour,
J'essaie de programmer un jeu de dames avec des règles spéciales, où le joueur doit faire un maximum de prises au cours de son tour.
Voici ce que j'aimerais arriver à faire : si le programme voit qu'il y a une ou plusieurs prises possibles, il demande à l'utilisateur de choisir entre tous les parcours possibles celui qu'il préfère, mais seuls les parcours qui prennent le plus de pions à l'adversaire sont retenus (et affichés).
Je ne sais pas comment partir pour faire une fonction de ce genre. J'avais pensé à une fonction récursive, mais je ne sais pas comment la construire et quoi lui faire renvoyer.
Quelqu'un a-t-il une idée s'il-vous-plait?
But : Si on numérote les abscisses du damier de A à J et et les ordonnées de 1 à 10, on devrait proposer à l'utilisateur de choisir entre plusieurs combinaisons, par exemple (pour 2 prises):
La difficulté est dans le fait qu'à partir d'une position de départ ou d'une position intermédiaire, on peut avoir plusieurs ramifications, et je ne vois pas comment stocker tout ça dans un tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 -choix 1 : A1 --> C3 -->A5 -choix 2 : A1 --> C3 -->E5 -choix 2 : E3 --> G5 -->E7
Les positions des pièces sont stockées dans un tableau [10][10]. Ce tableau représente le damier. Par exemple tableau[3][5] représente la case D6. tableau[3][5]=0 si c'est une case vide, 1 s'il y a un pion blanc dessus, etc.
J'ai déjà plusieurs fonctions qui :
- calculent le nombre maximal de prises pour une pièce donnée.
- calculent les choix offerts pour une et une seule prise (par exemple, si un pion peut manger en avant à gauche et à droite, renverra 2, mais ne regarde pas si d'autres prises sont possibles ensuite).
Si quelqu'un a une idée il est le très bienvenu![]()
Merci d'avance!
Partager