Question: i need help to fix the error in def jouer _ un _ tour or / and def valider _ positions _ avant _ ajout

i need help to fix the error in def jouer_un_tour or/and def valider_positions_avant_ajout ,
def valider_positions_avant_ajout(self, positions):
"""Vrifie si un ensemble de positions est valide pour placer des jetons de manire conscutive.
Args:
positions (list[Position]): Liste des positions vrifier.
Returns:
bool: True si l'ensemble des positions est valide pour l'ajout, False sinon.
"""
# Extraire les numros de lignes et de colonnes des positions proposes
if not self.est_vide():
return False
# Ensuite, vrifiez la validit de chaque position
for position in positions:
if not self.position_est_valide(position):
return False
return True
def jouer_un_tour(self):
"""
Excute le processus de jeu pour un tour, en plaant des jetons et en validant la formation des mots.
Returns:
tuple: Un boolen indiquant si le tour a russi et un message dcrivant le rsultat du tour.
"""
try:
# Rcuprer les jetons et les positions des jetons en jeu
liste_jetons, liste_positions = self.plateau.retirer_jetons_en_jeu()
# Placez les jetons sur le plateau et calculez les scores
mots_formes, points_total = self.plateau.placer_jetons(liste_jetons, liste_positions)
# Ici, vous pourriez effectuer d'autres actions lies au jeu, comme vrifier la validit des mots forms, etc.
for mot in mots_formes:
if self.mot_permis(mot):
mots_formes += mot
break
# Retournez un boolen indiquant si le tour a russi et un message dcrivant le rsultat du tour
return True, f"Tour russi avec succs. Mots forms : {mots_formes}, Points : {points_total}"
except AssertionError as e:
return False, str(e)
-------------------------------------------------------------
def tests_jouer_un_tour():
partie = Partie(2)
# Nous configurons le joueur[0] comme joueur actif
partie.joueur_actif = partie.joueurs[0]
# Simulation d'un ensemble de jetons tirs par le joueur actif (Joueur 0)
jetons_tires =[
Jeton("E",1),
Jeton("C",3),
Jeton("O",1),
Jeton("L",1),
Jeton("E",1),
Jeton("H",4),
Jeton("Z",10),
]
for i, jeton in enumerate(jetons_tires):
partie.joueur_actif.chevalet.ajouter_jeton(jeton, i)
# Simuler un tour o le joueur place des jetons formant un mot valide sur le plateau
partie.deplacer_jeton_du_chevalet_au_plateau(0, Position(7,4))
partie.deplacer_jeton_du_chevalet_au_plateau(1, Position(7,5))
partie.deplacer_jeton_du_chevalet_au_plateau(2, Position(7,6))
partie.deplacer_jeton_du_chevalet_au_plateau(3, Position(7,7))
partie.deplacer_jeton_du_chevalet_au_plateau(4, Position(7,8))
succes, _= partie.jouer_un_tour()
assert succes, "Erreur: Le tour devrait tre jou avec succs."
# Nous configurons le joueur[1] comme joueur actif
partie.joueur_actif = partie.joueurs[1]
# Simulation d'un ensemble de jetons tirs par le joueur actif (Joueur 0)
jetons_tires =[
Jeton("B",3),
Jeton("G",2),
Jeton("T",1),
Jeton("U",1),
Jeton("P",3),
Jeton("S",1),
Jeton("V",4),
]
for i, jeton in enumerate(jetons_tires):
partie.joueur_actif.chevalet.ajouter_jeton(jeton, i)
partie.deplacer_jeton_du_chevalet_au_plateau(5, Position(10,6))
succes, _= partie.jouer_un_tour()
assert (
not succes
), "Erreur: Le tour devrait chou car la position du nouveau jeton est invalide."
partie.deplacer_jeton_du_chevalet_au_plateau(5, Position(8,6))
succes, _= partie.jouer_un_tour()
assert succes, "Erreur: Le tour devrait tre jou avec succs."
---
tests_partie.py::tests_jouer_un_tour FAILED [70%]
tests_partie.py:72(tests_jouer_un_tour)
def tests_jouer_un_tour():
partie = Partie(2)
# Nous configurons le joueur[0] comme joueur actif
partie.joueur_actif = partie.joueurs[0]
# Simulation d'un ensemble de jetons tirs par le joueur actif (Joueur 0)
jetons_tires =[
Jeton("E",1),
Jeton("C",3),
Jeton("O",1),
Jeton("L",1),
Jeton("E",1),
Jeton("H",4),
Jeton("Z",10),
]
for i, jeton in enumerate(jetons_tires):
partie.joueur_actif.chevalet.ajouter_jeton(jeton, i)
# Simuler un tour o le joueur place des jetons formant un mot valide sur le plateau
partie.deplacer_jeton_du_chevalet_au_plateau(0, Position(7,4))
partie.deplacer_jeton_du_chevalet_au_plateau(1, Position(7,5))
partie.deplacer_jeton_du_chevalet_a

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!