diff --git a/TP8/bataille-carte/war.py b/TP8/bataille-carte/war.py index ec6017dc463cb0e0715422fa93b8db42a2c13205..8c288f0aabbc9884d4e84ea27ae4bda7ae7170ae 100755 --- a/TP8/bataille-carte/war.py +++ b/TP8/bataille-carte/war.py @@ -87,7 +87,7 @@ def play_one_round(m1: ApQueue, m2: ApQueue, pile: ApStack) -> None: c2=m2.dequeue() pile.push(c1) pile.push(c2) - print(f'joueur 1 joue {str(c1)} et joueur 2 {ste(c2)}') + print(f'joueur 1 joue {str(c1)} et joueur 2 {str(c2)}') if c1>c2: print('joueur 1 gagne ') gather_stack(m1, pile) @@ -96,10 +96,15 @@ def play_one_round(m1: ApQueue, m2: ApQueue, pile: ApStack) -> None: gather_stack(m2, pile) else: print('Bataille !!\n2 cartes sur la table') - pile.push(m1.dequeue()) - pile.push(m1.dequeue()) - pile.push(m2.dequeue()) - pile.push(m2.dequeue()) + for i in range(2): + if len(m1)!=0: + pile.push(m1.dequeue()) + for j in range(2): + if len(m2)!=0: + pile.push(m2.dequeue()) + + + def play(n_card: int, n_round: int) -> None: """ @@ -108,8 +113,20 @@ def play(n_card: int, n_round: int) -> None: n_card: le nombre de cartes à distribuer à chaque joueur. n_round: le nombre maximal de tours """ - ... - + m1,m2=distribute(n_card) + pile=ApStack() + cpt=1 + while cpt<=n_round and len(m1)!=0 and len(m2)!=0: + print(f"------ Tour {cpt} --------") + cpt+=1 + play_one_round(m1,m2,pile) + print(f'Le joueur 1 a {len(m1)} cartes et le joueur 2 a {len(m2)} cartes') + if len(m1)>len(m2): + print('Le joueur 1 a gagné') + elif len(m1)<len(m2): + print('Le joueur 2 a gagné') + else: + print("Personne n'a gagné") if __name__ == "__main__": import apl1test