Tải bản đầy đủ (.doc) (14 trang)

Chương trình game flappy bird sử dụng Framework gọi XNA 2D

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (491.44 KB, 14 trang )

0
[FLAPPY BIRDS GAME]

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.HCM
KHOA CNTT – MÔN CNPM

- - - o0 - - o0o - - - 0o - - -
ĐỀ TÀI : PHẦN MỀM C# GAME FLAPPY BIRDS
(Có sử dụng Framework để gọi XNA 2D)
*Giảng viên hướng dẫn : ThS. Trương Thị Ngọc Phượng
Mã nhóm: 11
-Thành viên nhóm-
Nguyễn Xuân Hoàng (1151020091)
Võ Hoàng Việt (1151020184)
Hoàng Đức Việt (1151020182)
Lớp: 11DTH02
Tp.Hồ Chí Minh ,tháng 04 năm 2014
0
[FLAPPY BIRDS GAME]

Mục lục đề tài
I. Khái quát, sơ lược Game
1/ Giới thiệu trang 2
2/ Mô tả đề tài trang 2
II. Phân tích yêu cầu
1/ Yêu cầu chức năng trang 3
2/ Yêu cầu phi chức năng trang 4
III. Thiết kế ứng dụng
1/ Use Case Diagram trang 5
2/ Mô hình DFD trang 6
• Cấp 1 trang 6


• Cấp 2 trang 6
• Cấp 3 trang 7
3/ Mô hình PDM trang 7
4/ Thiết kế giao diện trang 8
5/ Sequence Diagram trang 11
6/ Activity Diagram trang 12
IV. Kết luận sơ bộ
• Demo Ứng dụng trang 13
• Kết luận – giải pháp cải thiện trang 13
0
[FLAPPY BIRDS GAME]

I. Khái quát, sơ lược Game
1/ Giới thiệu
_ Trước tiên, khi nhắc tới game Flappy Birds, ai cũng phải nhớ đến với những tình huống dở
cười vì cách chơi tuy đơn giản nhưng không hề dễ để lấy điểm cao. Thực sự khi nói đến game
này, người ta sẽ không nghĩ tới một thể loại game đình đám về cả cấu hình, AI, hay cả trí tuệ
nhân tạo tuyệt đỉnh, mà đó là 1 sự thách thức giữa những người chơi với nhau, tạo nên một mối
liên kết cộng đồng. Đây chính là sự thành công có hơi chút may mắn của người cha đẻ game
Flappy Birds – Nguyễn Hà Đông.
_ Game tuy đơn giản về lối chơi, nhưng lại nhận được đón nhận đông đảo của công chúng khắp
nơi, nó tạo nên một tiền đề về nhận thức mới cho Code Game của nhiều hãng game nổi tiếng
toàn cầu – không cầu kỳ, không hoa mỹ, chỉ cần đơn giản, dễ nhìn, dễ sử dụng – và thế là nhiều
hãng đua nhau thiết kế những loại game đơn giản như thế này, nhanh gọn 500 - 1000$/bản game.
*Có thể bạn chưa biết: một chiếc Iphone bản quyền có tải bản cập nhật cuối cùng của game
Flappy Birds từ AppStore, được rao giá bán gấp 10 lần chiếc Iphone đó trên Ebay ?!!
Tái bút: nhóm đã chọn đề tài này vì không phải mục đích ăn cắp bản quyền, mà đó là thể hiện
một sự ngưỡng mộ đến sự thành công mà game Flappy Birds đã từng khuấy đảo trị trường game
di động trong khoảng thời gian không hề ngắn. Có thể mọi người sẽ nói game đơn giản – những
người coder giỏi – nhưng đối với những sinh viên năm 3 thì đó là cả một hành trang vô cùng quý

báu trước khi tiến bước đến những công nghệ hoàn mỹ hơn !
2/ Mô tả đề tài
*Đề tài:Game FlappyBird
*Mô tả:
 !
*Cách chơi:
"#$%&'()*+,-+./0#1234#5056
789%:.)60#12;4#5%< = 4%<>?5@4
=A#B7)!
789%:> CD0E60 =.!CFGH)I%B0(J(3>(
(JE
Đề tài có sử dụng công nghệ C#, XNA 2D Project.
0
[FLAPPY BIRDS GAME]

II. Phân tích yêu cầu
1/ Yêu cầu chức năng
_ Các buttons (phím ấn):
• F: Mở rộng màn hình hết cỡ (Toggle Full screen) – Mặc định màn hình game: 650x500.
• P: Chương trình game dừng hẳn trong vòng 10 giây rồi tiếp tục cho chơi tiếp (gần giống
Pause).
• Spacebar, Left-Click, Right-Click: Dùng để làm Flappy Bird nhảy lên.
• ESC: Thoát game.
KJ(CJ LJ34#1JE6
a/ FlappyBirds
• Liên tục đổi ảnh (chọn 1 ảnh có 3 cử động khác nhau), split theo vị trí và thời gian hạn định,
giúp Flappy Birds (FB) trông như đang hoạt động vỗ cánh.
• Khả năng quay (chúi, nghểnh đầu) khi FB được click và không click.
• Trọng lực: tạo một đoạn code sao cho nếu thả click ra FB rơi với tốc độ nhanh chậm bao
nhiêu, bay nhảy độ cao thế nào cho đến khi chạm đất.

• Vị trí khởi điểm của FB, vị trí tương đối so với màn hình di chuyển các ống nước.
b/ Ống nước
• Luân phiên các ống nước xuất hiện với kích thước khác nhau.
• Độ rộng-dài (X-Y) của ống nước đóng vai trò để tính xác định điểm:
7M*,0#12;NOPJQR)!
79-S)J-J-(J &CT.4#5E!
0
[FLAPPY BIRDS GAME]

c/ Camera Moving:MB1053UJ-V(.WXJ0Y#$3#
*,>+034#5./KB0+I%#5!
_ Phát Huy Chương: Dựa trên số điểm của người chơi mà chương trình hiện kết
quả đồng thời hiện thành tích huy chương cho người đó ứng với số điểm tương
thích.
_ Tính điểm: FB vượt qua mỗi ống nước nhận +1 điểm cho đến khi thất bại (rớt
hoặc chạm ống)
_ Lưu Điểm:
• Tạo một file txt lưu trữ số điểm cao nhất, có tên là “fb_top.txt” trong folder chính
MyDocument.
• Mỗi lần tính điểm cuối cùng trong game, chương trình sẽ tự động so sánh điểm cuối cùng
đang chơi đó và điểm số ghi trong file txt trên. Nếu điểm số đang chơi lớn hơn điểm lưu thì
chương trình tự động lưu điểm đó thành điểm mới cho vào file txt.
• Giả sử người chơi vô ý xóa mất file lưu điểm trên, chương trình tự động phục hồi file và gán
giá trị mặc định bằng 0 (điểm).
Z#5-[6\#5%0J(]^>J-J>^^A
#5-[/)33-_J#$!
2/ Yêu cầu phi chức năng
_ Tự động đổi ảnh nền bầu trời, ảnh màu sắc khác của FB theo code random load content.
_ Font chuẩn game Flappy Bird.
_ Màn hình loading game.

_ Một số hiển thị chữ thông báo trong quá trình chơi game.
_ Âm thanh sống động, chân thực.
0
[FLAPPY BIRDS GAME]

III. Thiết kế ứng dụng
1/ Use Case Diagram
Mô hình UCD
`(
(
"J
XJ-
V+
-(
V+

WJJ
,-

`J(
`0
`J(
WJ((J@
WJ((J@
WJ
WJ
`0a
`0a
+
+

0
[FLAPPY BIRDS GAME]

2/ Mô hình DFD
• Cấp 1
Mô hình DFD cấp 1
• Cấp 2
Mô hình DFD cấp 2 – Phân tích xử lý “Play Game”
0
[FLAPPY BIRDS GAME]

• Cấp 3
Mô hình DFD cấp 3 - – Phân tích xử lý “Control Bird”
3/ Mô hình PDM
_ Vì chương trình game Flappy Birds không sử dụng database nên mô hình PDM sẽ được thay
thế bằng dạng mô hình ERD mô phỏng dữ liệu:

4/ Thiết kế giao diện
0
[FLAPPY BIRDS GAME]

*Forum.Game2K.Net*
thành viên Nguyễn Xuân Hoàng sẽ khởi tạo
“Forum chia sẻ Open Sources” trong thời gian tới 
Mẫu giao diện cho màn hình chào (Splash Screen)
0
[FLAPPY BIRDS GAME]

 !"#$%
&!'()*+

,,,-!.+/01
0
[FLAPPY BIRDS GAME]

2)+134/0567"!)%
89:05;<=>+?@
"#$ABCD(4E+0F!>!GG1%
0
[FLAPPY BIRDS GAME]

5/ Sequence Diagram
6/ Activity Diagram
`(
`
`(
`
-(
`
-(
`

`

`
D0
`
D0
`
!*--
!`Ja

b!W%XJ-(
!!cJ(
!!`J
!
WJ
`Jd
`0
e!`Ja

S'L
XJ-
WJJ(
XJ-
f@
\g+I,(`J
0
[FLAPPY BIRDS GAME]

`(`
`(`
-
`KJ
-
`KJ
XJ-
`KJ
XJ-
`KJ
"J
"J

Z-
Z-
Z
Z
KJ(
KJ(
,
,
WJJ
WJJ
"J
"J
Z-
Z-
Z
Z
D,hJ(
D,hJ(
iWJJ
iWJJ
VJ(
VJ(
XfDjfU
XfDjfU
k@l
k@l
k@l
k@l
kJKl
kJKl

m(+fJm
m(+fJm
J*@
J*@
Un!68#093?
o?O)
Un!68#093?
o?O)
kanJ(Jal
kanJ(Jal
k(l
k(l
kJl
kJl
kJKl
kJKl
Un!6*
f`WV!!!
Un!6*
f`WV!!!
knl
knl
k0l
k0l
k(l
k(l
0
[FLAPPY BIRDS GAME]

IV. Kết luận sơ bộ

• Demo Ứng dụng (Cách chạy chương trình – source)
p 1. Giải nénqnJr+>-!s)J+nJ+0JnJ-*D"\t:9!
 Z=1*Jo>:J
p 2. Install XNA Project để run source:
!N"(-J*UXfuDUM
pc%6h6''aaa!J(Jv!J'p'-JaJ-'-(!(@w-Obx
>!N"*UXfuDUMUfmy`\!
pc%6h6''aaa!J(Jv!J'p'-JaJ-'-(!(@w-Oz
p 3. Tiến hành chạy Source như thường.

• Kết luận – giải pháp cải thiện
p W##5{| +JY#+.A0}K.9%<{
3=.L~#B-/>&5U%<9J%<23A%•0
-€(•-/‚T:05#$-_!
p \+.T+}+ƒ#„t#$%3#H(3 JgK€0
# +>QJJ#>4t3"+€Z8<!
Ngoài những vấn đề cần cải thiện trên, trong tương lai nhóm có thể phát triển thêm:
7WB&Z-XJ-ZXJ-053G {(3 J!
7\.3J{5%9)?5!
7\.505…T0F5!
Cảm ơn giảng viên phụ trách và các bạn đã đọc qua.
Chúc một ngày vui vẻ !
Nhóm 11
Hết

×