un case tête : le jeu des pyramides
Salut à tous.
Je suis confronté à un problème. Un ami m'a proposé un case tête que j'essaye de résoudre grâce à un programme en C. Voici les règles.
- Il y a une carte en 2D similaire à un échiquier sur lequel se trouve des obstacles (immobiles), 3 pions (mobiles) et 1 case arrivée.
- l'utilisateur (ici, l'ordinateur) déplace les pions qu'il souhaite dans les 4 directions principales.
- Lorsqu'un pion se déplace, il doit continuer son mouvement jusqu'à rencontrer un obstacle ou une autre pyramide.
Le but du jeu est de trouver la solution optimale pour placer les 3 pions sur l'arrivée (seule case où les pions peuvent se chevaucher).
J'ai essayé de faire une boucle en choisissant au hasard le pion et la direction. Mais ce n'est pas du tout adapté au problème. Je pense qu'il faut faire un parcours en largeur mais je n'y comprend rien et le fait d'avoir 3 pions me parait être encore plus difficile.
Une âme charitable pourrait-elle m'aider ?
Je suis confronté à un problème. Un ami m'a proposé un case tête que j'essaye de résoudre grâce à un programme en C. Voici les règles.
- Il y a une carte en 2D similaire à un échiquier sur lequel se trouve des obstacles (immobiles), 3 pions (mobiles) et 1 case arrivée.
- l'utilisateur (ici, l'ordinateur) déplace les pions qu'il souhaite dans les 4 directions principales.
- Lorsqu'un pion se déplace, il doit continuer son mouvement jusqu'à rencontrer un obstacle ou une autre pyramide.
Le but du jeu est de trouver la solution optimale pour placer les 3 pions sur l'arrivée (seule case où les pions peuvent se chevaucher).
J'ai essayé de faire une boucle en choisissant au hasard le pion et la direction. Mais ce n'est pas du tout adapté au problème. Je pense qu'il faut faire un parcours en largeur mais je n'y comprend rien et le fait d'avoir 3 pions me parait être encore plus difficile.
Une âme charitable pourrait-elle m'aider ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Y a-t-il une solution optimale a ce jeu ? Si oui pouvez-vous m'expliquer le principe merci.
On s'aperçoit assez vite que si on envoie les pyramides l'une après l'autre, la dernière n'atteindra jamais l'arrivée. Ce sera donc un travail de groupe :
Première étape : amener la pyramide b6 en e2 (3 coups)
Deuxième étape : la pyramide e6 rejoint c3 (2 coups)
Quatrième étape : la pyramide b4 se rend en d3 (3 coups)
Cinquième étape : les pyramides c3 et d3 descendent sur la seconde rangée.
Sixième étape : les trois pyramides atteignent l'arrivée.
Durée totale des opérations : 13 coups.
Aldo
1.e6-e1
2.b6-e6
3.e6-e2
4.b4-e4
5.e4-e3
6.e2-a2 (arrivé)
7.e1-e2
8.e2-a2 (arrivé)
9.e3-c3
10.c3-c2
11.c2-a2 (arrivé)
Mais aucune idée répondant à ta question.