Chủ Nhật, 16 tháng 6, 2019

Tổng Kết

1. Mức độ hoàn thành: 



2. Các mẫu đã sử dụng:

  • MVC: chia các class theo mô hình model, view, contronller.
  • Observer: cập nhật thông tin trong game (điểm, số UFO đã bắn được, số vật phẩm tiếp tế đã thu đc). Xem tại đây
  • Singleton: tạo duy nhất đối tượng Shooter. 
  • Decorator: trang trí các các button trong game (xem tại đây) và  để hỗ trợ thêm các kiểu bắn của Shooter (xem tại đây).
  • Factory: tạo các đối tượng trong game. Xem tại đây
  • State: chuyểnđổi trạng thái của các đối tượng trong game (alive --> dying  --> done). (xem tại đây)
4. Thuật toán sử dụng: game sử dụng thuật toán chính để sử lý va chạm là "Bouding box collision dectection" và "QUADTREE". Trong đó QUADTREE là thuật toán chính, xem thêm tại đây.

3. Source code: click here

Thứ Năm, 30 tháng 5, 2019

10. 17130010 - Nguyễn Như Bảo - Code

1. Nhiệm vụ: Áp mẫu Factory Pattern vào game:
2. Chứng minh:
   - class CreateObject dóng vai trò là một nhà máy tạo ra các đối tượng.
     phương thức  createObject() nhận vào loại đối tượng đc quy định.
     
  -class GameData đóng vai trò là một cửa hàng
   các phương yêu cầu tạo ra các đối tượng như là oder
-linksourceCode :https://drive.google.com/drive/u/1/folders/1bR5tSWg5rFmClHIZAC2rKnC5ToPhFQrY



Thứ Tư, 29 tháng 5, 2019

10. 17130047 - Nguyễn Thị Giang - Code

1. Nhiệm vụ tuần: Áp dụng mẫu decorator cho các button.

2. Code chứng minh:


  • Kẻ đường chéo cho button                                                                                                                 


  • Kẻ khung hình chữ nhật ngoài cho button                                                                                      


































  • Hình ảnh chứng minh:




  • Class diagram:  






















10. 17130208 - Nguyễn Văn Tánh - Code

1. Nhiệm vụ: áp mẫu Observer để cập nhật thông tin trong game (điểm, số UFO đã bắn được, số vật phẩm tiếp tế đã thu đc)

2. Chứng minh:
     -  Cụ thể mẫu observer được áp vào game để hiện thực cập nhật 2 JTextField trong ảnh minh hoạ sau:


   


  Code chứng minh

      - Ở đây dùng abstract class Observable và inteface Observer mà JAVA tạo sẵn:

         + Class UpdateParameter extends Observable có các hàm update* và thông báo thay đổi



         + 2 class tiếp theo 1 để hiển thị điểm và 1 để hiển thị UFO's destroy + số tiếp tế đã thu đc


         



========================================================================





    * source code:    https://drive.google.com/drive/u/1/folders/1oJTSUB_shD0gYdp6Guma1p1OiusJg048?fbclid=IwAR0LxOHqkQH-bMoTz-4wT9EtpMGnu8mi1sVrVrWbTE5zgubg6Q8AKLdALaA

10. 17130276 - Cao Trung Vĩnh - Code

1. Nhiệm vụ: xử lý xự kiện Button.
2. Chứng minh: - add các nút Button: Start, Pause, Resume.
                                + 1: Xử lí khi người chơi click Start sẽ vào chơi game và đồng thời ẩn Start hiện Pause.
                                + 2: Khi người chơi click Pause sẽ tạm ngừng game và đồng thời ẩn đi Pause hiện Resume.
                                + 3: Khi người chơi click Resume thì tiếp tục chơi game và đồng thời
ẩn Resume hiện Pause.
                           → Quá trình 2 và 3 liên tục lặp lại nếu người chơi muốn tạm ngừng game hoặc tiếp tục game





10. 17130280 - Trần Xuân Vỹ - Code

           1.  Nhiệm vụ:   Áp dụng mẫu Decorator vào project.

           2. Chứng minh: Mẫu Decorator được thể hiện khi máy bay có nhận đủ hộp tiếp tế thì tên lửa sẽ được cập nhật thêm tia laser để tiêu diệt địch.


-          Class diagram thể hiện cho mẫu:


-          Ban đầu  máy bay sẽ chỉ có method shoot để bắn ra những viên đạn tiêu diệt mục tiêu.
-          Sau đó khi đối tượng shooter nhận đủ hộp tiếp tế thì máy bay bắn ra kèm với những viên đạn là một đường laser
+ Giải thích code ( biến powerUpsCoolected là biến đếm máy bay đã nhặt được bao nhiêu hòm tiếp tế, biến previoursPwrUps là biến tạm lưu số hộp tiếp tế máy bay nhặt được trước đó, hằng POWER_UP_THRESHOLD là số hộp tiếp tế cần đạt được để máy bay có thể nâng cấp thêm vũ khí).


                                     

o    biến weaponPower khi máy bay đạt tới đủ số lượng hòm tiếp tế thì biến tang lên và máy bay nâng cấp thêm vũ khí laser.


10. Phân công