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
   248   249   250   251   252   253   254   255   256