Browse Source

Transférer les fichiers vers ''

Saluuuuuut les QuOiCoUbÉbOuS
master
DELPUI Loïc 9 months ago
parent
commit
0bc8dd2cf9
  1. 44
      projet bataille.py

44
projet bataille.py

@ -9,7 +9,7 @@ class Carte:
self.valeur = valeur
self.couleur = couleur
def compare(self, other):
#Les valeurs revoyées ne respectent pas les consignes pour des raisons d'optimisation et d'allègement du programme
#Les valeurs revoyées ne respectent pas les consignes pour des raisons d'optimisation et d'allègement du programme (ils sont directement utilisées en tant qu'indice des listes)
if self.valeur > other.valeur:
return 1
elif self.valeur < other.valeur:
@ -86,13 +86,33 @@ def click(event):
for carte in cartes_tour:
players[winner].enfiler(carte)
afficher()
Per1 = ("Joueur 1", str(players[0].taille()),)
c.execute("INSERT INTO Cartes VALUES (?, ?)", Per1)
Per2 = ("Joueur 2", str(players[1].taille()),)
c.execute("INSERT INTO Cartes VALUES (?, ?)", Per2)
Per1 = ("Joueur 1", str(players[0].taille()), cartes_tour[-2].valeur,)
c.execute("INSERT INTO Cartes VALUES (?, ?, ?)", Per1)
Per2 = ("Joueur 2", str(players[1].taille()), cartes_tour[-1].valeur,)
c.execute("INSERT INTO Cartes VALUES (?, ?, ?)", Per2)
c.execute("SELECT * FROM Cartes")
conn.commit()
def info():
messagebox.showinfo("Achtung : Informations Importantes", """Salut les quoicoubébous,
Notre mission que nous n'avons pas accepté (mais que l'on nous a fait accomplir de force) est de réaliser un jeu de bataille en utilisant une structure de donnée adaptée, et avec une interface graphique. Nous avions pour cela 6 heures de NSI + les nuits + les week-end + les divers activités quoicoubizarres.
Nous avons fait le minimum requis, c'est à dire une classe Carte, plus une classe Jeux... Puis nous avons fait le maxinmum possible, c'est à dire une jolie interface graphique loiciste extrémiste...
Voici les règles du jeu le plus baisé de tous les temps :
Je cite :
'À chaque tour de jeu, chaque joueur joue la carte supérieure de son paquet. Le joueur ayant la carte de plus
grande valeur récupère les deux cartes et les remets sous son paquet.
En cas dégalité, chaque joueur ajoute une carte à lenvers, puis une autre carte à lendroit, et on compare à
nouveau les valeurs. En cas de nouvelle égalité, on réitère le processus. Le gagnant remporte lensemble des
cartes jouées.
Si un joueur ne peut plus jouer car il na plus de carte, il a perdu la partie.'
Concernant l'interface graphique, elle a été réalisée avec Tkinter, elle permet de faire un partie contre l'ordinateur... Comme ce n'est pas interdit, nous avons affiché les cartes à un format graphique, car nous sommes en Terminale NSI et nous ne sommes pas bêtes, la preuve : regardez ma beauté :)
Au cas s'il y a des quoicoubozos, D veut dire DIX (10, pas 509 (si vous avez compris ça, je vous donne 10 centimes)), J comme Jack, Q comme Queen, R comme Roi, et S comme aS...
Voici l'équipe :
Alexi, chef d'équipe, amateur de NSI, a fait le SQL
Loïc, loiciste extrémiste, amateur de NSI, a fait le mécanisme du jeu et l'interface graphique
Marvyn, a soutenu Loïc comme un malade, quel coeur de loiciste ! (à confirmer...)""")
couleurs = ["", "", "", ""]
numeros = ["2", "3", "4", "5", "6", "7", "8", "9", "D", "J", "Q", "R", "S"]
#D=Dix
@ -119,12 +139,13 @@ players = [File_chaine(), File_chaine()]
conn = sqlite3.connect("Bataille.db")
c = conn.cursor()
c.execute('''CREATE TABLE if not exists Cartes(Joueur VARCHAR(255), NombreCartes INT)''')
Per1 = ("Joueur 1", str(players[0].taille()),)
c.execute("INSERT INTO Cartes VALUES (?, ?)", Per1)
Per2 = ("Joueur 2", str(players[1].taille()),)
c.execute("INSERT INTO Cartes VALUES (?, ?)", Per2)
c.execute('''CREATE TABLE if not exists Cartes(Joueur VARCHAR(255), NombreCartes INT, CarteJouée TEXT)''')
Per1 = ("Joueur 1", str(players[0].taille()), None)
c.execute("INSERT INTO Cartes VALUES (?, ?, ?)", Per1)
Per2 = ("Joueur 2", str(players[1].taille()), None)
c.execute("INSERT INTO Cartes VALUES (?, ?, ?)", Per2)
c.execute("SELECT * FROM Cartes")
c.fetchall()
conn.commit()
jeu.distribue()
@ -142,6 +163,9 @@ player_cartecolor = [canvas.create_rectangle(200, 75, 300, 225, fill = "#fff"),
player_left = [canvas.create_text(100, 175, text = "Left : " + str(players[0].taille())), canvas.create_text(550, 175, text = "Left : " + str(players[1].taille()))]
player_carte = [canvas.create_text(250, 150, text = "", font = ("Courrier New", 30, "bold")), canvas.create_text(400, 150, text = "", font = ("Courrier New", 30, "bold"))]
info_button = Button(window, text = "Achtung ! Information importante", command = info)
info_button.place(x = 260, y = 370)
status = 1
canvas.bind("<Button 1>", click)

Loading…
Cancel
Save