Page 253 - Em Học Python
P. 253
Chương trình của em giờ cuối cùng sẽ trông như sau. Nếu game của em không chạy
được, hãy so với đoạn code sau để xem có gì khác biệt không nhé.
*
t
i
from kinter mport
import andom
r
import ime
t
B
class all
:
_
c
(
c
ef _init__ self, anvas, addle, olor):
d
p
c
elf.canvas anvas
s
=
p
=
s
elf.paddle addle
c
1
2
elf.id anvas.create_oval(10, 0, 5, 5, ill=color)
=
f
2
s
elf.canvas.move(self.id, 45, 00)
s
1
2
1
2
tarts -3, 2, 1, , , ]
-
3
=
-
[
s
r
andom.shuffle(starts)
=
s
elf.x tarts[0]
s
-
s
=
elf.y 3
elf.canvas_height elf.canvas.winfo_height()
=
s
s
s
elf.canvas_width elf.canvas.winfo_width()
s
=
=
elf.hit_bottom alse
s
F
p
ef it_paddle self, os):
h
d
(
=
addle_pos elf.canvas.coords(self.paddle.id)
p
s
p
p
i
a
p
p
<
f os[2] = addle_pos[0] nd os[0] = addle_pos[2]:
>
p
p
i
p
<
p
>
f os[3] = addle_pos[1] nd os[3] = addle_pos[3]:
a
r
eturn rue
T
r
F
eturn alse
ef raw self):
d
(
d
s
elf.canvas.move(self.id, elf.x, elf.y)
s
s
=
s
p
os elf.canvas.coords(self.id)
p
f os[1] = :
0
i
<
3
=
elf.y
s
i
f os[3] = elf.canvas_height:
>
s
p
T
=
elf.hit_bottom rue
s
=
s
f elf.hit_paddle(pos) = rue
:
T
i
-
elf.y 3
s
=
0
p
<
f os[0] = :
i
=
elf.x
3
s
i
>
s
p
f os[2] = elf.canvas_width:
elf.x 3
s
=
-
:
P
class addle
ef _init__ self, anvas, olor):
c
c
_
(
d
elf.canvas anvas
s
c
=
elf.id anvas.create_rectangle(0, , 00, 0, ill=color)
f
c
=
1
0
1
s
elf.canvas.move(self.id, 00, 00)
s
2
3
Hoàn thiện game Bounce! 227