Jeu et algo pour jouer et solver le jeu Absens - Algo - Programmation
Marsh Posté le 11-10-2017 à 09:31:11
Désolé mais je n'ai rien compris aux règles.
Marsh Posté le 11-10-2017 à 15:43:52
C'est pourtant pas bien compliqué.
Si je peu aider à saisir je suis disponible.
Marsh Posté le 11-10-2017 à 16:18:25
Après de longues minutes, voilà ce que je comprends du jeu :
- les pions du joueur 1 seront symbolisés par des 1
- les pions du joueur 2 seront symbolisés par des 2
- plateau de jeu du joueur 1 : 0 0 0 0 0 0
- plateau de jeu du joueur 2 : 0 0 0 0 0 0
- plateau de jeu neutre : 0
Début de partie, les joueurs définissent une place sur leur plateau :
- plateau de jeu du joueur 1 : 0 0 [0] 0 0 0
- plateau de jeu du joueur 2 : 0 0 0 0 0 [0]
- plateau de jeu neutre : 0
Premier tour, joueur 1 place un pion dans le plateau neutre :
- plateau de jeu du joueur 1 : 0 0 [0] 0 0 0
- plateau de jeu du joueur 2 : 0 0 0 0 0 [0]
- plateau de jeu neutre : 1
Premier tour, joueur 2 place son pion dans le plateau du joueur 1 :
- plateau de jeu du joueur 1 : 0 2 [0] 0 0 0
- plateau de jeu du joueur 2 : 0 0 0 0 0 [0]
- plateau de jeu neutre : 1
Deuxième tour, joueur 1 place son pion dans le plateau du joueur 2 :
- plateau de jeu du joueur 1 : 0 2 [0] 0 0 0
- plateau de jeu du joueur 2 : 0 0 0 1 0 [0]
- plateau de jeu neutre : 1
Deuxième tour, joueur 2 place son pion dans le plateau du joueur 1 :
- plateau de jeu du joueur 1 : 0 2 [0] 0 2 0
- plateau de jeu du joueur 2 : 0 0 0 1 0 [0]
- plateau de jeu neutre : 1
Ainsi de suite, je ne comprends pas à quoi sert le choix de place au début, je ne comprends pas le coup spécial et surtout je ne comprends pas qui gagne...
Marsh Posté le 11-10-2017 à 16:22:23
Ouahouh.
Merci pour ton retour.
Alors que moi je part d'un plateau avec les pion disposés sur le plateau.
On peut distinguer le pion du chacun des joueur en choisissant des pion spécifique.
Marsh Posté le 11-10-2017 à 16:30:13
MaybeEijOrNot a écrit : |
Le gagnant est le premier qui re- constitue la ranger de ses pions en laissant le pion du joueur adverse dans la place vide.
Le coup spécial si le pion du joueur courant est dans la place vide et si on le souhaite, permet d'échanger n'importe lequel des pions de l'adversaire avec le pion dans la place vide.
Marsh Posté le 11-10-2017 à 16:33:55
Ah je commence à mieux comprendre. Tu récupères tes pions dans jeu/plateau adverse en fait, c'est ça? Mais du coup c'est sans fin? Puisqu'à chaque tour tu ne fais qu'échanger, le pion que tu auras récupéré sera de nouveau piqué par l'adversaire? xD
Tu ne peux pas simuler quelques tours pour qu'on comprenne mieux?
Marsh Posté le 11-10-2017 à 16:42:40
Ok, à 2 pions chacun :
Les 0 pour le joueur A et un K pour le pion du joueur A.
Les 1 pour le joueur B et un L pour le pion du joueur B.
exemple :
plateau de départ :
rangé A : 0K
rangé B : L1
vide : [vide]
--------------------
1er tour : B commence.
rangé A : 0K
rangé B : 1
vide : [L]
A joue :
rangé A : 0
rangé B : K1
vide : [L]
--------------------
2eme tour : B joue.
rangé A : 0
rangé B : L1
vide : [K]
Le joueur B gagne la partie en constituant son jeu sur sa rangé de départ.
Marsh Posté le 11-10-2017 à 16:49:00
Ah, désolé : C'est un peu particulier : C'est un cas exceptionnel, le joueur qui commence place son pion dans le vide et il gagne à tout les coup.
Donc j'y pensais hier j'avais oublier : je devais ajouter une exception pour la règle mais du coup je ne sais pas si le jeux fonctionne toujours.
Et aussi suprenant que cela soit, il n'y a pas que prise de pion ; Seulement des déplacement et un coup spécial pour un échange.
Marsh Posté le 11-10-2017 à 17:12:38
A 2 pions chacun ça joue pas.
Ok, à 3 pions chacun :
Les 0 pour le joueur A et un K pour le pion du joueur A.
Les 1 pour le joueur B et un L pour le pion du joueur B.
exemple :
plateau de départ :
rangé A : 00K
rangé B : L11
vide : [vide]
--------------------
1er tour : B commence.
rangé A : 00K
rangé B : L1
vide : [1]
A joue :
rangé A : 00
rangé B : L1K
vide : [1]
--------------------
2eme tour : B joue.
rangé A : 00L
rangé B : 1K
vide : [1]
A joue :
rangé A : 0L
rangé B : 01K
vide : [1]
---------------------
3eme tour :
B joue.
rangé A : 10L
rangé B : 01K
vide : [ ]
A joue :
rangé A : 10L
rangé B : 01
vide : [K]
Marsh Posté le 24-12-2021 à 04:23:02
Bonjour,
Ne vous cassez pas trop la tête de bon matin.
Je cherche à nouveau une soluce pour ce jeu.
Marsh Posté le 24-12-2021 à 10:06:03
Toujours pas certain d'avoir compris, cela semble être le vrai but du jeu...
Mais si le joueur A ne bouge jamais son K il ne peut jamais perdre, tout comme si le joueur B ne bouge jamais son L.
C'est bien ça ? Il ne faut pas que son K ou son L se retrouve dans le "vide" ?
Marsh Posté le 24-12-2021 à 10:12:43
Exact.
C'est pourquoi, j'ai énoncé, j'énonce ici, qu'il s'agit soit d'un défaut d'article de règles ; Soit d'un jeu cooperatif.
Mais dans le concepte, c'est plu un jeu comment on l'entend habituellement.
Marsh Posté le 24-12-2021 à 10:15:18
Ce ci dis le concepte hasardeux de la conscience de la la règle fait que ça peu êre un jeu quand même.
Et ici, c'est une solution en considération des règle exclusivement, je vais pas introduire l'oublie des règle, avec un algo, le plu simple possible sera le mieux.
Mais un bon, j'aimerai bien trouver.
J'avoue que j'ai du mal.
Marsh Posté le 24-12-2021 à 10:24:47
Ben ta première solution qui repose sur l'incompréhension des règles permet de rester aussi simple sur l'algo.
Sinon tu peux toujours transformer ton jeu en jeu de hasard en ajoutant des tirages aléatoires.
Marsh Posté le 24-12-2021 à 10:31:21
J'ai déjà implementé une solution basé sur le concept de l'aléatoire.
C'est pas efficace. Pas du tout.
Marsh Posté le 24-12-2021 à 10:48:27
J'ai pas tout bien compris le but du jeu mais ça ressemble un peut au jeu des allumettes. Du coup, je pense qu'n algo de résolution de ce jeu doit être applicable. Il faut faire un apprentissage par renforcement (calcul de récompense pour chaque coup joué). En simulant des milliers de parties, on devrait aboutir à la séquence de coups optimale.
Marsh Posté le 24-12-2021 à 12:11:14
Ben tu fais des coups aléatoires. A chaque coup joué, tu calcules le score du coup avec une fonction d'évaluation qui va estimer dans quelle mesure ce coup à contribué à la victoire ou la défaite. Avec un grand nb de parties simulées va émerger le séquence de coups optimale.
Tout est expliqué ici : https://fr.wikipedia.org/wiki/Appre [...] nforcement
T'as même des algos en pseudo-code.
Marsh Posté le 28-01-2023 à 13:43:08
Hello !
J'ai examiné le déroulement d'une partie avec 2 et 2 pièce ; J'ai imaginé le dernier mouvement de pièce d'un tour avec un jeu matériel et j'ai constaté un problème.
Je n'ai en fait pas pu placé le pion car j'ai été sujet à l'impossibilité de distinguer lequel des joueur aurait gagné.
Marsh Posté le 09-10-2017 à 17:15:38
Bonjour,
Je conçois un jeu, je cherche l'algo solution pour résoudre le jeu. Si ça vous interresse, je suis preneur de vos analyses et idée de techniques !
Merci pour votre contribution.
Le jeu s'appelle absens, les règles sont les suivante :
Plateau du jeu :
Jeu 0: 0000000
Jeu 1: 1111111
vide : [ ]
Règles
Début de partie :
Les joueurs choisissent chacun une place dans leur jeu.
Le joueur qui commence place un de ses autres pions dans la place vide.
Tour de jeu :
A chaque tour chacun des deux joueurs déplace un de ses pions dans une place libre ou la place vide si elle est libre.
But :
Le jeu continu jusqu'à complétion du jeu propre en laissant le joueur adverse dans la place vide.
Coup spécial
Si un des deux joueurs place son propre pion dans la palce vide, celui- ci choisie la place qu'il désire en échangeant la place vide avec un pion de l'adversaire.
Ma recherche d'algorithme est vraiment archaïque pour le moment avec Ada :
vous pouvez trouver ce jeu et algo sur sourceforge : https://sourceforge.net/projects/absens/
Merci de votre participation.
Message édité par Profil supprimé le 11-10-2017 à 16:53:52