Page 240 - Em Học Python
P. 240

Ở  ❸,  ta  kiểm  tra  xem  toạ  độ  y1 (đỉnh  của  bóng!)  có  nhỏ  hơn  hoặc  bằng  0  hay  không.



































                                            .
               Nếu  có,  ta  cho  biến  y giá  trị  1   Ở  đây  ý  ta  nói  rằng,  nếu  bóng  chạm  mép  bên  trên  của  màn












               hình,  đừng  giảm  một  đơn  vị  trên  vị  trí  của  bóng  nữa,  đồng  thời  cũng  có  nghĩa  là  bóng  đừng



















               di  chuyển  lên  trên  nữa.










                       Ở  ❹,  ta  kiểm  tra  xem  toạ  độ  y2 (đáy  của  bóng!)  có  lớn  hơn  hoặc  bằng  với  biến

















                                                                               .








               canvas_height không.  Nếu  có,  ta  sẽ  cho  y quay  trở  lại  giá  trị  -1









                       Thử  chạy  chương  trình,  quả  bóng  sẽ  đập  lên  đập  xuống  quanh  bảng  vẽ  cho  đến  khi

















               em  đóng  cửa  sổ.






                       ĐIỀU  HƯỚNG  BÓNG










                       Bóng  mà  cứ  bật  lên  bật  xuống  thế  này  trông  không





               giống  game  tí  nào,  ta  sẽ  sửa  code  một  chút  để  thay  đổi  hướng






















               đi  ban  đầu  của  bóng  nhé  –  là  hướng  bóng  sẽ  bay  lúc  ta  vừa  bắt








               đầu  game  ấy  mà.  Trong  hàm  __init__ đổi  hai  dòng  này:











                                 =
                                    0

                        elf.x

                         s

                                 =

                         s
                        elf.y    1

                                    -















               thành  như  sau  (nhớ  kiểm  tra  kỹ  số  khoảng  trắng  tính  từ  đầu  dòng  nhé  –  có  tám  dấu  cách





               tất  cả  đấy)



                        tarts    -3,  2,  1,  ,  ,  ]
                                                           3

                                          -



                                               -
                                 =


                         s
                                    [
                                                   1


                                                       2
                        andom.shuffle(starts)
                         r

                         s
                                    s
                                 =


                        elf.x    tarts[0]

                         s

                                    -

                                 =

                        elf.y    3

                                                 l





















                       Ở  ❶,  ta  tạo  ra  biến  starts à  một  danh  sách  gồm  sáu  con  số,  rồi  gọi  random.shuffle












               ở  ❷  để  trộn  mảng  này  lên.  Ở  ❸,  ta  đặt  giá  trị  của  x à  phần  tử  đầu  tiên  của  mảng  đã  được














                                                                  l















               trộn,  như  vậy  x có  thể  là  bất  cứ  số  nào  trong  khoảng  từ  –3  đến  3.













                       Do  đổi  y  thành  –3  ở  ❹  (để  cho  bóng  bay  nhanh  hơn),  ta  cần  phải  sửa  thêm  một  vài















               chỗ  nữa  để  chắc  chắn  bóng  không  bay  ra  khỏi  hai  cạnh  trái  phải  của  màn  hình.  Thêm  dòng

















               214           Chương  13
   235   236   237   238   239   240   241   242   243   244   245