1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

14 1,7K 45

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 737 KB

Nội dung

1) Khái quát về game. 2) Phân tích các chức năng. 3) thiết kế ứng dụng

Trang 1

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

Trang 2

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

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ộ

Trang 3

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ả:

_ Game cấu hình nhẹ, đơn giản, giải trí lành mạnh

*Cách chơi:

_ Người chơi click chuột/space để FlappyBird nhảy liên tục vượt qua các ống nước với:

+ Điều kiện lên điểm: vượt qua ½ ống nước, không phạm lỗi chạm ống, không bị rớt xuống đất,

mỗi lần như thế + 1 điểm

+ Điều kiện thất bại (GameOver): vi phạm lỗi trên (lập tức tính điểm tổng kết và so sánh best

score)

Đề tài có sử dụng công nghệ C#, XNA 2D Project.

Trang 4

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.

_ Animations (hoạt họa cho các đối tượng trong game):

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:

+ Khi FB vượt qua ½X => cho phép tăng điểm.

+ chiều dài Y để code rotated pipes hoạt động (luân phiên ống nước).

Trang 5

c/ Camera Moving: Kết hợp với các Rotated Pipes trên, Camera Moving giúp người chơi cảm giác như

FB đang bay vì các ống nước liên tục tiến và thay đổi kích thước.

_ 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).

_ Hướng dẫn: Trước khi vào game, sẽ có 1 bảng loading, trong bảng đó có phần

hướng dẫn cụ thể cách chơi, các phím dùng cho người chơi.

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

Trang 6

III Thiết kế ứng dụng

1/ Use Case Diagram

Mô hình UCD

Splash screen

Normal Mode

Play guides

Play Game

Control

Save Scores

Cross to exe

Compare

Save new player

Trang 7

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”

Trang 8

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:

Mô hình ERD cho game FlappyBird

4/ Thiết kế giao diện

Trang 9

*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)

Trang 10

3 Giao diện nền thời buổi trong ngày (Sky)

4 Giao diện màu của hoạt ảnh cho chú chim Flappy Birds

Và một số giao diện huy chương

Trang 11

Hình ảnh thô sơ mô phỏng các ống nước luân phiên (rào cản)

- Có hướng dẫn cụ thể về random size –

(Sau khi “tinh chế” lại thì các Pipes trông mượt mà và bắt mắt hơn)

Trang 12

5/ Sequence Diagram

6/ Activity Diagram

Splash Screen

Splash Screen Guides ScreenGuides Screen ScreenGame ScreenGame GameOver GameOver ScreenScreen

1.Find guide

2 Show

3 Check Modes

4.1 Lose

4.2 Score

5

Compare Score &

Save

6 Show

Gamer

Y/c chọn

Mode

Choose

Mode

Exit

Tự thay đổi Best Score

Trang 13

Splash Screen

Guide Selection

Guide Selection

Mode Selection

Mode Selection

GAME OVER

[exit]

[exit]

[continue]

Display Error Data Auto Fix

Ref.: Đưa về giá trị mặc định = 0 điểm

Ref.: Đưa về giá trị mặc định = 0 điểm

[wait for showing]

[select]

[error]

[continue]

Ref.: F,

ESC, P,

Ref.: F,

ESC, P,

[fail]

[alive]

[select]

Trang 14

IV Kết luận sơ bộ

Demo Ứng dụng (Cách chạy chương trình – source)

- 1 Giải nén “font flappybird.rar” để copy font này vào folder FONT của hệ điều hành.

 Hỗ trợ Font đặc biệt cho Game

- 2 Install XNA Project để run source:

a XNA Game studio FRAMEWORK

-Link: http://www.microsoft.com/en-ph/download/details.aspx?id=23714

b XNA FRAMEWORK REDIST 4.0

-Link: http://www.microsoft.com/en-ph/download/details.aspx?id=20914

- 3 Tiến hành chạy Source như thường.

Kết luận – giải pháp cải thiện

- Chương trình trước mắt đã chạy theo đúng như yêu cầu và chỉ tiêu đề ra, không mắc phải

các lỗi nghiêm trọng cũng như chiếm dụng bộ nhớ Ram không hề cao, không quá cầu kỳ và

rất dễ sử dụng – thân thiện với người dùng.

- Tuy nhiên, đây chỉ là lấy ý tưởng game của người khác, chưa mang tính sáng tạo thực tiễn và

game chưa nhạy bén hoàn hảo như bản gốc của tác giả Nguyễn Hà Đông.

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:

+ Chế độ Hard Mode, Hell Mode với cách thức chơi lạ mắt, sáng tạo hơn.

+ Thêm các rào chắn mới, khung nền hiển thị mới.

+ Thêm màn mới với những nhân vật mới.

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

Ngày đăng: 06/06/2014, 10:05

HÌNH ẢNH LIÊN QUAN

Hình ảnh thô sơ mô phỏng các ống nước luân phiên (rào cản) - Chương trình  game flappy bird sử dụng Framework gọi XNA 2D
nh ảnh thô sơ mô phỏng các ống nước luân phiên (rào cản) (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w