Báo cáo bài tập lớn Xây dựng game 2d - Pdf 28

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ÁO CÁO BÀI TẬP LỚN
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Đề Tài: Xây Dựng Game 2D
Giảng viên Hướng Dẫn: TS. Vũ Thị Hương Giang
ThS. Trịnh Thành Trung
Nhóm sinh viên thực hiện:
Nguyễn Văn Thịnh MSSV: 20122512
Nguyễn Duy Nhất MSSV: 20120690
Bùi Mạnh Thắng MSSV: 20120884
La Quốc Anh MSSV: 20121195
Đỗ Đình Nam MSSV: 20122099

Hà Nội 05/2015
1
NHÓM 35 LỚP KSCLC K57
MỤC LỤC
Hà Nội tháng 05 năm 2015
Nhóm 35 lớp KSCLC K57
Danh sách thành viên:
Nguyễn Văn Thịnh
Nguyễn Duy Nhất
Đỗ Đình Nam
La Quốc Anh
Bùi Mạnh Thắng
PHÂN CÔNG THÀNH VIÊN TRONG NHÓM
Thời
gian
thực
hiện

-Tìm
hiểu và
xây dựng
thuật
-Tích lũy đầy
đủ kiến thức
java cơ bản
-Thiết kế cấu
trúc
background
cho mỗi map
và tìm hiểu
cách xây dựng
-Tích lũy
đầy đủ
kiến thức
java cơ
bản
-Tìm hiểu
phân tích
thiết kế hệ
thống âm
2
NHÓM 35 LỚP KSCLC K57
chính bao
gồm vòng
lặp và lớp
quản lý
chính tất
cả các

về
graphics
và áp
dụng các
thuật
toán va
chạm,
chuyển
động của
nhân vật
Tìm hiểu tích
lũy đầy đủ kiến
thức về
grpahicsjava
swing jpanel,
jframe,button

Tìm hiểu
và tích lũy
đầy đủ
kiến thức
Về java
clip,
sound,
Graphics…
Tuần 3 Thực hiện viết
mã nguồn các
lớp quản lý va
chạm và
chuyển động

chơi và
quái vật
để kết
nối xử lý
va chạm
giữa
Viết mã nguồn
giao diện bằng
netbean. Viết
lớp
background để
quản lý
background
mỗi map
Viết mã
nguồn các
âm thanh
cho từng
sự kiên.
Tái cấu
trúc lại mã
nguồn toàn
chương
trình
3
NHÓM 35 LỚP KSCLC K57
chúng
trong
game
Tuần 4 Xây dựng cụ

chạm
giữa
người và
quái
thông
qua các
phương
thức
update
Lắp gép giao
diện với các
thành phần
còn lại của
game,
Lắp ghép
chuển động
của back
ground theo
nhân vật tương
ứng mỗi map
Xây dựng
Các lớp bổ
trợ trong
game như
helicopter
và xử lý va
chạm nhân
vật với các
thành phần
phụ trong

và xây dựng
kết nối các
thành phần
chương trình
Hoàn thiện
nốt các xử
lý về âm
thanh, các
thành phần
game và
hoàn thiện
một phần
lớp nhân
vật
Tuần 6 Thảo luận và
hoàn thiện lớp
người chơi và
các lớp đạn
Thảo luận
và xây
dựng kết
cấu lại
toàn bộ
hệ thống
chương
trình.
Sửa mã
nguồn
phù hợp
với kết

và test,
và làm
báo cáo,
viết tài
liệu.
test, và làm
báo cáo, viết
tài liệu.
và test, và
làm báo
cáo, viết
tài liệu.
Đánh
giá
chung
tích cực tham
gia thảo luận,
đóng góp ý
kiến, xây dựng
hệ thống. Hoàn
thành công
việc đúng thời
gian quy định.
Ý thức tốt
tích cực
tham gia
thảo luận,
đóng góp
ý kiến,
xây dựng

Hoàn thành
công việc đúng
thời gian quy
định.
Ý thức tốt
tích cực
tham gia
thảo luận,
đóng góp ý
kiến, xây
dựng hệ
thống.
Hoàn
thành công
việc đúng
thời gian
quy định.
Ý thức tốt
CHƯƠNG 1: MÔ TẢ YÊU CẦU
1.1 Mô tả yêu cầu bài toán:
- Xây dựng game đối kháng giữa người chơi và quái.
- 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, di chuyển, nhảy…
- Người chơi có thể lựa chọn các map khi ở giao diện map chinh!.
1.2 Biểu đồ USE CASE
Tác nhân: người chơi
USE case:
- Start game
- Select map
- Quit game

Hệ thống sẽ dừng hoạt động
1.3.3 Help
a) 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
b) 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
1.3.4 Select Map
a) Mô tả:
Người dùng sử dụng use case này để lựa chọn màn chơi game
b) 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
1.3.5 SELECT SKILL
7
NHÓM 35 LỚP KSCLC K57
Hình 2: biểu đồ use case phân giã 1
1.3.6 MOVE
8
NHÓM 35 LỚP KSCLC K57
NHẤN các phím skill
Nhấn W
Nhấn Q

2.1 Thiết Kế Lớp
2.1.1 Biểu Đồ Lớp
Các lớp bao gồm:
Class OnepieceFrame
Class board
Class LUFFY
Class Enermy
Class background
Class demon
Class animation
Class character
Hình 5: biểu đổ lớp 2
Hình 5: biểu đổ lớp 2
H
10
NHÓM 35 LỚP KSCLC K57
Hình 4 Biểu đồ lớp 1
11
NHÓM 35 LỚP KSCLC K57
Hình 5: biểu đổ lớp 2
2.1.2 Thiết Kế Chi Tiết Lớp
MỘT SỐ LỚP CHÍNH:
Lớp character là lớp cha có các thuộc tính:
HP,ManaHP,MAXMana,speed,x,y,dx,dy,visible,right,currentFrame,gtr;
Các getert,setert tương tứng và các Abstract method
TopRect(),BotRect(),BoundsRect(),EspaceRect();
12
NHÓM 35 LỚP KSCLC K57
Xây dựng lớp Board: extends JPanel,implement Runnable
Thuộc tính:

Phương thức
- LUFFY(),LUFFY(int level) hai hàm khởi tạo
- upDate(Enemy min, bulletSkill bullet,Background bg) phương thức dùng để cật nhật dữ
liệu cho lớp LUFFY mỗi khi lặp lại trong phương thức có xây dựng các thuật toán
chuyển động stand,jump,walk ,các thuật toán tấn công skill,skill1,skillulti và các thuật
toán sử lý va chạm với quái vật hay các thành phần khác trong map
- keyPressed(KeyEvent e) bắt sự kiện nhấn phím
- keyReleased(KeyEvent e) bắt sự kiện khi nhả phím
- TopRect() trả về hình chữ nhật chứa nửa thân trên của nhân vật
- BotRect() trả về hình chữ nhật chứa nửa thân dưới của nhân vật
- BoundsRect() trả về hình chữ nhật chứa đường bao ngoài toàn hình của nhân vật
- EspaceRect() trả về hình chữ nhật thể hiện vùng đánh quái
13
NHÓM 35 LỚP KSCLC K57
- Ngoài ra còn có các phương thức geter,seter tương tứng với các thuộc tính
Xây dựng lớp Enemy
Thuộc tính:
- Sound(soundEnemy)
- Delay,delaySkill(int)
- Stand,jump,jumpBefore,skill,skill1,beaten,rightBefore,skillulti,skillultiBullet(Boolean)
- Count,dame,countJump,coutSkillUlti(int)
- I(int)
Phương thức
- Enemy(int level) phương thức khởi tạo quái vật theo từng level
- update(LUFFY luffy) trong phương thức xây dựng các thuật toán chuyển động của quái
đuổi theo nhân vật, khi vào một khoảng nhất định quái sẽ tung ra các skill,skill1 để tấn
công nhân vật và khi được một quảng thời gian nhất định quái sẽ nhảy lùi lại tung ra
skillulti tấn công nhân vật
reong phương thức sử dụng các biến trạng thái boolean để xác định hành động của
quái diễn ra

15
NHÓM 35 LỚP KSCLC K57
initComponents()
phương thức dùng để khởi tạo frame có chứa 2 panel là Jpanel1 và Jpanel2
Jpanel1 có chứa các button start help quit trên mỗi button được đăng ký để nghe các sự
kiện click chuộn
Jpanel 2: có chứa button back và các label từ 0 đến 9
Button và label được gắn các sự kiện chuột để trở lại và vào map chơi game
Các phương thức sử lý sự kiện click chuột.
Started(int level)
Được thực hiện khi có sự kiện click chuột trên mỗi label ở jpanel 2
Main()
Là phương thức chính dùng để chạy khi JVM bắt đầu
Run()
Để thực hiện luồng
CHƯƠNG 3: CHƯƠNG TRÌNH MINH HỌA
Xây dựng chương trình
- Giới thiệu về công nghệ đã sử dụng để xây dựng chương trình minh họa
o Công nghệ sử dụng: JAVA
o Tính năng, ưu điểm của các công nghệ này: Kiến trúc thiết kế tốt, cộng đồng
mạnh, do là công nghệ mở, chạy tốt trên nhiều platform khác nhau (nhất là trên
linux).
o Lý do lựa chọn/sử dụng công nghệ: các ứng dụng có khả năng chạy thống nhất
trên nhiều nền tảng mà chỉ cần biên dịch một lần.
- Môi trường lập trình: NetBean IDE và Eclipse IDE.
Kết quả chương trình
- Một số hình ảnh demo thực hiện các chứng năng chính của chương trình. Trên mỗi giao
diện đều có các phím bấm tương ứng với các chức năng của chương trình.
16
NHÓM 35 LỚP KSCLC K57

phần, đầy đủ các phần theo mẫu.
Kiểm chứng thiết kế và kỹ năng lập trình
Theo các tiêu chí đánh giá
- Thiết kế và mã nguồn chương trình cần đáp ứng các yêu cầu tối thiểu của
các nguyên lý công nghệ hướng đối tượng: Mức độ trừu tượng hoá, đóng gói,
mô-đun hoá và phân cấp.
- Phong cách lập trình thống nhất, tuân thủ các quy ước lập trình chung.
- Bắt và xử lý ngoại lệ tốt.
Kiểm thử tích hợp
Kiểm thử chức năng chương trình, coi chương trình như hộp đen, chơi thử
chương trình game để kiểm tra lỗi
Theo các tiêu chí đánh giá
- Giao diện dễ nhìn, dễ sử dụng và hợp lý
- Các chức năng của chương trình
Với mỗi chức năng use case của chương trình, cần đưa ra các trường hợp kiểm
thử (test case) cần được thực hiện. Mỗi trường hợp kiểm thử cần đặc tả chi tiết
bao gồm những thông tin sau:
- Tên use case (tên chức năng)
- Tên trường hợp kiểm thử
- Người lập trình (tên thành viên nhóm kia trực tiếp lập trình chức năng này)
- Người kiểm thử (tên thành viên nhóm này thực hiện kiểm thử tích hợp)
24
NHÓM 35 LỚP KSCLC K57
- Trạng thái: Còn lỗi, Chạy thông
Nếu còn lỗi, cần có thêm thông tin: Các bước cần thực hiện để tái tạo lỗi.
Ví dụ về bảng kiểm thử chức năng:
Mã lỗi Tên lỗi Use case
Trạng
thái
Người

• Nhập các trường
khác bình thường
• Nhấn nút Cập nhật
• Thông báo: "Có lỗi
nghiêm trọng xảy ra.
Input string was not
in a correct format"
• File ảnh đính kèm: 2-
ThoiGianThi.jpg
UC02-01
Chức năng Print
không hoạt động
Thi thật Còn lỗi NhungTT
1- Chức
năng (thiếu
chức năng)
• Tiến hành chọn bài
thi và thi
• Nhấn nút Kết thúc
• Nhấn nút Print
Không thực hiện gì
25
NHÓM 35 LỚP KSCLC K57


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status