Page 234 - Em Học Python
P. 234

TẠO  LỚP  BALL










                       Giờ  ta  sẽ  tạo  ra  một  lớp  cho  quả  bóng.  Code  ban  đầu  chỉ  cần  đủ  để  vẽ  quả  bóng  ra



















               màn  hình  thôi.  Ta  sẽ  cần  làm  những  việc  sau:






               -       Tạo  ra  lớp  Ball nhận  các  tham  số  là  bảng  vẽ  và  màu  của  bóng.

























               -       Lưu  bảng  vẽ  lại  thành  một  đối  tượng  vì  ta  sẽ  cần  phải  vẽ  bóng  lên  trên  đó.












               -       Vẽ  một  hình  tròn  trên  bảng  vẽ  và  tô  bằng  màu  được  truyền  vào  từ  tham  số.






















               -       Lưu  lại  số  hiệu  mà  tkinter trả  về  khi  nó  vẽ  ra  hình  tròn  vì  ta  sẽ  cần  dùng  số  hiệu

















                       này  để  di  chuyển  bóng  về  sau.






               -       Đưa  hình  tròn  ra  giữa  bảng  vẽ.







                       Thêm  đoạn  code  này  vào  sau  ba  dòng  đầu  tiên  của  file  (sau  import  ime










                                                                                                 )
                                                                                                 :




                                                                                            t



               from  kinter  mport

                               i
                                       *

                     t
               import  andom

                        r

               import  ime


                        t
                           :



                       B
               class  all

                    ef  _init__ self,  anvas,  olor):

                    d
                                                     c

                         _





                                           c
                                   (
                         s

                                          c
                        elf.canvas    anvas


                                       =
                                                                               f
                         s
                                                                     2
                        elf.id    anvas.create_oval(10,  0,  5,  5,  ill=color)
                                     c




                                                                          2

                                   =

                                                                 1




                                                        2
                        elf.canvas.move(self.id,  45,  00)
                                                              1
                         s
                         d

                    ef  raw self):
                              (



                    d


                         p
                        ass





                                                         .






                       Đầu  tiên  ta  đặt  tên  lớp  là  Ball ở  ❶   Sau  đó  viết  hàm  khởi  tạo  (như  trong  Chương  8)







































               nhận  các  tham  số  canvas và  color ở  ❷.  Tại  ❸,  ta  tạo  ra  biến  canvas để  lưu  lại  tham  số





               canvas
                       .


















                       Ở  ❹,  ta  gọi  hàm  create_oval với  năm  tham  số  tất  cả:  toạ  độ  x  và  y  của  góc  trên  bên























               trái  (10  và  10),  toạ  độ  x  và  y  của  góc  dưới  bên  phải  (25  và  25),  và  màu  của  hình  tròn.


























                       Hàm  create_oval trả  về  số  hiệu  của  hình  vừa  được  vẽ,  ta  lưu  lại  số  hiệu  này  vào


               biến  id  Ở  ❺,  ta  đưa  hình  tròn  đến  chính  giữa  bảng  vẽ  (vị  trí  245,  100),  và  bảng  vẽ  biết  chính






                       .




































               xác  nó  phải  di  chuyển  cái  gì,  vì  ta  đã  sử  dụng  chính  số  hiệu  (biến  id   được  lưu  lại  lúc  nãy.




                                                                                    )




               208           Chương  13
   229   230   231   232   233   234   235   236   237   238   239