- Câu hỏi hiển thị và đáp án được hiển trị trên QuestionPanel nằm trong ExtensionPanel. Khi khởi tạo ExtensionPanel ta cũng khởi tạo luôn QuestionPanel.
- Thư viện câu hỏi (QuestionLibray) được khởi tạo trong MainModel.
- ExtensionPanel được khởi tạo trong MainView, khi khởi tạo ta sẽ set thư viện câu hỏi (QuestionLibray) cho QuestionPanel.
- view/MainView.java
- Hình ảnh hiển thị:
2. Bắt sự kiện khi click trả lời câu hỏi
- CustomButton là button có thêm thuộc tínnh btnID, dùng để so sánh với đáp án đúng.
- model/CustomButton.java
- Listener cho các button được thêm trong MainController. (chỉ demo một CustomButton A, nhìn đỡ rối). Khi người chơi click chọn đáp án, listener sẽ kích hoạt. Đầu tiên ta lấy thông tin câu hỏi đang hiện tại (đang hiển thị) trong MainModel ra rồi gọi hàm isTrueAnswer của câu hỏi để so sánh với btnID của Button đáp án mà người dùng vừa bấm. Sau đó căn cứ vào kết quả đúng sai của đáp án người chơi mà ta cập nhật trạnng thái của MainModel.
- controller/MainController.java
- model/MainModel.java
- model/GameMap.java
- CustomButton là button có thêm thuộc tínnh btnID, dùng để so sánh với đáp án đúng.
- model/CustomButton.java
- Listener cho các button được thêm trong MainController. (chỉ demo một CustomButton A, nhìn đỡ rối). Khi người chơi click chọn đáp án, listener sẽ kích hoạt. Đầu tiên ta lấy thông tin câu hỏi đang hiện tại (đang hiển thị) trong MainModel ra rồi gọi hàm isTrueAnswer của câu hỏi để so sánh với btnID của Button đáp án mà người dùng vừa bấm. Sau đó căn cứ vào kết quả đúng sai của đáp án người chơi mà ta cập nhật trạnng thái của MainModel.
- controller/MainController.java
- model/MainModel.java
- model/GameMap.java
Khi đi lên ô câu hỏi |
Trả lời đúng, câu hỏi biến mất, trở thành ô cỏ |
Trả lời sai, ô câu hỏi biến thành đá, lùi lại ô cũ |
Không có nhận xét nào:
Đăng nhận xét