Des objets graphiques

In [ ]:
from tkinter import *
import random

class Balle:
    def __init__(self, canvas, color, Pos_X, Pos_Y):
        self.canvas = canvas
        self.pos = [Pos_X, Pos_Y, Pos_X + 20, Pos_Y + 20]
        self.objid= canvas.create_oval(self.pos, fill=color)
        self.dx = 0
        self.dy = 5
        self.bouge()

    def bouge(self):
        self.pos=self.canvas.coords(self.objid)
        if self.pos[3]>=400:
            self.dy=-self.dy
        self.canvas.move(self.objid, self.dx, self.dy)
        self.canvas.after(20, self.bouge)

#Création de la fenêtre et du canvas:
tk = Tk()
tk.title("Jeu")
canvas = Canvas(tk, width=500, height=400, bd=0, highlightthickness=0)
#On ajoute l'affichage du canvas dans la fenêtre tk:
canvas.pack()

#Création  d'un bouton "Quitter":
Bouton_Quitter=Button(tk, text ='Quitter', command = tk.destroy)
#On ajoute l'affichage du bouton dans la fenêtre tk:
Bouton_Quitter.pack()

#Création des balles:
balle1 = Balle(canvas, 'red', 0, 10)
balle2 = Balle(canvas, 'red', 50, 50)
 
#Boucle principale:
tk.mainloop()
  • Exécutez ce programme.
  • Complétez ce code afin que les balles rebondissent sur le haut du canvas.
  • Modifiez les directions des balles et faites-les rebondir sur tous les bords.