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