Bonjour
J'essaye de coder un jeu de golf en 2D avec une vue de haut. Dans le code que je vais vous montrer j'essayais de réunir deux partie codées indépendamment.
Code final: regroupant, menu, apparition du fond de couleur après le menu, apparition de la balle
from tkinter import*
import random
import time
Largeur=1000
Hauteur=680
###Fenetre de jeu
def NouvellePartie():
fenetre = Tk()
fenetre.title('Hardcore Pong Of Doom Of Fate Of Death')
Fond = Canvas(fenetre, width = Largeur, height = Hauteur, bg ='black')
Fond.pack()
r=10
x = random.randint(r, Largeur)
y = random.randint(r, Hauteur)
balle = Fond.create_oval(x-10, y-10, x+10, y+10, fill='white')
Gpelouse= PhotoImage (file="Gpelouse.gif")
Fpelouse= PhotoImage (file="Fpelouse.gif")
Hpelouse= PhotoImage (file="Hpelouse.gif")
###Nouvelle Partie cette partie demande au programme d'ouvrir un fichier .txt, sur lequel se trouve une suite de caractères tels que "x", "o" ou "b". Pour chaque caractère il affiche une image.gif qui lui est destinée.
x,y=0,0
fichier = open("Tpelouse.txt")
for ligne in fichier:
for i in range(25):
case=ligne[i]
if case == 'x':
Fond.create_image(x,y,image=Gpelouse, anchor ="nw")
x=x+40
if case == 'o':
Fond.create_image(x,y,image=Fpelouse, anchor ="nw")
x=x+40
if case == 'b':
Fond.create_image(x,y,image=Hpelouse, anchor ="nw")
x=x+40
x=0
y=y+40
fichier.close()
fenetre.mainloop()
###Menu Principal Un menu classique composé d'un fond noir et de deux boutons Nouvelle Partie et Quitter
Menu = Tk()
Menu.title('Hardcore Pong Of Doom Of Fate Of Death')
Menu['bg'] = 'black'
Menu.geometry("1000x680")
Nouveau = Button(Menu, text = 'Nouvelle Partie ?', command = NouvellePartie)
Nouveau.pack()
Quitter = Button(Menu, text ='Quitter ?', command = Menu.destroy)
Quitter.pack()
Le menu est fonctionnel, les boutons aussi. Lorsqu'on lance une partie on obtient l'apparition de la balle mais sur un fond noir au lieu du fond créer à partir des .gif.
J'ai un message d'erreur qui s'afficher après avoir cliquer sur "Nouvelle Partie":
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.3/idlelib/run.py", line 109, in main
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
File "/usr/lib/python3.3/queue.py", line 175, in get
raise Empty
queue.Empty
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.3/tkinter/__init__.py", line 1478, in __call__
return self.func(*args)
File "/home/isn/Bureau/Projet ISN/Projet Python/Graphisme/Projet_regroupement.py", line 37, in NouvellePartie
Fond.create_image(x,y,image=Hpelouse, anchor ="nw")
File "/usr/lib/python3.3/tkinter/__init__.py", line 2322, in create_image
return self._create('image', args, kw)
File "/usr/lib/python3.3/tkinter/__init__.py", line 2313, in _create
*(args + self._options(cnf, kw))))
_tkinter.TclError: image "pyimage3" doesn't exist
Voilà tout, j'espère avoir été assez précis pour que vous puissiez m'aider. Merci !
Partager