1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| from tkinter import *
import random
def create_ball():
global dx, dy
dx = random.choice([-1, 1]) * random.randrange(4, 10)
dy = random.choice([-1, 1]) * random.randrange(4, 10)
color = random.choice([ 'red', 'blue', 'green' ])
canvas.create_oval(-10, -10, 10, 10, fill=color, tag='ball')
def move_ball():
x0, y0, x1, y1 = canvas.bbox('ball')
if x0 < -100 or x1 > 100 or y0 < -100 or y1 > 100:
canvas.delete('ball')
canvas.after(100, create_ball)
else:
canvas.move('ball', dx, dy)
canvas.after(200, move_ball)
canvas = Canvas(width=300, height=300, scrollregion=(-150, -150, 150, 150), bg='grey')
canvas.create_rectangle(-100, -100, 100, 100, fill='grey90')
canvas.pack()
create_ball()
move_ball()
mainloop() |
Partager