problème de solveur

Liste des GroupesRevenir à fcl python 
Sujet : problème de solveur
De : nospam_asteramistaur (at) *nospam* gmail.com.invalid (VienzProe)
Groupes : fr.comp.lang.python
Date : 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 o problème de solveur1VienzProe

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal