@ -6,11 +6,9 @@ import random
class Carte :
class Carte :
def __init__ ( self , couleur , valeur , img_path ) :
def __init__ ( self , couleur , valeur ) :
self . valeur = valeur
self . valeur = valeur
self . couleur = couleur
self . couleur = couleur
image = Image . open ( img_path )
self . image = ImageTk . PhotoImage ( ( image ) )
def compare ( self , other ) :
def compare ( self , other ) :
if self . valeur > other . valeur :
if self . valeur > other . valeur :
@ -20,6 +18,8 @@ class Carte:
return 0
return 0
def __str__ ( self ) - > str :
def __str__ ( self ) - > str :
if self . valeur > 10 :
return str ( [ ' Valet ' , ' Dame ' , ' Roi ' , ' As ' ] [ self . valeur - 10 ] ) + ' de ' + self . couleur
return str ( self . valeur ) + ' de ' + self . couleur
return str ( self . valeur ) + ' de ' + self . couleur
@ -39,7 +39,9 @@ class Jeux:
c . execute ( ' SELECT * FROM Carte ' )
c . execute ( ' SELECT * FROM Carte ' )
data = c . fetchall ( )
data = c . fetchall ( )
for i , carte in enumerate ( data ) :
for i , carte in enumerate ( data ) :
self . paquet . append ( Carte ( data [ i ] [ 0 ] , data [ i ] [ 1 ] , data [ i ] [ 3 ] ) )
self . paquet . append ( Carte ( data [ i ] [ 0 ] , data [ i ] [ 1 ] ) )
self . jeu ( )
def distribute ( self ) - > File_chaine :
def distribute ( self ) - > File_chaine :
@ -61,16 +63,19 @@ class Jeux:
if self . j1 . est_vide ( ) :
if self . j1 . est_vide ( ) :
# self.j1 a perdu donc self.j2 gagne toutes les cartes
# self.j1 a perdu donc self.j2 gagne toutes les cartes
print ( self . j1 , self . j2 )
print ( " Désolée l ' ordinateur à gagné " )
else :
else :
print ( self . j1 , self . j2 )
print ( " Bravo vous avez gagné " )
def bataille ( self , buffer_draw = [ File_chaine ( ) , File_chaine ( ) ] ) :
def bataille ( self , buffer_draw = [ File_chaine ( ) , File_chaine ( ) ] ) :
# print('buffer', buffer_draw[0], buffer_draw[1], sep='\n')
print ( ' Vous: {} Il vous reste {} cartes ' . format ( self . j1 . tete ( ) , self . j1 . taille ( ) ) , " L ' ordinateur: {} Il reste {} cartes à l ' ordinateur " . format ( self . j2 . tete ( ) , self . j2 . taille ( ) ) , sep = ' \n ' )
input ( )
j1_active_carte , j2_active_carte = self . j1 . tete ( ) , self . j2 . tete ( )
j1_active_carte , j2_active_carte = self . j1 . tete ( ) , self . j2 . tete ( )
if j1_active_carte . compare ( j2_active_carte ) == 0 :
if j1_active_carte . compare ( j2_active_carte ) == 0 :
try :
try :
print ( )
print ( " Egalitée !! " )
print ( )
# envers
# envers
buffer_draw [ 0 ] . enfiler ( self . j1 . defiler ( ) ) # carte du dessus
buffer_draw [ 0 ] . enfiler ( self . j1 . defiler ( ) ) # carte du dessus
buffer_draw [ 0 ] . enfiler ( self . j1 . defiler ( ) ) # carte a l'envers
buffer_draw [ 0 ] . enfiler ( self . j1 . defiler ( ) ) # carte a l'envers
@ -83,33 +88,23 @@ class Jeux:
pass
pass
elif j1_active_carte . compare ( j2_active_carte ) == 1 :
elif j1_active_carte . compare ( j2_active_carte ) == 1 :
print ( )
print ( " Vous gagnez la carte " )
print ( )
while not buffer_draw [ 0 ] . est_vide ( ) :
while not buffer_draw [ 0 ] . est_vide ( ) :
self . j1 . enfiler ( buffer_draw [ 0 ] . defiler ( ) )
self . j1 . enfiler ( buffer_draw [ 0 ] . defiler ( ) )
self . j1 . enfiler ( buffer_draw [ 1 ] . defiler ( ) )
self . j1 . enfiler ( buffer_draw [ 1 ] . defiler ( ) )
self . j1 . enfiler ( self . j2 . defiler ( ) )
self . j1 . enfiler ( self . j2 . defiler ( ) )
self . j1 . enfiler ( self . j1 . defiler ( ) )
elif j1_active_carte . compare ( j2_active_carte ) == - 1 : #self.j1.tete().compare(self.j2.tete()) == -1 :
elif j1_active_carte . compare ( j2_active_carte ) == - 1 : #self.j1.tete().compare(self.j2.tete()) == -1 :
print ( )
print ( " Lordinateur gagne la carte " )
print ( )
while not buffer_draw [ 0 ] . est_vide ( ) :
while not buffer_draw [ 0 ] . est_vide ( ) :
self . j2 . enfiler ( buffer_draw [ 0 ] . defiler ( ) )
self . j2 . enfiler ( buffer_draw [ 0 ] . defiler ( ) )
self . j2 . enfiler ( buffer_draw [ 1 ] . defiler ( ) )
self . j2 . enfiler ( buffer_draw [ 1 ] . defiler ( ) )
self . j2 . enfiler ( self . j1 . defiler ( ) )
self . j2 . enfiler ( self . j1 . defiler ( ) )
self . j2 . enfiler ( self . j2 . defiler ( ) )
jeu = Jeux ( int ( input ( " Choississez 32 ou 52 cartes: " ) ) )
class App :
def __init__ ( self ) - > None :
self . win = tk . Tk ( )
self . jeu = Jeux ( 32 )
self . jeu . jeu ( )
self . images = [ ]
# self.display_card(self.jeu.paquet[12])
self . win . mainloop ( )
def display_card ( self , carte : Carte ) - > None :
self . images . append ( tk . Label ( image = carte . image ) )
self . images [ - 1 ] . pack ( )
gui = App ( )