Partage
  • Partager sur Facebook
  • Partager sur Twitter

[TKINTER]Bouton pour recommencer

31 juillet 2015 à 21:54:24

J'essaye de coder un jeu avec une balle et une raquette, je l'ai presque fini, mais j'aimerai rajouter un bouton recommencer mais je n'ai aucune idée de comment faire, quelqu'un est prêt à se dévouer ? Pour plus d'éclaircissement le code :

-
Edité par Payrim 1 août 2015 à 18:21:20

  • Partager sur Facebook
  • Partager sur Twitter
1 août 2015 à 18:22:02

J'ai rajouter une fonctionnalité permettant d'afficher le score :

from tkinter import *
import random
import time

class Balle:
    def __init__(self,canvas,raquette,couleur):
        self.canvas = canvas
        self.raquette = raquette
        self.id = canvas.create_oval(10,10,25,25,fill = couleur)
        self.canvas.move(self.id,245,100)
        departs = [-3,-2,-1,1,2,3]
        random.shuffle(departs)
        self.x = departs[0]
        self.y = -3
        self.hauteur_canvas = 400
        self.largeur_canvas = 500
        self.touche_bas = False
        self.point = 0
    def heurter_raquette(self, pos):
        pos_raquette = self.canvas.coords(self.raquette.id)
        if pos[2] >= pos_raquette[0] and pos[0] <= pos_raquette[2]:
            if pos[3] >= pos_raquette[1] and pos[3]<= pos_raquette[3]:
                return True
        return False
    def dessiner(self):
        self.canvas.move(self.id,self.x,self.y)
        pos = self.canvas.coords(self.id)
        if pos[1]<=0:
            self.y =3  
        if pos[3]>= self.hauteur_canvas:
            self.touche_bas = True
        if self.heurter_raquette(pos) == True :
            self.y = -5
            self.point += 1
            canvas.itemconfig(point_dessin, text = str(self.point))
        if pos[0]<=0:
            self.x =3
        if pos[2]>= self.largeur_canvas:
            self.x = -3

class Raquette:
    def __init__(self,canvas,couleur):
        self.canvas = canvas
        self.id = canvas.create_rectangle(0,0,100,10,fill = couleur)
        self.canvas.move(self.id,200,300)
        self.x = 0
        self.largeur_canvas = 500
        self.canvas.bind_all("<KeyPress-Left>",self.vers_gauche)
        self.canvas.bind_all("<KeyPress-Right>",self.vers_droite)
    def vers_gauche(self, event):
        self.x = -4
    def vers_droite(self,event):
        self.x = 4
    def dessiner(self):
        self.canvas.move(self.id,self.x,0)
        pos = self.canvas.coords(self.id)
        if pos[0]<=0:
            self.x = 0
        elif pos[2] >= self.largeur_canvas:
            self.x = 0
            

   
tk = Tk()

tk.title("WALL KOMBAT !")
tk.resizable(0,0)
tk.wm_attributes("-topmost",1)
canvas = Canvas(tk, width = 500, height = 400, bd = 0, highlightthickness = 0)
canvas.pack()
texte = canvas.create_text(250,250, text = "Perdu !", font=("Courrier", 25),state = "hidden")


point_dessin = canvas.create_text(10,10,text="0",font=("Courrier", 15))


raquette = Raquette(canvas,"blue")
balle = Balle(canvas,raquette,'red')
tk.update()

while 1:
    if balle.touche_bas == False:
        balle.dessiner()
        raquette.dessiner()
        tk.update_idletasks()
        tk.update()
        time.sleep(0.01)
        
            
    else:
        break

canvas.itemconfig(texte,state = "normal")
bou2 = Button(tk,text='Quitter', command = tk.destroy)
bou2.pack()



  • Partager sur Facebook
  • Partager sur Twitter