Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/viet-tu/project-game-pikachu
https://github.com/viet-tu/project-game-pikachu
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/viet-tu/project-game-pikachu
- Owner: VIET-TU
- License: epl-2.0
- Created: 2024-06-30T15:03:02.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-06-30T17:08:44.000Z (6 months ago)
- Last Synced: 2024-07-03T21:57:01.480Z (6 months ago)
- Language: Java
- Size: 2.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Dự án Java áp dụng design pattern MVC
Các công nghệ sử dụng:
- Java core: OOP, Collection (List, Set)
- Java Swing để tạo giao diện đồ họa
- Java AWT để xử lý sự kiện đầu vào
- Java sound: Xử lí phần âm thanh
- Java thread: xử lý các luồng chạy song song (ví dụ: nhạc, thời gian kết thúc)
Các chức năng:
-
Xây dựng thuật toán pikachu:
Xây dựng ma trận chứa các ô pikachu một cách ngẫu nhiên, thuật toán tìm đường đi giữa 2 ô giống nhau.
-
Xử lý sự kiện:
Xử lý các sự kiện như click chuột, hover vào các ô, kiểm tra sự khớp nhau giữa các ô Pikachu để tạo ra điểm số.
-
Thời gian chơi:
Tạo ra tính năng đếm thời gian để người chơi có thể theo dõi thời gian chơi và kết thúc game khi hết giờ.
-
Các cấp độ khác nhau:
Tạo ra các cấp độ khác nhau với độ khó tăng dần, bao gồm 3 cấp độ chơi khác nhau và cho người chơi chọn lưới game phù hợp.
-
Điểm số:
Cập nhật điểm số của người chơi khi 2 ô được so khớp và hiển thị trên thanh bar.
-
Âm thanh:
Thêm các hiệu ứng âm thanh cho các hoạt động như lựa chọn, khớp thú Pikachu, hoàn thành trò chơi, nhạc nền.
-
Hiệu ứng:
Khi click vào ô hoặc khi hover vào sẽ set border cho các ô đó.
-
Hiện thị bảng thông báo:
Khi người chơi chiến thắng, hết giờ hoặc các option trên thanh menu.
- Thanh option: có exit, tắt nhạc, pause game, new game.
-
Tạm dừng trò chơi:
Khi tạm dừng trò chơi, nhạc và thời gian sẽ được tạm dừng và tiếp tục chạy khi người chơi bấm tiếp tục.
-
Tối ưu hóa trò chơi:
Cải thiện hiệu suất trò chơi bằng cách sử dụng cấu trúc dữ liệu và giải thuật tối ưu để giảm thiểu thời gian xử lý và tối đa hóa trải nghiệm người chơi.
# Class
# Giải thích chi tiết thuật toán tìm đường đi giữa 2 ô giống nhau: (Chi tiết có trong báo cáo)
- `Trường hợp nằm trên một cạnh (ngang hoặc dọc)`
- `Trường hộp nối bằng tối đa 3 đoạn thẳng trong phạm vi hình chữ nhật hình thành từ tọa độ của 2 ô`
# Giao diện menu:
# Giao diện khi vào game:
-