WELCOME
GAME ONEPIECE
BÀI TẬP LỚN MÔN KỸ THUẬT LẬP TRÌNH
ĐỀ TÀI: GAME 2D
Giảng viên Hướng Dẫn: TS. Vũ Thị Hương Giang
ThS. Trịnh Thành Trung
3
4
3
1
• Kết luận và hướng phát triển
2
• Tài liệu tham khảo và phụ lục
• Chương trình minh họa
Nội Dung Chính
MÔ TẢ YÊU CẦU
01
Xây dựng game đối kháng 2D giữa người chơi và
02
Người chơi có thể: lựa chọn start,help,quit, tấn công quái vật theo 2 skill là Q và W,
03
quái vật
di chuyển, nhảy…
Người chơi có thể lựa chọn các map khi ở giao diện map chinh
USE CASE DIAGRAM
START GAME
QUIT GAME
EXIT
ATTACK.
HELP GAME
MOVE
SELECT MAP
SELECT SKILL
USE CASE DIAGRAM
START
SELECT MAP
SELECT SKILL
ATTACK
QUIT
MOVE
HELP
EXIT
Đặc Tả Use Case
START GAME
• Mô tả:
Người dung sử dụng use này để bắt đầu chơi game
• Dòng sự kiện
Người dung bắt đầu chơi game click START
Hệ thống hiển thị map để người chơi lựa chọn vào các màn
Đặc Tả Use Case
QUIT GAME
• Mô tả:
Người dung sử dụng use case này để thoát khỏi game
• Dòng sự kiện:
Người dung thoát khỏi game bằng cách nhất QUIT
Hệ thống sẽ dừng hoạt động
Đặc Tả Use Case
HELP GAME
• Mô tả
Người dung sử dụng use case này để xem phần trợ giúp và hướng dẫn chơi game
• Dòng sự kiện:
Người dung click HELP
Hệ thống sẽ mở ra một dialog chứa đoạn text hướng dẫn chơi game và giới thiệu về game
Người dung click X để thoát dialog và trở lại
Đặc Tả Use Case
SELECT MAP
• Mô tả:
Người dùng sử dụng use case này để lựa chọn màn chơi game
• Dòng sự kiện:
Người chơi click vào các map là các hình elip tương ứng với mỗi hòn đảo để lựa chọn map
Sau khi người chơi click vào map hệ thống sẽ mở ra giao diện chơi game để người chơi bắt đầu chơi.
Người chơi click vào nút back
Hệ thống sẽ quay trở lại menu start
Đặc Tả Use Case
SELECT SKILL
Bấm các phím skill
Bấm Q
Bấm W
Nhân vật trong game sẽ tung ra skill
Nhân vật trong game sẽ tung ra skill
Chém ngang có sát thương bình thườn
Chém bổ dọc có sát thương cao
Đặc Tả Use Case
MOVE
Người
Người chơi
chơi nhấn
nhấn các
các phím
phím di
di chuyển
chuyển
hình
hình mũi
mũi tên
tên
Nhân
Nhân vật
vật di
di chuyển
chuyển
Nhân
Nhân vật
vật di
di chuyển
chuyển
sang
sang phải
phải
sang
sang trái
trái
Nhân
Nhân vật
vật nhảy
nhảy lên
lên
Đặc Tả Use Case
ATTACK
• Mô tả:
Người chơi sử dụng use case này để tấn công quái vật
• Dòng sự kiện
Khi người chơi sử dụng các phím MOVE để tến lại gần quái vật và nhấn các phím skill Q,W tấn côn quái vật
Khi người chơi tấn công trúng vào quái vật hệ thống sẽ trừ điểm HP của quái vật khi HP quái vật =0 người chơi sẽ dành
chiến thắng
Đặc Tả Use Case
EXIT
• Mô tả:
Người chơi dùng use case này để thoát khỏi màn hình chơi game
• Dòng sư kiện
Khi người chơi nhấn phím F
Hệ thống sẽ xác nhận là người chơi thua và quay trở lại màn hình select map
THIẾT KẾ CHI TIẾT
THIẾT KẾ LỚP
BIỂU ĐỒ LỚP
onepieceFrame
1
1
1
1
LUFFY
0..*
Board
1
0..*
luffy_sprites
0..*
Enermy
1
1
0..*
Background
0..*
Demon
Animaton
Character
Demon
LUFFY
1
0..*
0..*
1
0..*
0..*
0..*
0..*
0..*
Sprite_
Sprite_
Sprite_
Sprite_
Sprite_
Sprites_
luffy_
Ace
Boahancock
Dracula
Franky
Shanks
minhawk
sprites
soundGame
0..*
1
3
soundBackground
0..*
1
OnepieceFrame
soundEnemy
2
soundMap
0..*
2
soundPlayer
0..*
0..*
1
1
1
Enemy
Board
LUFFY
MỘT SỐ LỚP CHÍNH
CHARACTER
BOARD
LUFFY
ENEMY
CHARACTER
1. Là abstract class
2. Được xây dựng để các lớp quái vật và người chơi kế thừa
3. Các thuộc tính:
HP,ManaHP,MAXMana,speed,x,y,dx,dy,visible,right,currentFrame,gtr;
4. Các getert,setert tương tứng và các Abstract method T
opRect(),BotRect(),BoundsRect(),EspaceRect();
BOARD
ATTRIBUTES
METHOD
TADAPTER
• Tadapter là một INNER class của lớp BOARD
• Tadapter được xây dựng để xử lý sự kiện
• Trong Tadapter xây dựng các phương thức:
keyReleased(KeyEvent e): xử lý các sự kiện nhả phím
keyPressed(KeyEvent e) : xử lý các sự kiện nhấn phím
LUFFY
ATTRIBUTES
METHOD