Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 30

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG


-----š›&š›-----

BÀI TẬP LỚN


LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

ĐỀ TÀI: XÂY DỰNG MỘT GAME NHẬP VAI SIMPLE RPG

Giáo viên hướng dẫn: ThS. Nguyễn Mạnh Tuấn

Mã lớp: 124159 - Nhóm: 13

Sinh viên thực hiện:

STT Họ và tên MSSV Email Lớp


1 Phan Ngọc Khải 20194302 khai.pn194302@sis.hust.edu.vn KTMT-01
2 Nguyễn Hoàng 20194054 hoa.nhq194054@sis.hust.edu.vn KHMT03
Quế Hòa
3 Từ Hoàng Giang 20183518 giang.th183518@sis.hust.edu.vn KHMT03
4 Nguyễn Tiến Lâm 20194313 lam.nt194313@sis.hust.edu.vn KTMT-01
5 Trần Đức Hải 20194270 hai.td194270@sis.hust.edu.vn KTMT-01

Hà Nội – 5/2021
MỤC LỤC

MỤC LỤC.................................................................................................................... 1

DANH MỤC HÌNH ẢNH............................................................................................3

LỜI NÓI ĐẦU.............................................................................................................. 4


1. Lý do chọn và tầm quan trọng của đề tài.........................................................4
2. Mô tả đề tài.........................................................................................................4
3. Quá Trình Tiếp Cận..........................................................................................4

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM.......................................................5

CHƯƠNG 1. KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TOÁN...............................6


1.1 Miêu tả yêu cầu bài toán................................................................................6
1.2 Biểu đồ use case..............................................................................................6
1.2.1 Biểu đồ use case tổng quan........................................................................6
1.2.2 Biểu đồ use case phân rã mức 2.................................................................7
1.3 Đặc Tả Use Case.............................................................................................8

CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ BÀI TOÁN...........................................10


2.1 Biểu đồ trình tự.............................................................................................10
2.2 Biểu đồ gói và biểu đồ lớp................................................................................12
2.2.1 Tổng Quát gói Gui, Manager, Map, Weapons.............................................12
2.2.2 Tổng quát gói Actor.....................................................................................13
2.2.3 Biểu đồ lớp cụ thể từng phần.......................................................................15
2.3 Thiết kế chi tiết lớp...........................................................................................16

CHƯƠNG 3. CÔNG NGHỆ VÀ THUẬT TOÁN SỬDỤNG..............................18


3.1 Công Nghệ.....................................................................................................18
3.2 Kiến Thức......................................................................................................18
3.3 Thuật Toán...................................................................................................18

CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA..............................19


4.1 Kết quả chương trình minh họa..................................................................19
4.2 Giao diện chương trình................................................................................19
4.2.1 Giao diện chính........................................................................................20
4.2.2 Giao diện dừng trò chơi...........................................................................23
4.2.3 Giao diện chiến thắng..............................................................................23
IT3100 – Lập trình hướng đối tượng 20192
4.2.4 Giao diện xử thua cuộc............................................................................24
4.3 Kiểm thử các chức năng đã thực hiện.........................................................24
4.4 Kết luận.........................................................................................................27

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................................................28

1. Những mặt đã đạt được.....................................................................................28

2. Những mặt chưa đạt được.................................................................................28

3. Hướng phát triển................................................................................................28

TÀI LIỆU THAM KHẢO...........................................................................................29

Nhóm 14 2
IT3100 – Lập trình hướng đối tượng 20192

DANH MỤC HÌNH ẢNH


Hình 1 : Biểu đồ tuần tự.................................................................................................7

Hình 2 : Biểu đồ lớp tổng quát.......................................................................................8

Hình 3 : Sơ đồ lớp tổng quát gói GUI, Manager, Map, Weapons..................................8

Hình 4 : Sơ đồ lớp tổng quát........................................................................................10

Hình 5 : Giao diện chính..............................................................................................15

Hình 6 : Giao diện hướng dẫn......................................................................................16

Hình 7 : Giao diện màn giới thiệu................................................................................17

Hình 8 : Giao diện map cụ thể.....................................................................................17

Hình 9 : Thanh chỉ số của mỗi nhân vật.......................................................................18

Hình 10 : Giao diện dừng trò chơi...............................................................................18

Hình 11 : Giao diện chiến thắng..................................................................................19

Hình 12 : Giao diện thua cuộc.....................................................................................19

Nhóm 14 3
IT3100 – Lập trình hướng đối tượng 20192

LỜI NÓI ĐẦU


1. Lý do chọn và tầm quan trọng của đề tài
Khi mới bắt đầu làm quen với lập trình hướng đối tượng thì cách tiếp cận
nhanh chóng mà hiệu quả nhất là đi vào các ví dụ mà ở đó ranh giới giữa các
đối tượng là rõ ràng. Như đã biết, game nhập vai không phải là khuynh hướng
game mới mẻ tuy nhiên đây vẫn luôn là thể loại game được nhiều người yêu
thích. Chúng em cảm thấy đây là một trò chơi rất đỗi quen thuộc và cuốn hút,
đồng thời game nhập vai sẽ là một ví dụ tốt để từng thành viên trong nhóm có
được cái nhìn rõ hơn về môn học nói riêng và lập trình hướng đối tượng nói
chung. Chính vì lý do này, nhóm chúng em chọn đề tài “Xây dựng một game
nhập vai Simple RPG” để thực hiện chương trình Escape-Ghost demo cho bài
tập lớn môn học. Chương trình được viết hoàn toàn bởi ngôn ngữ lập trình Java
– ngôn ngữ lập trình thuần đối tượng.

Bởi do mới làm quen với ngôn ngữ Java cũng như việc xử lý trong lập trình
hướng đối tượng nên trong chương trình còn hạn chế là việc không tránh khỏi.
Vậy nên nhóm chúng em mong có được nhận xét từ phía thầy về đề tài của
nhóm để có những khắc phục.

2. Mô tả đề tài
Game nhập vai ESCAPE-GHOST gồm có:
• Menu: hiển thị cho phép người chơi lựa chọn thông tin ( Xem hướng dẫn,
chọn chế độ chơi,…)
• Người chơi (Player): Game có 2 người chơi hỗ trợ nhau trong quá trình chơi
• Kẻ địch (Enemy): có khả năng gây sát thương cho player, tấn công và di
chuyễn ngẫu nhiên trên bản đồ
• Bản đồ (Map): bao gồm đường đi, đất, nước,…

3. Quá Trình Tiếp Cận


Chúng em lựa chọn đề tài dựa trên sở thích và khả năng của các thành viên
trong nhóm. Quá trình hoàn thiện đề tài kéo dài trong vòng 3 tháng bao gồm cả
việc lên ý tưởng, thảo luận để lựa chọn đề tài.

Nhóm 14 4
IT3100 – Lập trình hướng đối tượng 20192

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM

Họ và tên Email Điện Công việc thực Đánh giá


thoại hiện
Phan Ngọc khai.pn194302@sis.hust.edu.vn
Khải
Nguyễn hoa.nhq194054@sis.hust.edu.vn
Hoàng Quế
Hòa
Từ Hoàng giang.th183518@sis.hust.edu.vn
Giang
Nguyễn lam.nt194313@sis.hust.edu.vn
Tiến Lâm
Trần Đức hai.td194270@sis.hust.edu.vn
Hải

Nhóm 14 5
IT3100 – Lập trình hướng đối tượng 20192

CHƯƠNG 1. KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI


TOÁN

1.1 Miêu tả yêu cầu bài toán


- Người chơi điều khiển một hoặc nhiều nhân vật trong một bản đồ được lưu
trong một cấu trúc dữ liệu (trên bản đồ có các quái vật có thể di chuyển được).
- Các nhân vật người chơi điều khiển và quái vật có các chỉ số xác định tình trạng
và thể lực (ví dụ HP, MP, Attack, Defense, Speed,...). Người chơi có thể tấn công quái
vật và sử dụng các kỹ năng đặc biệt. Tương tự, quái vật cũng có thể tìm đến và tấn
công người chơi.
- Người chơi có thể di chuyển qua lại giữa các bản đồ khác nhau (ví dụ khi đi vào
vùng M0, M1, M2,... trên bản đồ) hoặc đi đến kết thúc của trò chơi (ví dụ khi đi vào
vùng END trên bản đồ).
 Đáp ứng yêu cầu bài toán bao gồm:
- Thể hiện bản đồ và các đối tượng trên bản đồ trên giao diện đồ họa
- Điều khiển nhân vật di chuyển
- Có các thao tác để tấn công quái vật
- Quái vật có khả năng di chuyển và tấn công người chơi (quái vật có thể chia
thành nhiều loại: tấn công gần, loại có thể tấn công / bắn đạn từ xa, boss,…)
- Game có hai chế độ chơi dễ / khó theo mức độ “thông minh”, “di chuyển
nhanh” hoặc “lượng máu” của quái vật

1.2 Biểu đồ use case


1 Biểu đồ use case tổng quan
- Tác nhân : người chơi 1, người chơi 2
- Các use case đối với mỗi người chơi
 Bắt đầu game
 Chơi game
 Dừng game
 Thoát Game
Nhóm 14 6
IT3100 – Lập trình hướng đối tượng 20192

Hình 1. Use-case chính

2 Biểu đồ use case phân rã mức 2

Hình 2. Use case “Bắt đầu game” phân rã

Nhóm 14 7
IT3100 – Lập trình hướng đối tượng 20192

Hình 3. Use case “chơi game” phân rã đối với người chơi 1

Hình 4. Use case “chơi game” phân rã đối với người chơi 2

1.3 Đặc Tả Use Case

Nhóm 14 8
IT3100 – Lập trình hướng đối tượng 20192
Mã UC UC01 Tên Bắt đầu game

Tác nhân Người dung chương trình


Điều kiện trước Không có
Luồng thực thi
chính
No. Thực hiện Hành động

1. Player Mở trò chơi

2. System Hiện thị giao diện


chọn chế độ chơi
3. Player Chọn chế độ
4. System Khởi tạo game với
chế độ đã chọn
5 System Hiển thị giao diện
chơi
Điều kiện sau Không có

Mã UC UC02 Tên Chơi Game


(Player 1)
Tác nhân Người dung chương trình
Điều kiện trước Tác nhân đã bắt đầu game
Luồng thực thi
chính
No. Thực hiện Hành động

1. Player1 Chơi game

2. System Hiển thị giao diện


chơi
3. Player1 Di chuyển hoặc tấn
công
4. System Cập nhật vị trí của
nhân vật
5. System Cập nhật quái vật
bị bắn trúng
Điều kiện sau Không có

Mã UC UC03 Tên Chơi game


(Player 2)

Nhóm 14 9
IT3100 – Lập trình hướng đối tượng 20192
Tác nhân Người dung chương trình
Điều kiện trước Tác nhân đã bắt đầu game
Luồng thực thi
chính
No. Thực hiện Hành động

1. Player2 Chơi game

2. System Hiển thị giao diện


chơi game
3. Player2 Dịch chuyển đến
người chơi 1 hoặc
di chuyển
4. System Cập nhật vị trí của
người chơi 2
5 Player2 Hồi máu
6. System Cập nhật lại máu
của nhân vật
Điều kiện sau Không có

Nhóm 14 10
IT3100 – Lập trình hướng đối tượng 20192

CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ BÀI TOÁN

2.1 Biểu đồ trình tự

Hình 1 : Biểu đồ tuần tự

Nhóm 14 11
IT3100 – Lập trình hướng đối tượng 20192

2.2 Biểu đồ gói và biểu đồ lớp

Hình 2 : Biểu đồ lớp tổng quát

- Gói Image: Gồm hình ảnh các đối tượng đồ họa dưới dạng các file *.png
- Gói Actor: Gồm mã của nhân vật gồm người chơi, quái vật, boss, ...
- Gói GUI: Gồm mã của những đối tượng đồ họa
- Gói map: Gồm mã của bản đồ cùng với quái vật cho từng màn chơi
- Gói weapons: Gồm mã của các loại vũ khí
- Gói Manager: Gồm mã của lớp Manager chịu trách nhiệm xử lí va chạm, xử lí
qua màn, kết thúc và bắt đầu game

2.2.1 Tổng Quát gói Gui, Manager, Map, Weapons

Hình 3 : Sơ đồ lớp tổng quát gói GUI, Manager, Map, Weapons

 Các gói trong biểu đồ trên thuộc tầng giao diện, nghiệp vụ.
Nhóm 14 12
IT3100 – Lập trình hướng đối tượng 20192
 Có các đối tượng thể hiện các menu, hiển thị nhân vật và các hiệu ứng động.
 Tổng quan về các lớp trong gói:
o Lớp Frame kế thừa từ lướp JFrame hiển thị giao diện trò chơi.
o Lớp Container kế thừa từ lớp JPanel chịu trách nhiệm hiển thị các giao
diện điều khiển cho người dùng như là màn hình Menu, Tutorial,
MainGame, ... thông qua card layout, và các mối quan hệ kết tập với các
lớp kết thừa JPanel.
o Lớp MainGame thể hiện màn hình chơi game của người chơi kế thừa từ
lớp JPanel là nơi thể hiện các đối tượng nhân vật, quái vật, ...
o Các lớp Tutorial, Menu, End là các JPanel hiển thị màn hình hướng dẫn
menu điều khiển và màn hình kết thúc game.
o Lớp MyMap lưu giữ thông tin về màn chơi như bản đồ được lưu dưới
dạng mảng 2 chiều, và các ArrayList quái vật của từng màn chơi. Do
điều kiện thử nghiệm nên số lượng map là 4 map với 1 mâp khởi động
cho người chơi làm quen
o Lớp Manager có các phương thức xử lí va chạm, xử lí các thao tác người
dùng, xử lí các tương tác của các nhân vật với địa hình, nhân vật khác
o Lớp StatusBar kế thừa từ JPanel hiển thị các thông số của nhân vật

2.2.2 Tổng quát gói Actor

Nhóm 14 13
IT3100 – Lập trình hướng đối tượng 20192

Hình 4 : Sơ đồ lớp tổng quát

 Gói thuộc tầng nghiệp vụ.


 Gói chịu trách nhiệm lưu giữu thông tin về các đối tượng nhân vật .
 Tổng quan về các lớp trong gói:
o Lớp Abtract Actor lưu giữ các thuộc tính và phương thưc cơ bản của các
đối tượng nhân vật như các chỉ số HP, MP, speed,... các phương thức
chung như move, kill,...
o Lớp Abtract LongRange kế thừa từ lớp Actor lưu giữ các thuộc tính và
phương thưc cơ bản của các đối tượng nhân vật có tầm đánh xa. Lớp này
sở hữu một đối tượng vũ khí là Bullet.
o Lớp Abtract ShortRange kế thừa từ lớp Actor lưu giữ các thuộc tính và
phương thưc cơ bản của các đối tượng nhân vật có tầm đánh ngắn(do
điều kiện đồ họa nên phương thức tấn công của các đối tượng này là gây
sát thương khi va chạm với nhân vật khác).
o Các lớp thực thi Hunter, Ghost, Monster, Dog thể hiện các nhân vật
người chơi và quái vật kế thừa từ các lớp Abstract trên.
o Lớp MyAdapter có các phương thức lắng nghe tác động điều khiển nhân
vật cũng như lắng nghe tín hiệu tạm dừng game của người chơi
Nhóm 14 14
IT3100 – Lập trình hướng đối tượng 20192
2.2.3 Biểu đồ lớp cụ thể từng phần

Nhóm 14 15
IT3100 – Lập trình hướng đối tượng 20192

2.3 Thiết kế chi tiết lớp


 Các lớp quan trọng: MyMap, Container, Ghost, Manager, Actor, MainGame.
 Mô tả mẫu CRC:

MyMap
Tạo bản đồ, quái vật. MainGame
Setup vị trí và số lượng quái trong Dog
từng màn. Hunter

Container
Hiển thị giao diện điều khiển cho MainGame
người chơi ( Menu, tutorial, end, Tutorial
maingame,…) Menu
End

Ghost
Thiết lập các chỉ số: HP, MP, MainGame
Speed, atk,…các image ứng với LongRange
các trạng thái di chuyển.
Thiết lập di chuyển cho nhân vật
Ghost.

Nhóm 14 16
IT3100 – Lập trình hướng đối tượng 20192

Manager
Xử lí va chạm, tương tác với người Bullet
chơi. Dog
Xử lí tương tác của nhân vật với địa Hunter
hình, quái vật và nhân vật khác. MainGame

Actor
Tạo các thuộc tính cho nhân vật và MainGame
quái như: HP, Max_HP, MP, LongRange
Max_MP, defaultSpeed, speed, atk, ShortRange
defense, status, dead, type,…

MainGame
Hiển thị nhân vật, quái vật, map,… MyMap
trên màn hình chơi game. Monster
Thiết lập chức năng phím tắt. Hunter
Kiểm tra trạng thái nhân vật, quái MyAdapter
vật Manager
(dead, live) Dog
Ghost

Nhóm 14 17
IT3100 – Lập trình hướng đối tượng 20192

CHƯƠNG 3. CÔNG NGHỆ VÀ THUẬT TOÁN


SỬDỤNG

3.1 Công Nghệ


- Môi trường lập trình : Eclipse
- Phần mềm quản lý mã nguồn : Github

3.2 Kiến Thức


Bài tập lớn gồm lượng lớn kiến thức về phân tích và thiết kế hướng đối tượng. Cụ
thể như sau:
- Mô hình lập trình: hướng đối tượng
- Các nguyên lý trong lập trình hướng đối tượng: đóng gói, kế thừa, đa hình,
interface,…
- Ngôn ngữ: ngôn ngữ lập trình hướng đối tượng Java
- Cơ bản về cơ sở dữ liệu và thiết kế cơ sở dữ liệu cho game

3.3 Thuật Toán

Nhóm 14 18
IT3100 – Lập trình hướng đối tượng 20192

CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH MINH


HỌA

4.1 Kết quả chương trình minh họa


Nhìn chung sản phẩm minh họa khá thành công vì đã thực hiện được hầu hết các yêu
cầu đưa ra:
- Thể hiện bản đồ và các đối tượng trên bản đồ trên giao diện đồ họa - Điều khiển
nhân vật di chuyển
- Có 2 người chơi với phím di chuyển và kỹ năng khác nhau :
 Người chơi 1 có khả năng di chuyển và tấn công quái bằng súng
 Người chơi 2 có khả năng đốt quái ở trong phạm vi gần, dịch chuyển đến
vị trí người chơi 1 và hồi máu cho cả 2
- Quái vật có khả năng di chuyển và tấn công người chơi
- Game có hai chế độ hơi dễ/khó theo mức độ “thông minh”, “di chuyển nhanh”
hoặc “lượng máu” của quái vật
- Có thể dừng game để tiếp tục sau 1 khoảng thời gian

Game nhập vai Escape Ghost có chức năng chính như sau :
- Giao diện khi vào game có Tutorial giúp người chơi có thể biết được kỹ năng
của mỗi người chơi và hiểu về cách thức để chiến thắng game
- Khi vào game người chơi có thể chọn 2 chế độ chơi :
 Play Easy : trong chế độ này người chơi 1 không thể tấn công được người
chơi 2, quái vật có chỉ số thấp hơn
 Play Hard : ở chế độ này người chơi 1 có thể tấn công người chơi 2 đồng
thời tang chỉ số của quái vật
- Người chơi có thể dừng game với phím P và tiếp tục game sau khi nhấn nút
Space
- Người chơi vượt qua mỗi màn chơi bằng cách đi vào bụi cỏ ở bên phải màn
hình sau khi tiêu diệt quái vật
- Nhân vật 1 được điều khiển di chuyển bằng các phím ↓ ↑ ← → và tấn công
quái vật bằng phím Enter
- Nhân vật 2 được điều khiển di chuyển bằng các phím W S A D và có các kỹ
năng như thiêu đốt quái xung quanh, dung phím B để dịch chuyển đến nhân vật
1 và hồi máu bằng phím N
- Người chơi có thể bị xử thua sau khi 1 trong 2 nhân vật hết lượng máu (HP) của
mình

4.2 Giao diện chương trình

Nhóm 14 19
IT3100 – Lập trình hướng đối tượng 20192

4.2.1 Giao diện chính

Hình 5 : Giao diện chính

- Trên giao diện chính của game gồm có 3 chức năng chính :

 TUTORIAL : Xem hướng dẫn game

Nhóm 14 20
IT3100 – Lập trình hướng đối tượng 20192

Hình 6 : Giao diện hướng dẫn

 PLAY EASY : Chơi ở chế độ dễ


 PLAY HARD : Chơi ở chế độ khó
Dù chơi ở chế độ nào người chơi cũng bắt đầu ở một màn chơi không có quái vật
để làm quen với game ( di chuyển và sử dụng skill đối với mỗi nhân vật)

Nhóm 14 21
IT3100 – Lập trình hướng đối tượng 20192

Hình 7 : Giao diện màn giới thiệu

Sau khi vượt qua màn giới thiệu giao diện trong game sẽ thay đổi vào giao
diện mỗi map

Hình 8 : Giao diện map cụ thể

Nhóm 14 22
IT3100 – Lập trình hướng đối tượng 20192
Trong màn giới thiệu và kể cả màn chơi thông số của nhân vật 1 và nhân
vật 2 đều được nêu rõ ở thanh dưới màn hình

Hình 9 : Thanh chỉ số của mỗi nhân vật

Trong đó
 Ghost HP là lượng máu của nhân vật 1
 Ghost MP là mana dùng để tấn công của nhân vật 1 ( có thể hồi lại khi đạn
trúng vật cản hoặc đi ra ngoài map)
 Ghost-ATK là chỉ số tấn công của nhân vật 1
 Monster HP là lượng máu của nhân vật 2
 Monster MP là lương mana để sử dụng kỹ năng của nhân vật 2
 Monster-ATK là số dame đốt quái xung quanh mỗi giây của nhân vật 2
 Monster AT-Ranger là phạm vi đốt quái vật của nhân vật 2

4.2.2 Giao diện dừng trò chơi

Hình 10 : Giao diện dừng trò chơi

4.2.3 Giao diện chiến thắng

Nhóm 14 23
IT3100 – Lập trình hướng đối tượng 20192

Hình 11 : Giao diện chiến thắng

4.2.4 Giao diện xử thua cuộc

Hình 12 : Giao diện thua cuộc

4.3 Kiểm thử các chức năng đã thực hiện

Các chức năng đã được xây dựng trong chương trình :


Nhóm 14 24
IT3100 – Lập trình hướng đối tượng 20192
1. Bắt đầu game
2. Di chuyển đối với mỗi nhân vật
3. Tân công (đối với Player 1)
4. Kỹ năng của nhân vật 2 ( Gồm : dịch chuyển đến nhân vật 1, hồi máu cho
nhân vật 1, đốt quái xung quanh)
5. Quái tấn công :
Quái vật tầm gần
Quái vật tầm xa
6. Chuyển map
7. Dừng Game
8. Thua game

Bảng 1 : Kết quả kiểm thử chức năng Bắt đầu game
STT input output Exception Kết quả
1 Chọn TUTORIAL Hiển thị giao diện Không xử lý OK
ở màn hình chính hướng dân game
2 Chọn chế độ Play Hiển thị giao diện game Không xử lý OK
EASY ở màn hình mới ở chế độ dễ
chính
3 Chon chế độ Play Hiển thị giao diện game Không xử lý OK
Hard ở màn hình mới ở chế độ dễ
chính

Bảng 2 : Kết quả kiểm thử chức năng di chuyển đói với mỗi nhân vật

STT input output Exception Kết quả


1 Nhấn ↑ đối với Player di chuyển lên Không xử lý OK
nhân vật 1 và W phía trên
đối với nhân vật 2
2 Nhấn ↓ đối với Player di chuyển xuống Không xử lý OK
nhân vật 1 và S đối phía dưới
với nhân vật 2
3 Nhấn ← đối với Player di chuyển sang Không xử lý OK
nhân vật 1 và A trái
đối với nhân vật 2
4 Nhấn → đối với Player di chuyển sang Không xử lý OK
nhân vật 1 và D phải
đối với nhân vật 2

Bảng 3 : Tấn công đối với Player 1

STT input output Exception Kết


quả

Nhóm 14 25
IT3100 – Lập trình hướng đối tượng 20192
1 Nhấn Enter Cập nhật lượng máu của Không xử lý FAIL
quái vật nếu lượng máu
thấp hơn 0 quái vật sẽ
biến mất khỏi bản đồ
(Lương MP sẽ giảm đi 1
sau 1 lần tấn công)

Bảng 4 : Kỹ năng của Player 2

STT input output Exception Kết quả


1 Dịch chuyển đến Cập nhật vị trí của nhân Không xử lý FAIL
nhân vật 1 vật 2 trên bản đồ trùng
với nhân vật 1 (Tiêu hao
10 MP)
2 Hồi máu cho nhân Lượng máu của nhân Không xử lý OK
vật 1 ( Phím N) vật 1 trên thanh công cụ
tăng 100 (Tiêu hao 20
MP)
3 Đốt quái trong tầm Quái vật bị trừ lượng Không xử lý OK
đốt ở xung quanh máu tương ứng số lần
đốt ( 3 Hp/s)

Bảng 5 : Quái tấn công

STT input output Exception Kết quả


1 Quái tầm gần ở Lượng máu của nhân Không xử lý OK
cạnh nhân vật vật bị trừ đi 20HP/s
2 Hồi máu cho nhân Lượng máu của nhân Không xử lý OK
vật 1 ( Phím N) vật 1 trên thanh công cụ
tăng 100 ( Ti
3 Đốt quái trong tầm Quái vật bị trừ lượng Không xử lý OK
đốt ở xung quanh máu tương ứng số lần
đốt ( 3 Hp/s)

Bảng 6 : Chuyển map

STT input output Exception Kết quả


1 Cả 2 nhân vật đều Giao diện chuyển đến Chưa tiêu diệt OK
ở bụi cỏ bên phải map tiếp theo sau hết quái vật
màn hình sau khi di

Nhóm 14 26
IT3100 – Lập trình hướng đối tượng 20192
chuyển đến sẽ
xảy ra lỗi

Bảng 7 : Dừng và tiếp tục game

STT input output Exception Kết quả


1 Người chơi nhấn Hiển thị “Press Space to Không xử lý OK
phím P để dừng play” đồng thời dừng
game trong lúc mọi hoạt động của game
chơi
2 Người chơi nhấn Hiển thị lại giao diện Không xử lý OK
Space để tiếp tục còn dở ở lần nhấn P lúc
chơi game (Sau khi trước
nhấn P)

Bảng 8 : Thua game

STT input output Exception Kết quả


1 Một trong hai nhân Hiển thị giao diện dừng Không xử lý OK
vật có Hp bằng 0 trò chơi và đưa ra lựa
chọn cho người chơi 2
lựa chọn “Go Menu”
hoặc “Again”

4.4 Kết luận


- Các chức năng thử nghiệm đều ổn định và không gặp bất cứ lỗi hay phải xử lý
ngoại lệ.
- Tuy nhiên, quá trình thử nghiệm mang tính chủ quan rất lớn nên còn nhiều hạn
chế (các lỗi chưa được kiểm thử, kiểm thử không gặp lỗi nhưng khi sử dụng
thật có thể gặp lỗi, v.v..).

Nhóm 14 27
IT3100 – Lập trình hướng đối tượng 20192

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

1. Những mặt đã đạt được

- Hiểu và làm viêc được


- Cơ hội làm quen với lập trình game cơ bản, được xây dựng chương trình cụ thể
- Game thiết kế với đồ họa dễ nhìn cách chơi đơn giản không gặp quá nhiểu lỗi
tích hợp được nhiều tính năng và thỏa mãn tiêu chí đề ra

2. Những mặt chưa đạt được

3. Hướng phát triển

Nhóm 14 28
IT3100 – Lập trình hướng đối tượng 20192

TÀI LIỆU THAM KHẢO


[1] Lập trình hướng đối tượng – Bài giảng của ThS. Nguyễn Mạnh Tuấn
[2] stackoverflow.com
[3]
[4]
[5]
[6]

Nhóm 14 29

You might also like