-
Cuộc thi:
PROGAPP
-ProPTIT
-
Thể loại:
Puzzle
-
Sử dụng:
Java
-
Demo: Video
- Menu:
- Play:
-
Hoàn thành:
-
Học được cách xây dựng game với java
-
Giới hạn được FPS và DeltaTime, Performance ổn
-
Sử dụng cơ bản Graphics2D
-
Xử lý với MouseAdapter, KeyAdapter
-
Load và quản lý ảnh với BufferedImage
-
Xong thuật toán sinh mê cung, gameplay
-
Làm được hiệu ứng chuyển GameScreen
-
-
Hạn chế:
-
GamePlay đơn giản, không hấp dẫn
-
UI đơn giản, đồ họa game không đẹp
-
Thuật toán sinh ngẫu nhiên, chưa kiểm soát được độ dễ khó của các level
-
-
game.manager
-
Game
-
Thiết kế: Singleton
-
extends Canvas
-
Gồm JFrame là java app chứa Game
-
ImgManager để load và quản lý ảnh
-
ScreenChange để tạo hiệu ứng chuyển GameScreen
-
add thêm vào nó InputKey và InputMouse để xử lý các sự kiện từ chuột và bàn phím
-
run() giúp kiểm soát game với FPS mong muốn
public void run() { create(); long lastTime = System.nanoTime(); double ns = 1000000000 / FPS; double delta = 0; while (true) { long now = System.nanoTime(); delta += (now - lastTime) / ns; lastTime = now; while (delta >= 1) { update(); render(); delta--; } } }
-
-
Global
- Gồm các hàm và các biến static, sử dụng cho toàn bộ game
-
InputKey và InputMouse
- Xử lý sự kiện với chuột, bàn phím và cập nhật vào các biến trong Global
-
-
game.image
-
ImgLoader
- Load ảnh bằng URL, khá tiện
-
ImgManager
-
Load toàn bộ ảnh khi mới tạo game, và sử dụng chúng như Global
-
Thao tác với ảnh: tạo pixel, đổi alpha, đổi color
-
-
-
game.screen
-
MyGScreen
- abstract class
-
GSManager
- Quản lý các screengame
-
-
game.entity
-
GameObject
-
abstract class
-
Gồm những thuộc tính cơ bản của 1 game object: x, y, w, h, r, c
-
-
Animation
-
-
game.effect
-
ScreenEffect
-
Có 2 kiểu: Open hoặc Close
-
Gồm 2 tấm ảnh (xem trong resources) thay đổi x của nó tùy theo kiểu Open hay Close để tạo hiệu ứng tương ứng
-
-
-
game.enums