Browse Source

Supprimer 'bataille.py'

master
OUEDRAGO Seyba 22 hours ago
parent
commit
716173d612
  1. 110
      bataille.py

110
bataille.py

@ -1,110 +0,0 @@
from File import File_chaine as File
from random import shuffle
class Carte:
def __init__(self, valeur, couleur):
self.valeur = valeur
self.couleur = couleur
def compare(self, autre):
if self.valeur > autre.valeur:
return 1
elif self.valeur < autre.valeur:
return -1
else:
return 0
def __str__(self):
return str(self.valeur) + " " + self.couleur
class Jeu:
def __init__(self, nom1="joueur1", nom2="joueur 2"):
self.paquet = []
self.f1 = None
self.f2 = None
self.nom1 = nom1
self.nom2 = nom2
def distribue(self, nb_total_cartes):
self.paquet = []
self.f1 = File()
self.f2 = File()
couleurs = ["pique", "carreau", "coeur", "trèfle"]
nombre = nb_total_cartes // 4
for valeur in range(nombre):
for couleur in couleurs:
self.paquet.append(Carte(valeur, couleur))
shuffle(self.paquet)
for i in range(nombre * 2):
self.f1.enfiler(self.paquet[i])
for i in range(nombre * 2, nombre * 4):
self.f2.enfiler(self.paquet[i])
return self.f1, self.f2
def partie(self):
while not self.f1.est_vide() and not self.f2.est_vide():
c1 = self.f1.defiler()
c2 = self.f2.defiler()
print(c1, c2, "\n")
if c1.compare(c2) == 1:
self.f1.enfiler(c1)
self.f1.enfiler(c2)
elif c1.compare(c2) == -1:
self.f2.enfiler(c1)
self.f2.enfiler(c2)
else:
while True:
pot = [c1, c2]
if self.f1.taille() < 2:
return "{} gagne ({} n'a pas assez de carte)".format(self.nom2, self.nom1)
if self.f2.taille() < 2:
return "{} gagne ({} n'a pas assez de carte)".format(self.nom1, self.nom2)
pot.append(self.f1.defiler())
pot.append(self.f2.defiler())
c1 = self.f1.defiler()
c2 = self.f2.defiler()
print(c1, c2)
pot.extend([c1, c2])
if c1.compare(c2) == 1:
for c in pot:
self.f1.enfiler(c)
break
elif c1.compare(c2) == -1:
for c in pot:
self.f2.enfiler(c)
break
print(self.f1, "\n\n", self.f2, "\n")
if self.f1.est_vide():
return "{} gagne".format(self.nom2)
else:
return "{} gagne".format(self.nom1)
nom1 = input("Nom du joueur 1 : ")
nom2 = input("Nom du joueur 2 : ")
nb_total_cartes = int(input("Nombre total de cartes dans le paquet : "))
jeu = Jeu(nom1, nom2)
f1, f2 = jeu.distribue(nb_total_cartes)
print(f"{nom1} :", f1)
print(f"{nom2} :", f2)
print(jeu.partie())
Loading…
Cancel
Save