Page 247 - Em Học Python
P. 247

Tuy  nhiên  thanh  đỡ  sẽ  không  bật  lại  như  bóng,  mà  nó  sẽ  dừng  lại.  Như  vậy  nếu  toạ

































                                          )







                                                                      )
                                                                       ,
               độ  x  phía  bên  trái  ( pos[0]   nhỏ  hơn  hoặc  bằng  0  ( <=     ta  sẽ  cho  biến  x có  giá  trị  bằng  0  với



                                                                     0






               self.x      Tương  tự,  nếu  toạ  độ  x  phía  bên  phải  ( pos[2]   lớn  hơn  hoặc  bằng  chiều  rộng


                           .







                                                                          )






                          0

                        =



                                                     )



                                                      ,















               của  bảng  vẽ  ( >=  elf.canvas_width   ta  cũng  sẽ  cho  giá  trị  của  biến  x bằng  0  với  self.x

                                s

                                                                                                           =
                 .
               0




                 CHÚ  Ý


















               Lúc  chạy  thử  chương  trình,  em  sẽ  cần  phải  nhấn  vào  bảng  vẽ  trước  khi  game  bắt  đầu  để





















               game  nhận  diện  được  các  phím  bấm,  Việc  ấn  vào  bảng  vẽ  là  dấu  hiệu  để  nó  hiểu  rằng  từ




















               giờ  trở  đi  nó  sẽ  chịu  trách  nhiệm  mỗi  khi  có  một  phím  nào  đó  trên  bàn  phím  được  nhấn.





                       PHÁT  HIỆN  VA  CHẠM  GIỮA  BÓNG  VÀ  THANH  ĐỠ










                       Hiện  tại,  bóng  sẽ  không  chạm  vào




               thanh  đỡ;  thực  tế  là  nó  sẽ  phi  xuyên  qua







               thanh  đỡ.  Bóng  cần  phải  biết  lúc  nào  thì  nó


















               chạm  vào  thanh  đỡ,  tương  tự  như  việc  nó






               phải  biết  lúc  nào  thì  chạm  vào  tường.






                       Ta  có  thể  giải  quyết  vấn  đề  này  bằng

















               cách  viết  thêm  code  vào  hàm  draw (ta  đã  có



               sẵn  code  để  kiểm  tra  va  chạm  với  tường  ở














               đấy  rồi),  nhưng  tốt  hơn  hết,  ta  nên  chuyển







               đoạn  code  này  ra  hẳn  một  hàm  mới  để  chia








               chương  trình  ra  thành  các  phần  nhỏ  hơn.

























               Nếu  ta  viết  quá  nhiều  code  vào  cùng  một  chỗ  (trong  cùng  một  hàm  chẳng  hạn),  ta  sẽ  khiến

               cho  code  trở  nên  ngày  càng  khó  hiểu  hơn.  Sự  thay  đổi  này  rất  cần  thiết  đấy.






















                                                                                   Hoàn  thiện  game  Bounce!           221
   242   243   244   245   246   247   248   249   250   251   252