From 30ed2d2b6486dd0e009ebdd0e1e02dd9b100f2c4 Mon Sep 17 00:00:00 2001
From: Guey Garance <garance.guey@student-cs.fr>
Date: Thu, 15 Nov 2018 10:53:04 +0100
Subject: [PATCH] upadate graphic

---
 .idea/inspectionProfiles/Project_Default.xml  |   2 +
 game2048/2048_graphical.py                    |  58 ++++++++++++++
 game2048/__pycache__/__init__.cpython-36.pyc  | Bin 0 -> 141 bytes
 game2048/__pycache__/grid_2048.cpython-36.pyc | Bin 5275 -> 5703 bytes
 .../__pycache__/textual_2048.cpython-36.pyc   | Bin 1533 -> 1534 bytes
 game2048/grid_2048.py                         |   5 +-
 game2048/run_2048.py                          |   1 +
 game2048/tuto_GUI.py                          |  74 ++++++++++++++++++
 8 files changed, 136 insertions(+), 4 deletions(-)
 create mode 100644 game2048/__pycache__/__init__.cpython-36.pyc

diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 1cc4cad..7518cc8 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -10,6 +10,8 @@
           <option value="E501" />
           <option value="W29" />
           <option value="E501" />
+          <option value="W29" />
+          <option value="E501" />
         </list>
       </option>
     </inspection_tool>
diff --git a/game2048/2048_graphical.py b/game2048/2048_graphical.py
index e69de29..3058cc3 100644
--- a/game2048/2048_graphical.py
+++ b/game2048/2048_graphical.py
@@ -0,0 +1,58 @@
+from tkinter import *
+from game2048.grid_2048 import *
+
+# DICTIONNAIRE
+TILES_BG_COLOR = {0: "#9e948a", 2: "#eee4da", 4: "#ede0c8", 8: "#f1b078", \
+                  16: "#eb8c52", 32: "#f67c5f", 64: "#f65e3b", \
+                  128: "#edcf72", 256: "#edcc61", 512: "#edc850", \
+                  1024: "#edc53f", 2048: "#edc22e", 4096: "#5eda92", \
+                  8192: "#24ba63"}
+
+TILES_FG_COLOR = {0: "#776e65", 2: "#776e65", 4: "#776e65", 8: "#f9f6f2", \
+                  16: "#f9f6f2", 32: "#f9f6f2", 64: "#f9f6f2", 128: "#f9f6f2", \
+                  256: "#f9f6f2", 512: "#f9f6f2", 1024: "#f9f6f2", \
+                  2048: "#f9f6f2", 4096: "#f9f6f2", 8192: "#f9f6f2"}
+
+TILES_FONT = {"Verdana", 40, "bold"}
+#FIN DICTIONNAIRE
+
+#FONCTIONS
+
+def graphical_inti():
+    game_2048=Tk()
+    fenetre=Toplevel()
+    fenetre.title("2048")
+    game_2048.title("2048")
+    game_2048["bg"]="pink"
+    return(game_2048)
+#attention il faut toujours faire game_2048.mainloop() à la fin du programme
+
+
+
+
+
+def create_empty_grid():
+    list_tuile=[]
+    for ligne in range (4):
+        list_tuile.append([])
+        for colonne in range (4):
+            list_tuile[ligne].append(Frame(game_2048,borderwidth=2, relief="solid",height = 100, width = 100,bg=TILES_BG_COLOR[0]))
+            list_tuile[ligne][colonne].grid(row=ligne,column=colonne)
+    return(list_tuile)
+
+#ATTENTION lors de la création d'un frame, sa hauteur et sa largeur vaut 0 de base : modifier directement lors de la création par height= et width=
+
+#FIN FONCTION
+
+
+#EXECUTION
+
+game_2048=graphical_inti()
+grid_game=init_game()
+grid_size=4
+background=Frame(game_2048)
+graphical_grid=[]
+
+graphical_grid=create_empty_grid()
+
+game_2048.mainloop()
diff --git a/game2048/__pycache__/__init__.cpython-36.pyc b/game2048/__pycache__/__init__.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..065a20323e853b10333fdd127742f9b62611e672
GIT binary patch
literal 141
zcmXr!<>iWf`zo4&fq~&Mh=5^61_lNP1_p*=76t}}6oz01O-8?!3`HPe1o6wt*(xTq
zIJKxa#yznpF)ukaCZIAoBe5tqpeR2pHMyiX#>l|LA|^dCHx<l?kI&4@EQycTE2zB1
SVUwGmQks)$2Qsr5WG?_1bRs|i

literal 0
HcmV?d00001

diff --git a/game2048/__pycache__/grid_2048.cpython-36.pyc b/game2048/__pycache__/grid_2048.cpython-36.pyc
index b4ec16f7a48441ea6719758968776a24b0e1f56d..ae72e820e766b62ac22f66b77ac41ebd7dc2c787 100644
GIT binary patch
delta 2298
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
DC6Lko

delta 1826
zcmX@EGh0*Hn3tC;RsK!%0ci$?#|%h7h=GB@fq{XcSZkv4hI-2ss}_bRt`zGOn-+#B
z?iAY;yB3Bho)r5OhZcq?-jwhZ#}ua)#wflN=M<L~hA93N*A%xFhA4p)_Y{v7hA6=l
z&lIl~hA5#F?-ZXFhA80_-xR+VhA5E~|CE3hhA7dLz?7gChA6R=;FORShA8or(3G$i
zhA4>?#$X1`h{-XGQmj!-hGtQds~Ke&qc+cAv}F`kVPIhRW#w!Y6Iz^FR2&nMk)NAb
zJoz<~7o*x_GiG}Yb_NE9A`S)y22G}0OhqZT*pf5yGm}$`K>Cmf)yZ?2l^HcBA7svD
zRGh5OBF~LbpgK8{MT=2)atq58NiC2`%(s|xQuB%wKt?Nq1lWqSCmXV=3oA1)Fx+Cy
zLNPa+)q>G*@)A~4HA9ekbr7Ke(!^Ax4Pxtq2xQCtvnn$hO;%=eR0mmB#0ZnuWCm-v
z#aMBRu@c3KZZ>5`)5+`E9Mz0KiZwx|LlhSog9J=K1hN%k>}rf=lh?CJPL5{RGY18c
zCUcP*NEO&mW)K6EKms5)Mseh&mdBT5<{$@~>f{6L3XJBHAF^NK1Ud8<qiqrU<UJhv
ziXby?v8Ck~<tCOC>4D5*hq#=zBqKF9wMc0)52p@F_&ResGdfIe=PZ#1D`&dJq-Su8
zu}qV($QI-Vu+vp1i*b1y>w=7fh8$cDrcM>4*qVWXAsm!unLr7dvB-MzL1xLxYq|VQ
zKxQLF8p|!_qWtnAkS}ksgFFc0fnpFPYz??o7~Lm_axWIQ0+|j9D{z!(GK0NVq%fJE
zM^wcXBnQ?DGOow~#09$=On}|xG1-Ghp3!4+22YT-J4oIGM1b6+$y@~157z1i5(Vo5
z6RMM+@+dKSPUhgX)c`r*<^TWx{}*|ILV>Z!6GDMCgH?kG)ycWM@{Hb_dwHc8>p|ut
z{0!Dn<PA!td?iJRdBp|!#i{Y>MVTp@9FQntOo?JENzBa2Nrgl@NUq2Z<R*|UQEVW7
zd`T1+D7+wS<j?{c%$b{C1~IdWfnl;5zcFLr<S71fG?!?yMX}~&7MG-g!#|1_>Y8|n
zm^}jnLlkdLW_n&~JX8ka2(Smi1UO9n85kI5g5p{L6xYlgj4X_NU@XSS$5aH8O$KEj
zkmTf8A#vq&hHR!_22DmkO~xWnZq#H1`x@B`le+|D8G|OT5b%!l0eRaOMEHR`#*&g>
zo~OxDgeqJV42lG%B2YO{6bNENa$Xc?L4I*@W>QXSaZv!s46v)ggz97;K^4Z3$%TRz
zRzV=C5Rf)Zr+_Tw$t;dfPs~k?&o4_Y+6?k4I9W3lg-$LMl$`uWP)x=JWCS>0U>Y%5
zPe_R|Y;vHGiFg=xOD4||l3@&=yi=&o2<$OXA}a!W8l2QYK7Yv!vH|K(kXyl?1r<k=
zGliv5GIGDLd3_|rB2d6<N=C62CFZ5%=N5s=y<2P{9<IKw!H}W`R7@3t+zpP3B5=`V
z3bF}Q{1lmkSfIM62$Z3V5IF{v=)p-C9NOSWE`o<*Q7D5q149wWuSK9jpa|p`r09i&
tKPX^1Y;yBcN^?@}K<+FCWfKmj92O1^4i*kh4gn5U4mJ)pj>%eL(g4p7Y!d(g

diff --git a/game2048/__pycache__/textual_2048.cpython-36.pyc b/game2048/__pycache__/textual_2048.cpython-36.pyc
index 4fcab3570c43c02c800419b57b77edf6e961e609..609e8a662e6c72cce4a0e3db853329556a351a51 100644
GIT binary patch
delta 38
tcmey%{g0c?n3tDJM13P0AG4sHvsFxJacWU<jC*2HVqS9UW)<d}OaRWQ3vK`a

delta 37
scmeyz{g<1~n3tE!PH7_>AG3h1vsFxJacWU<Oh`t4ZesCfRpy&a0LTIhO#lD@

diff --git a/game2048/grid_2048.py b/game2048/grid_2048.py
index fc2b8a3..1e23678 100644
--- a/game2048/grid_2048.py
+++ b/game2048/grid_2048.py
@@ -58,7 +58,7 @@ def grid_add_new_tile(grid):
     #attention, la fonction modifie la liste passée en argument !
     return grid
 
-def init_game(n):
+def init_game(n=4):
     grid = create_grid(n)
     for new_tile in range(2):
         grid = grid_add_new_tile(grid)
@@ -204,7 +204,6 @@ def list_move_possible (grid):
     return(list_final)
 
 
-<<<<<<< HEAD
 def random_play():
     #on suppose que le jeu par defaut comprend une grille de 4x4
 
@@ -230,5 +229,3 @@ def random_play():
     return()
 
 #TEST random_play()
-=======
->>>>>>> 15883ac11a1d5e067e173c9ddba3c0e80ca1d0df
diff --git a/game2048/run_2048.py b/game2048/run_2048.py
index 53d5f14..81f7aaa 100644
--- a/game2048/run_2048.py
+++ b/game2048/run_2048.py
@@ -53,3 +53,4 @@ def game_play():
         print ("YOU FAIL, TRY AGAIN")
     return
 
+game_play()
diff --git a/game2048/tuto_GUI.py b/game2048/tuto_GUI.py
index e69de29..9eb9afa 100644
--- a/game2048/tuto_GUI.py
+++ b/game2048/tuto_GUI.py
@@ -0,0 +1,74 @@
+from tkinter import *
+
+"""window=Tk()
+label_field = Label(window,text="Hello World !")
+label_field.pack(fill=BOTH)
+window.mainloop()"""
+
+#disposition :
+# dans .pack
+#placement cardinal : side =(Tkinter.TOP, Tkinter.LEFT, Tkinter.RIGHT, Tkinter.BOTTOM
+# grosseur de la fenetre : fill= X,Y,BOTH
+
+#acction
+#les boutons :
+#Les boutons (Button) sont des widgets sur lesquels on peut cliquer et qui peuvent déclencher des actions ou commandes.
+
+"""def write_text():
+    print("Hello CentraleSupelec")
+
+root = Tk()
+frame =Frame(root)
+frame.pack()
+
+button = Button(frame,
+                   text="QUIT",
+                   activebackground = "blue",
+                   fg="red",
+                   command=quit)
+button.pack(side=LEFT)
+slogan = Button(frame,
+                   fg="blue",
+                   text="Hello",
+                   command=write_text)
+slogan.pack(side=LEFT)
+
+root.mainloop()"""
+
+"""from tkinter import Tk, StringVar, Label, Entry, Button
+from functools import partial
+
+def update_label(label, stringvar):
+    
+    #Met à jour le texte d'un label en utilisant une StringVar.
+    
+    text = stringvar.get()
+    label.config(text=text)
+    stringvar.set('merci')
+
+root = Tk()
+text = StringVar(root)
+label = Label(root, text='Your name')
+entry_name = Entry(root, textvariable=text)
+button = Button(root, text='clic',
+                command=partial(update_label, label, text))
+
+label.grid(column=0, row=0)
+entry_name.grid(column=0, row=1)
+button.grid(column=0, row=2)
+
+root.mainloop()"""
+
+
+"""from tkinter import Tk, Label, Frame
+
+root = Tk()
+f1 = Frame(root, bd=1, relief='solid')
+Label(f1, text='je suis dans F1').grid(row=0, column=0)
+Label(f1, text='moi aussi dans F1').grid(row=0, column=1)
+
+f1.grid(row=0, column=0)
+Label(root, text='je suis dans root').grid(row=1, column=0)
+Label(root, text='moi aussi dans root').grid(row=2, column=0)
+
+root.mainloop()"""
-- 
GitLab