Page 238 - Em Học Python
P. 238
Vậy nội dung vòng lặp này về cơ bản là: di chuyển bóng một chút, vẽ lại bảng vẽ với
bóng ở vị trí mới, nghỉ một tẹo, rồi lại tiếp tục y hệt như thế.
CHÚ Ý
Rất có thể em sẽ nhìn thấy vài thông báo lỗi trên shell khi đóng cửa sổ game lại. Đó là do
khi đóng cửa sổ, code sẽ huỷ vòng lặp while và Python càm ràm một chút đó mà.
,
Game của em giờ trông như sau:
t
*
from kinter mport
i
import andom
r
import ime
t
class all
:
B
(
d
_
c
c
ef _init__ self, anvas, olor):
c
=
elf.canvas anvas
s
=
s
1
elf.id anvas.create_oval(10, 0, 5, 5, ill=color)
c
2
f
2
s
2
elf.canvas.move(self.id, 45, 00)
1
d
d
ef raw self):
(
elf.canvas.move(self.id, , 1)
s
0
-
tk k()
T
=
tk.title( Game"
"
)
0
tk.resizable(0, )
"
1
tk.wm_attributes( -topmost" )
,
h
b
canvas anvas(tk, idth=500, eight=400, d=0, ighlightthickness=0)
h
C
w
=
canvas.pack()
tk.update()
'
B
)
ball all(canvas, red'
=
while :
1
all.draw()
b
k.update_idletasks()
t
k.update()
t
ime.sleep(0.01)
t
LÀM BÓNG BẬT TƯỜNG
Bóng mà bay vèo ra khỏi màn hình thì chơi bời gì nữa, ta phải làm cho nó bật lại
,
chứ. Đầu tiên, ta phải lưu thêm một vài biến trong lúc khởi tạo lớp Ball như thế này:
212 Chương 13