Compare commits

...

3 Commits

Author SHA1 Message Date
enora.delmas b129f7c86d hujnj 22 hours ago
enora.delmas 380c55084f huhj 23 hours ago
enora.delmas 17ef1c5517 yhugyu 23 hours ago
  1. 108
      bataille.py
  2. 92
      mainscript.py

108
bataille.py

@ -2,6 +2,7 @@ from File import File_chaine as File
import random
from time import sleep
#creation de la classe Carte qui ermet de comparer deux cartes entres elles
class Carte:
"carte"
def __init__(self, valeur, couleur):
@ -17,14 +18,20 @@ class Carte:
def __repr__(self):
return str(self.valeur)
def __str__(self):
return str(self.valeur) + " de " + self.couleur
if self.valeur == 11:
return "V" + self.couleur
if self.valeur == 12:
return "D" + self.couleur
if self.valeur == 13:
return "R" + self.couleur
return str(self.valeur) + self.couleur
#creation de la classe jeu qui permet de créer un jeu de cartes de le melanger et de le distribuer
class Jeux:
def __init__(self, nbmax):
def __init__(self, nbmax=52):
i = 0
valeurs = [1, 7, 8, 9, 10, 11, 12, 13, 2, 3, 4, 5, 6]
couleurs = ["coeur", "pique", "carreau", "trefle"]
couleurs = ["", "", "", "♣️"]
jeu = []
for val in valeurs:
if i >= nbmax:
@ -74,7 +81,7 @@ def partie(jeu1, jeu2):
jeu2.enfiler(gain.defiler())
"""
class partie_TeSt:
"""class partie_TeSt:
def __init__(self, nb_carte = 52):
jeux = Jeux(nb_carte)
self.j1, self.j2 = jeux.distribue()
@ -111,56 +118,57 @@ class partie_TeSt:
while not self.Gain.est_vide():
self.j2.enfiler(self.Gain.defiler())
while not (j1.est_vide() or j2.est_vide() or winner == "égalité"):
print(Round)
Round += 1
c1 = j1.defiler()
c2 = j2.defiler()
while not (j1.est_vide() or j2.est_vide() or winner == "égalité"):
print(Round)
Round += 1
gain = File()
gain.enfiler(c1)
gain.enfiler(c2)
resultat = c1.compare(c2)
while resultat == 0 and j1.taille() >= 2 and j2.taille() >= 2:
if random.randint(1, 2) == 1:
gain.enfiler(j1.defiler())
gain.enfiler(j2.defiler())
else:
gain.enfiler(j2.defiler())
gain.enfiler(j1.defiler())
c1 = j1.defiler()
c2 = j2.defiler()
if random.randint(1, 2) == 1:
gain.enfiler(c2)
gain.enfiler(c1)
else:
gain.enfiler(c1)
gain.enfiler(c2)
gain = File()
gain.enfiler(c1)
gain.enfiler(c2)
resultat = c1.compare(c2)
if resultat == 1:
winner = "c'est j1 qui a gagné"
while not gain.est_vide():
j1.enfiler(gain.defiler())
elif resultat == -1:
winner = "c'est j2 qui a gagné"
while resultat == 0 and j1.taille() >= 2 and j2.taille() >= 2:
if random.randint(1, 2) == 1:
gain.enfiler(j1.defiler())
gain.enfiler(j2.defiler())
else:
gain.enfiler(j2.defiler())
gain.enfiler(j1.defiler())
c1 = j1.defiler()
c2 = j2.defiler()
if random.randint(1, 2) == 1:
gain.enfiler(c2)
gain.enfiler(c1)
else:
gain.enfiler(c1)
gain.enfiler(c2)
resultat = c1.compare(c2)
if resultat == 1:
winner = "c'est j1 qui a gagné"
while not gain.est_vide():
j2.enfiler(gain.defiler())
else:
if j1.taille() < 2 and not j2.taille() < 2:
winner = "c'est j2 qui a gagné"
elif not j1.taille() < 2 and j2.taille() < 2:
while not gain.est_vide():
j1.enfiler(gain.defiler())
elif resultat == -1:
winner = "c'est j2 qui a gagné"
while not gain.est_vide():
j2.enfiler(gain.defiler())
else:
winner = "égalité"
break
print(j1, j2)
return winner
if j1.taille() < 2 and not j2.taille() < 2:
winner = "c'est j2 qui a gagné"
elif not j1.taille() < 2 and j2.taille() < 2:
winner = "c'est j2 qui a gagné"
else:
winner = "égalité"
break
print(j1, j2)
return winner"""
jeu = Jeux(8)
j1, j2 = jeu.distribue()
print(partie_TeSt(j1, j2))
if __name__ == "__main__":
jeu = Jeux()
j1, j2 = jeu.distribue()
#print(partie_TeSt(j1, j2))
print(j1, j2)

92
mainscript.py

@ -1,43 +1,51 @@
import tkinter as tk
from tkinter.constants import *
def jouer():
carte_joueur.config(text="8♦")
carte_ordi.config(text="R♥")
fenetre = tk.Tk()
fenetre.title("Jeu de Bataille")
fenetre.geometry("600x400")
fenetre.configure(bg='#CC0887')
#creation d'un entrée pour inserer le nombre de cartes
tk.Button(fenetre, text="Créer", bg='white').pack(side=BOTTOM, anchor='sw')
value1 = tk.StringVar()
value1.set("Saisir le nombre de cartes")
entree1 = tk.Entry(fenetre, textvariable=value1, width=30)
entree1.pack(side=BOTTOM, anchor='sw')
tk.Button(fenetre, text="Jouer",command=jouer, bg='white').pack(side=TOP)
frame_table = tk.Frame(fenetre)
frame_table.pack(fill=BOTH, expand="yes")
#coté gauche celui du joueur
frame_joueur = tk.LabelFrame(frame_table, text="Joueur", padx=20, pady=20, bg="#08CC4C")
frame_joueur.pack(side= LEFT, fill="both",expand="yes")
frame_carte_joueur = tk.LabelFrame(frame_joueur, text = "Carte joueur", bg="#CC0887", relief="raised", bd=3)
frame_carte_joueur.pack(expand="yes")
carte_joueur = tk.Label(frame_carte_joueur, text="...",font=("Arial", 60), bg="#CC0887")
carte_joueur.pack(padx=30, pady=50)
# coté droit, celui de l'ordinateur
frame_ordi = tk.LabelFrame(frame_table, text="Ordinateur", padx=20, pady=20, bg="#08CC4C")
frame_ordi.pack(side = LEFT, fill="both", expand="yes")
frame_carte_ordi = tk.LabelFrame(frame_ordi, text = "Carte ordinateur", bg="#CC0887", relief="raised", bd=3)
frame_carte_ordi.pack(expand="yes")
carte_ordi = tk.Label(frame_carte_ordi, text="...",font=("Arial", 60), bg="#CC0887")
carte_ordi.pack(padx=30, pady=50)
fenetre.mainloop()
from tkinter.constants import *
from bataille import Jeux
def jouer(jeu):
carte_joueur.config(text=j1.tete())
carte_ordi.config(text=j2.tete())
class Fenetre(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.title("Jeu de Bataille")
self.geometry("600x400")
self.configure(bg='#EDFAF0')
self.__nb = StringVar()
#creation d'un entrée pour inserer le nombre de cartes
bouton1 = tk.Button(self, text="Créer",command=self.creer(), bg='white').pack(side=BOTTOM, anchor='sw', padx = 100, pady = 5)
entree = tk.Entry(self, textvariable=self.__nb, width=30)
entree.pack(side=BOTTOM, anchor='sw', padx = 5, pady = 5)
#bouton qui permet de lancer une partie
bouton2 = tk.Button(self, text="Jouer",command=jouer, bg='white').pack(side=TOP)
frame_table = tk.Frame(self)
frame_table.pack(fill=BOTH, expand="yes")
#coté gauche celui du joueur
frame_joueur = tk.LabelFrame(frame_table, text="Joueur", padx=20, pady=20, bg="#18B500")
frame_joueur.pack(side= LEFT, fill="both",expand="yes")
frame_carte_joueur = tk.LabelFrame(frame_joueur, text = "Carte joueur", bg="#EDFAF0", relief="raised", bd=3)
frame_carte_joueur.pack(expand="yes")
carte_joueur = tk.Label(frame_carte_joueur, text="...",font=("Arial", 60), bg="#EDFAF0")
carte_joueur.pack(padx=30, pady=50)
# coté droit, celui de l'ordinateur
frame_ordi = tk.LabelFrame(frame_table, text="Ordinateur", padx=20, pady=20, bg="#18B500")
frame_ordi.pack(side = LEFT, fill="both", expand="yes")
frame_carte_ordi = tk.LabelFrame(frame_ordi, text = "Carte ordinateur", bg="#EDFAF0", relief="raised", bd=3)
frame_carte_ordi.pack(expand="yes")
carte_ordi = tk.Label(frame_carte_ordi, text="...",font=("Arial", 60), bg="#EDFAF0")
carte_ordi.pack(padx=30, pady=50)
def creer(self):
nb = int(value.get())
jeu = Jeux(nb)
j1, j2 = jeu.distribue()
print(j1, j2)
window = Fenetre()
window.mainloop()
Loading…
Cancel
Save