Projet ISN : MEMORY
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

Code version graphique

Aller en bas

Code version graphique Empty Code version graphique

Message par Alexandre CORNIER Mar 20 Jan - 15:59

import random
from random import randrange
import tkinter as tk
from tkinter import *

# Parametres

var = ["A","B","C","D","E","F","G","H","I","J"]
var1 = 2*var
score1 = 0
coup = 0
pc = 0
j1 = "Joueur 1"
j2 = "Joueur 2"
joueur = j1
ta1 = 55
ta2 = 56

#
##
### Tableau (algo)
##
#


#Programme pour mélanger les éléments d'une liste

def echange(tab, i1, i2): #permet d'échanger les éléments d'indices i1 et i2 de la liste
x = tab[i1] #exemple: liste = [1, 2, 3, 4]
tab[i1] = tab[i2] #echange(liste, 1, 2)
tab[i2] = x #print(liste)---> [1, 3, 2, 4]

def melange(tab, n): #permet d'effectuer n echanges aléatoires de deux éléments de la liste
for i in range(n):
echange(tab, randrange(len(tab)), randrange(len(tab)))

# melange des variables
melange(var1, 20)


tab = [[var1[0],var1[1],var1[2],var1[3]],[var1[4],var1[5],var1[6],var1[7]],[var1[8],var1[9],var1[10],var1[11]],[var1[12],var1[13],var1[14],var1[15]],[var1[16],var1[17],var1[18],var1[19]]]

let = tab #Juste pour la presantation graphique

#print (tab[0])
#print (tab[1])
#print (tab[2])
#print (tab[3])
#print (tab[4])


#
##
### INTERFACE GRAPHIQUE
##
#

print("chargement en cours...")

#############################################################################################
# Création de la fenêtre #
#
fen = tk.Tk() #
fen.title("MEMORY") #
tit = tk.Label(fen, text="Par L.Dal Moro, A.Esteves et A.Cornier ------ v2.2") #
tit.pack(side=tk.TOP) #
can = tk.Canvas(fen) #
can.configure(width=500, height=500, bg='#FFFF80') #
can.pack(side=tk.TOP) #
#
#creation du tableau #
#
can.create_rectangle(50,50,350,450) #
#
#ligne horizontales #
can.create_line(125,50,125,450) #
can.create_line(200,50,200,450) #
can.create_line(275,50,275,450) #
#
#lignes verticales #
can.create_line(50,130,350,130) #
can.create_line(50,210,350,210) #
can.create_line(50,290,350,290) #
can.create_line(50,370,350,370) #
#
# presentantion textes #
can.create_text(420, 50, text="SCORE 1 :", font=("Alien Encounters", 15), fill="#FF0000") #
sco1 = can.create_text(490, 50, text=score1, font=("Alien Encounters", 15), fill="#FF0000") #
can.create_text(420, 70, text="COUPS :", font=("Alien Encounters", 15), fill="#0000FF") #
coupt = can.create_text(490, 70, text=coup, font=("Alien Encounters", 15), fill="#0000FF") #
#
can.create_text(420, 400, text="Best score", font=("Alien Encounters", 20), fill="#FF0080") #
can.create_text(420, 440, text="52", font=("Alien Encounters", 20), fill="#FF0080") # #
#
#
#############################################################################################

#
##
### Tableau (Interface graphique)
##
#

# Entrée des lettres dans le tableau

can.create_text(75, 90, text=let[0][0], font=("Alien Encounters", 20), fill="#000000")
can.create_text(160, 90, text=let[0][1], font=("Alien Encounters", 20), fill="#000000")
can.create_text(240, 90, text=let[0][2], font=("Alien Encounters", 20), fill="#000000")
can.create_text(310, 90, text=let[0][3], font=("Alien Encounters", 20), fill="#000000")

can.create_text(75, 165, text=let[1][0], font=("Alien Encounters", 20), fill="#000000")
can.create_text(160, 165, text=let[1][1], font=("Alien Encounters", 20), fill="#000000")
can.create_text(240, 165, text=let[1][2], font=("Alien Encounters", 20), fill="#000000")
can.create_text(310, 165, text=let[1][3], font=("Alien Encounters", 20), fill="#000000")

can.create_text(75, 250, text=let[2][0], font=("Alien Encounters", 20), fill="#000000")
can.create_text(160, 250, text=let[2][1], font=("Alien Encounters", 20), fill="#000000")
can.create_text(240, 250, text=let[2][2], font=("Alien Encounters", 20), fill="#000000")
can.create_text(310, 250, text=let[2][3], font=("Alien Encounters", 20), fill="#000000")

can.create_text(75, 340, text=let[3][0], font=("Alien Encounters", 20), fill="#000000")
can.create_text(160, 340, text=let[3][1], font=("Alien Encounters", 20), fill="#000000")
can.create_text(240, 340, text=let[3][2], font=("Alien Encounters", 20), fill="#000000")
can.create_text(310, 340, text=let[3][3], font=("Alien Encounters", 20), fill="#000000")

can.create_text(75, 410, text=let[4][0], font=("Alien Encounters", 20), fill="#000000")
can.create_text(160, 410, text=let[4][1], font=("Alien Encounters", 20), fill="#000000")
can.create_text(240, 410, text=let[4][2], font=("Alien Encounters", 20), fill="#000000")
can.create_text(310, 410, text=let[4][3], font=("Alien Encounters", 20), fill="#000000")

#Variable à modifier pour la transparance des cartes



bx=125
cx=200
dx=275
ex=350

b1x=125
c1x=200
d1x=275
e1x=350

b2x=125
c2x=200
d2x=275
e2x=350

b3x=125
c3x=200
d3x=275
e3x=350

b4x=125
c4x=200
d4x=275
e4x=350

# coordonnée des faces cachée des cartes

carte1= 50,50,bx,130
carte2=125,50,cx,130
carte3=200,50,dx,130
carte4=275,50,ex,130

carte5=50,130,b1x,210
carte6=125,130,c1x,210
carte7=200,130,d1x,210
carte8=275,130,e1x,210

carte9=50,210,b2x,290
carte10=125,210,c2x,290
carte11=200,210,d2x,290
carte12=275,210,e2x,290

carte13=50,290,b3x,370
carte14=125,290,c3x,370
carte15=200,290,d3x,370
carte16=275,290,e3x,370

carte17=50,370,b4x,450
carte18=125,370,c4x,450
carte19=200,370,d4x,450
carte20=275,370,e4x,450

#Face cachée des cartes

carte_1 = can.create_rectangle(carte1, fill="#0080FF")
carte_2 = can.create_rectangle(carte2, fill="#0080FF")
carte_3 = can.create_rectangle(carte3, fill="#0080FF")
carte_4 = can.create_rectangle(carte4, fill="#0080FF")

carte_5 = can.create_rectangle(carte5, fill="#0080FF")
carte_6 = can.create_rectangle(carte6, fill="#0080FF")
carte_7 = can.create_rectangle(carte7, fill="#0080FF")
carte_8 = can.create_rectangle(carte8, fill="#0080FF")

carte_9 = can.create_rectangle(carte9, fill="#0080FF")
carte_10 = can.create_rectangle(carte10, fill="#0080FF")
carte_11 = can.create_rectangle(carte11, fill="#0080FF")
carte_12 = can.create_rectangle(carte12, fill="#0080FF")

carte_13 = can.create_rectangle(carte13, fill="#0080FF")
carte_14 = can.create_rectangle(carte14, fill="#0080FF")
carte_15 = can.create_rectangle(carte15, fill="#0080FF")
carte_16 = can.create_rectangle(carte16, fill="#0080FF")

carte_17 = can.create_rectangle(carte17, fill="#0080FF")
carte_18 = can.create_rectangle(carte18, fill="#0080FF")
carte_19 = can.create_rectangle(carte19, fill="#0080FF")
carte_20 = can.create_rectangle(carte20, fill="#0080FF")

# Coordonnée ligne/colonne



#
##
### Reponse
##
#

# Choix de la premiere carte

i=2

def choix():

global pc, i, ta1
if pc == 1:
can.delete(carte_1)
ta1 = tab[0][0]
pc = 0
i=1
if pc == 2:
can.delete(carte_2)
ta1 = tab[0][1]
pc = 0
i=1
if pc == 3:
can.delete(carte_3)
ta1 = tab[0][2]
pc = 0
i=1
if pc == 4:
can.delete(carte_4)
ta1 = tab[0][3]
pc = 0
i=1
if pc == 5:
can.delete(carte_5)
ta1 = tab[1][0]
pc = 0
i=1
if pc == 6:
can.delete(carte_6)
ta1 = tab[1][1]
pc = 0
i=1
if pc == 7:
can.delete(carte_7)
ta1 = tab[1][2]
pc = 0
i=1
if pc == 8:
can.delete(carte_Cool
ta1 = tab[1][3]
pc = 0
i=1
if pc == 9:
can.delete(carte_9)
ta1 = tab[2][0]
pc = 0
i=1
if pc == 10:
can.delete(carte_10)
ta1 = tab[2][1]
pc = 0
i=1
if pc == 11:
can.delete(carte_11)
ta1 = tab[2][2]
pc = 0
i=1
if pc == 12:
can.delete(carte_12)
ta1 = tab[2][3]
pc = 0
i=1
if pc == 13:
can.delete(carte_13)
ta1 = tab[3][0]
pc = 0
i=1
if pc == 14:
can.delete(carte_14)
ta1 = tab[3][1]
pc = 0
i=1
if pc == 15:
can.delete(carte_15)
ta1 = tab[3][2]
pc = 0
i=1
if pc == 16:
can.delete(carte_16)
ta1 = tab[3][3]
pc = 0
i=1
if pc == 17:
can.delete(carte_17)
ta1 = tab[4][0]
pc = 0
i=1
if pc == 18:
can.delete(carte_18)
ta1 = tab[4][1]
pc = 0
i=1
if pc == 19:
can.delete(carte_19)
ta1 = tab[4][2]
pc = 0
i=1
if pc == 20:
can.delete(carte_20)
ta1 = tab[4][3]
pc = 0
i=1


def choix2():

global pc, i, ta2
if pc == 1:
can.delete(carte_1)
ta2 = tab[0][0]
pc = 0
i=2

if pc == 2:

can.delete(carte_2)
ta2 = tab[0][1]
pc = 0
i=2
if pc == 3:
can.delete(carte_3)
ta2 = tab[0][2]
pc = 0
i=2
if pc == 4:
can.delete(carte_4)
ta2 = tab[0][3]
pc = 0
i=2
if pc == 5:
can.delete(carte_5)
ta2 = tab[1][0]
pc = 0
i=2
if pc == 6:
can.delete(carte_6)
ta2 = tab[1][1]
pc = 0
i=2
if pc == 7:
can.delete(carte_7)
ta2 = tab[1][2]
pc = 0
i=2
if pc == 8:
can.delete(carte_Cool
ta2 = tab[1][3]
pc = 0
i=2
if pc == 9:
can.delete(carte_9)
ta2 = tab[2][0]
pc = 0
i=2
if pc == 10:
can.delete(carte_10)
ta2 = tab[2][1]
pc = 0
i=2
if pc == 11:
can.delete(carte_11)
ta2 = tab[2][2]
pc = 0
i=2
if pc == 12:
can.delete(carte_12)
ta2 = tab[2][3]
pc = 0
i=2
if pc == 13:
can.delete(carte_13)
ta2 = tab[3][0]
pc = 0
i=2
if pc == 14:
can.delete(carte_14)
ta2 = tab[3][1]
pc = 0
i=2
if pc == 15:
can.delete(carte_15)
ta2 = tab[3][2]
pc = 0
i=2
if pc == 16:
can.delete(carte_16)
ta2 = tab[3][3]
pc = 0
i=2
if pc == 17:
can.delete(carte_17)
ta2 = tab[4][0]
pc = 0
i=2
if pc == 18:
can.delete(carte_18)
ta2 = tab[4][1]
pc = 0
i=2
if pc == 19:
can.delete(carte_19)
ta2 = tab[4][2]
pc = 0
i=2
if pc == 20:
can.delete(carte_20)
ta2 = tab[4][3]
pc = 0
i=2




def Clic1(event):
""" Gestion de l'événement Clic gauche """
global pc, bx, carte1, carte_1, ta1, i, coup

# position du pointeur de la souris
X = event.x
Y = event.y
print("Position du clic -> ",X,Y)



if 50<=X<=125 and 50<=Y<=130 : pc = 1

if 125<=X<=200 and 50<=Y<=130 : pc = 2

if 200<=X<=275 and 50<=Y<=130 : pc = 3

if 275<=X<=350 and 50<=Y<=130 : pc = 4


if 50<=X<=125 and 130<=Y<=210 : pc = 5

if 125<=X<=200 and 130<=Y<=210 : pc = 6

if 200<=X<=275 and 130<=Y<=210 : pc = 7

if 275<=X<=350 and 130<=Y<=210 : pc = 8


if 50<=X<=125 and 210<=Y<=290 : pc = 9

if 125<=X<=200 and 210<=Y<=290 : pc = 10

if 200<=X<=275 and 210<=Y<=290 : pc = 11

if 275<=X<=350 and 210<=Y<=290 : pc = 12


if 50<=X<=125 and 290<=Y<=370 : pc = 13

if 125<=X<=200 and 290<=Y<=370 : pc = 14

if 200<=X<=275 and 290<=Y<=370 : pc = 15

if 275<=X<=350 and 290<=Y<=370 : pc = 16


if 50<=X<=125 and 370<=Y<=450 : pc = 17

if 125<=X<=200 and 370<=Y<=450 : pc = 18

if 200<=X<=275 and 370<=Y<=450 : pc = 19

if 275<=X<=350 and 370<=Y<=450 : pc = 20
print("p carte =",pc)

while i ==2:
global ta1, ta2, score1, sco1, joueur, joue, coup, coupt

if ta1 == ta2:
print("good")
coup = coup+1
can.delete(coupt)
coupt = can.create_text(490, 70, text=coup, font=("Alien Encounters", 15), fill="#0000FF")
score1 = score1+1
can.delete(sco1)
sco1 = can.create_text(490, 50, text=score1, font=("Alien Encounters", 15), fill="#FF0000")
i=0
break

# perdu 1

if ta1 != ta2:

global carte_1, carte_2, carte_3, carte_4, carte_5, carte_6, carte_7, carte_8, carte_9, carte_10, carte_11, carte_12, carte_13, carte_14, carte_15, carte_16, carte_17, carte_18, carte_19, carte_20, coup, coupt
print("bad")
can.delete(carte_1)
can.delete(carte_2)
can.delete(carte_3)
can.delete(carte_4)
can.delete(carte_5)
can.delete(carte_6)
can.delete(carte_7)
can.delete(carte_Cool
can.delete(carte_9)
can.delete(carte_10)
can.delete(carte_11)
can.delete(carte_12)
can.delete(carte_13)
can.delete(carte_14)
can.delete(carte_15)
can.delete(carte_16)
can.delete(carte_17)
can.delete(carte_18)
can.delete(carte_19)
can.delete(carte_20)
carte_1 = can.create_rectangle(carte1, fill="#0080FF")
carte_2 = can.create_rectangle(carte2, fill="#0080FF")
carte_3 = can.create_rectangle(carte3, fill="#0080FF")
carte_4 = can.create_rectangle(carte4, fill="#0080FF")
carte_5 = can.create_rectangle(carte5, fill="#0080FF")
carte_6 = can.create_rectangle(carte6, fill="#0080FF")
carte_7 = can.create_rectangle(carte7, fill="#0080FF")
carte_8 = can.create_rectangle(carte8, fill="#0080FF")
carte_9 = can.create_rectangle(carte9, fill="#0080FF")
carte_10 = can.create_rectangle(carte10, fill="#0080FF")
carte_11 = can.create_rectangle(carte11, fill="#0080FF")
carte_12 = can.create_rectangle(carte12, fill="#0080FF")
carte_13 = can.create_rectangle(carte13, fill="#0080FF")
carte_14 = can.create_rectangle(carte14, fill="#0080FF")
carte_15 = can.create_rectangle(carte15, fill="#0080FF")
carte_16 = can.create_rectangle(carte16, fill="#0080FF")
carte_17 = can.create_rectangle(carte17, fill="#0080FF")
carte_18 = can.create_rectangle(carte18, fill="#0080FF")
carte_19 = can.create_rectangle(carte19, fill="#0080FF")
carte_20 = can.create_rectangle(carte20, fill="#0080FF")
coup = coup+1
can.delete(coupt)
coupt = can.create_text(490, 70, text=coup, font=("Alien Encounters", 15), fill="#0000FF")
score1 =0
can.delete(sco1)
sco1 = can.create_text(490, 50, text=score1, font=("Alien Encounters", 15), fill="#FF0000")
i=0
break

while i ==0:
choix()
break


while i== 1:
choix2()
break

# gagné 1



if score1 == 10:
can.create_text(430, 200, text="GAGNE", font=("Alien Encounters", 15), fill="#FF0000")
can.create_text(430, 220, text="Avec seulement", font=("Alien Encounters", 15), fill="#FF0000")
can.create_text(390, 300, text=coup, font=("Alien Encounters", 30), fill="#FF0000")
can.create_text(460, 300, text="Coups", font=("Alien Encounters", 20), fill="#FF0000")




can.bind('<Button-1>',Clic1) # évévement clic gauche (press)


fen.mainloop()
Alexandre CORNIER
Alexandre CORNIER
Master en communication
Master en communication

Messages : 38
Date d'inscription : 29/01/2014

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum