problème de solveur
Sujet : problème de solveur
De : nospam_asteramistaur (at) *nospam* gmail.com.invalid (VienzProe)
Groupes : fr.comp.lang.pythonDate : 06. May 2022, 16:20:05
Autres entêtes
Organisation : !No_Organization!
Message-ID : <98CdnWfb2psIs-j_nZ2dnUU7_83NnZ2d@giganews.com>
Bonjour,
Je dois réaliser un solveur qui doit me renvoyer une liste de directions pour
gagner la partie (on a un plateau, c'est une liste de listes avec des buissons
représentés par un 'B' et des touffes d'herbe représenté par un ' G ' et le but,
c'est que sur chaque touffe d'herbe il y a un mouton représenté par un 'S'.).
J'ai élaboré un solveur, mais le problème, c'est qui ne renvoie qu'une seule
direction. Pouvez-vous m'aider s'il vous plaît ?
Je vous remercie d'avance.
def solveur(moutons,plateau,visite,nombre_herbe,liste_direction):
"e;"e;"e;
Le rôle du solveur est de déterminer s’il est possible
de gagner à partir d’un état du jeu donné. En cas de réponse positive, le
solveur doit aussi fournir
une solution à la grille, c’est-à-dire une liste des coups à jouer pour
arriver à la victoire.
param: plateau : list
param: liste_direction : list
param: moutons : list de tuple
param: visite : set
"e;"e;"e;
plateau,plateau_jeu = init_plateau(plateau)
plateau_jeu = tuple(plateau_jeu)
moutons_tuples = tuple(moutons)
if victoire(plateau,moutons,nombre_herbe) :
return []
if moutons_tuples in visite :
if plateau_jeu in visite:
return None
else :
visite.add(tuple(plateau_jeu))
visite.add(moutons_tuples)
dir = tuple(liste_direction[0])
sol = solveur(jouer(plateau_jeu,moutons,dir),
plateau_jeu,visite,nombre_herbe,liste_direction)
if sol != [] and dir[0] == 'L':
return ['Left'] + [sol]
if sol != [] and dir[0] == 'R':
return ['Right'] + [sol]
if sol != [] and dir[0] == 'U':
return ['Up'] + [sol]
if sol != [] and dir[0] == 'D':
return ['Down'] + [sol]
else :
return solveur(moutons,plateau_jeu,visite,
nombre_herbe,liste_direction[1:])
Date | Sujet | # | | Auteur |
6 May 22 | problème de solveur | 1 | | VienzProe |
Haut de la page
Les messages affichés proviennent d'usenet.
NewsPortal