Voilà j'essaye de coder un jeu avec tk en Python.
J'arrive à tout comprendre mais j'ai du mal à saisir 2 lignes.
Si quelqu'un pourrait me les expliquer:
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
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.y = -3
if self.heurter_raquette(pos) == True :
self.y = -3
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 = -2
def vers_droite(self,event):
self.x = 2
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()
tk.update()
raquette = Raquette(canvas,"blue")
balle = Balle(canvas,raquette,'red')
while 1:
balle.dessiner()
raquette.dessiner()
tk.update_idletasks()
tk.update()
time.sleep(0.01)
if pos[2] >= pos_raquette[0] and pos[0] <= pos_raquette[2]:
if pos[3] >= pos_raquette[1] and pos[3]<= pos_raquette[3]:
Merci 
Message édité le 31 juillet 2015 à 18:49:38 par Nadwaso