16130674 - Võ Văn Vũ - Áp dụng observer vào sự kiện câu hỏi

Thêm observer view vào model
- controller/MainController.java 1. Cập nhật câu hỏi mới khi đi lên ô câu hỏi
- Controller nhận tương tác của những dùng từ view và cập nhật Model
- controller/MainController.java - Thay đổi trong Model: cập nhật index câu hỏi, set trạng thái đã thay đổi (true) sau đó thông báo cho observer câu hỏi đã thay đổi, sau khi thông báo set lại trạng thái cũ (false).
- model/MainModel
- View nhận được thông báo, sau đó kiểm tra trạng thái của model. Nhận thấy model đã thay đổi thạng thái (isUpdatedIndex = true). Thực hiện cập nhật tương ứng.
- view/MainView.java - view/QuestionPanel.java - Trên ô cỏ

- Trên ô câu hỏi
- Class diagram:

2/ Xử lý trả lời đúng sai
- controller/MainController.java
- model/MainModel.java
- model/GameMap.java
- View nhận được thông báo, sau đó kiểm tra trạng thái của model. Nhận thấy model đã thay đổi thạng thái (hasAnswerTrue/hasAnswerFalse = true). Thực hiện cập nhật tương ứng.
- view/MainView.java - Class Diagram:

Tuần 9, 10 - Áp dụng MVC và Observer

1. Phân công công việc
Áp dụng mẫu MVC và Observer vào code tại các chức năng sau:

Tên
Công việc
Tiến độ
Nguyễn Minh Tuyễn
Menu, âm thanh
100%
Đỗ Văn Tường Tứ
Chiến thắng, tính điểm
100%
Đỗ Quang Thịnh
Chơi lại, tạm dừng - tiếp tục
100%
Võ Văn Vũ 
Trả lời câu hỏi
100%

2. Hình ảnh nhóm


16130638_Đỗ Văn Tường Tứ_Controller Class Diagram

Tuần này ta sẽ áp dụng mẫu MVC vào game.
Đây là phần classdiagram Controller dùng để xứ lí tất cả các sự kiện trong game từ lúc bắt đầu đến khi  kêt thúc game.



Nhật kí tuần 8 - MVC class diagram

1. Phân công công việc
Tên
Công việc
Tiến độ
Nguyễn Minh Tuyễn
View
100%
Đỗ Văn Tường Tứ
Controller
100%
Đỗ Quang Thịnh
Model
100%
Võ Văn Vũ
Tổng hợp
100%

2. Hình ảnh nhóm


16130674 - Võ Văn Vũ - Xử lý di chuyển, áp dụng Observer vào di chuyển

- Thêm listener cho các nút điều khiển WASD
- Trước khi di chuyển sẽ cần phải lưu lại vị trí ô cũ để khi trả lời sai sẽ lùi lại ô cũ. 
- Để di chuyển được, cần phải kiểm tra ô ở hướng di chuyển tiếp theo có phải là đá hay không, nếu là đá không di chuyển được. Nếu là câu hỏi hoặc hủ mật thì thực hiện chức năng tương ứng. 
- controller/MainController.java

- model/MainModel.java


-model/Bear.java

-view/MainView.java: MainView nhận thông báo -view/BoardPanel.java: BoardPanel được cập nhật với toạ độ của gấu

- Class Diagram: