1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo lập trình windows game tank

21 1,3K 12
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Game Tank
Tác giả Huỳnh Ngọc Hiệp, Nguyễn Tấn Hoan
Người hướng dẫn ThS. Phạm Thi Vương
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Lập Trình Trên Windows
Thể loại Báo cáo
Năm xuất bản 2012
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 21
Dung lượng 12,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để có thể đáp ứng mộtcách tốt nhất thị hiếu cho người chơi thì game cần phải có những tính năng ưu việthơn các phần mềm khác.. Ngoài một số chức năng như các game bắn tăng khác,game của

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

TP Hồ Chí Minh, tháng 5 năm 2012

Trang 3

LỜI CẢM ƠN

Trong suốt thời gian học tập và hoàn thành báo cuối cuối kỳ, chúng em đã nhậnđược sự giúp đỡ, chỉ bảo tận tình của các thầy cô Trường đại học công nghệ thông tin –Đại học quốc gia thành phố Hồ Chí Minh Chúng em xin gửi lời cảm ơn sâu sắc đến quýthầy cô

Đặc biệt xin chân thành cảm ơn thầy Phạm Thi Vương – người đã trực tiếp hướngdẫn và tạo mọi điều kiện thuận lợi giúp đỡ chúng em hoàn thành báo cáo này

Chúng em cũng xin cảm ơn chân thành tới gia đình và bạn bè đã tạo điều kiện,giúp đỡ và động viên chúng em hoàn thành bài báo cáo đúng thời hạn

Mặc dù đã cố gắng hết khả năng nhưng bài báo cáo không thể nào tránh khỏinhững thiếu xót Rất mong nhận được sự góp ý quý báu của quý thầy cô để đồ án hoànchỉnh hơn

Nhóm sinh viên thực hiện

Nhóm 7Tháng 5 – 2012

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN

Trang 5

MỤC LỤC

I Giới thiệu Game Tank: 1

1 Mô tả Game Tank: 1

2 Các chức năng chính của Game Tank: 1

II Giao diện chính của Game Tank: 3

1 Màn hình Loading game: 3

2 Menu game: 3

3 Màn hình Play (Chơi game): 4

4 Màn hình Pause: 4

5 Màn hình Option (Tùy chọn): 5

6 Màn hình Construction (Hướng dẫn): 6

7 Màn hình High Score (Thành tích): 7

8 Màn hình About (Thông tin): 7

III Các giải thuật dùng trong Game Tank: 8

1 Sơ đồ lớp và chức năng: 8

1.1 Sơ đồ lớp xây dựng giao diện cho game: 8

1.2 Sơ đồ lớp xây dựng tường: 9

1.3 Sơ đồ lớp xây dựng Gift: 9

1.4 Sơ đồ lớp xây dựng Map Editor: 10

1.5 Hình ảnh, âm thành và font chữ trong game: 10

2 Giải thuật toán quan trọng trong game: 11

Trang 6

IV Tổng kết: 15

Trang 7

I. Giới thiệu Game Tank:

1 Mô tả Game Tank:

Như chúng ta đã biết, hiện nay đã có rất rất nhiều game bắn xe tăng khác nhau,dường như trò chơi bắn xe tăng đã trở nên quá phổ biến Để có thể đáp ứng mộtcách tốt nhất thị hiếu cho người chơi thì game cần phải có những tính năng ưu việthơn các phần mềm khác Ngoài một số chức năng như các game bắn tăng khác,game của chúng ta cần phải xây dựng lên những tích năng mà các game kháckhông có nhiều và làm nổi bật những tính năng đó

Hiện nay có một sô công cụ, ngôn ngữ, môi trường để phát triển game, nhómchúng em đã chọn XNA để hoàn thành game bắn xe tăng bởi:

- Ngôn ngữ lập trình CSharp đơn giản, dễ học và hiểu nhanh hơn so với cácngôn ngữ lập trình khác

- Môi trường XNA làm việc chuyên nghiệp, quản lý tốt khi làm game trênwindows

- Microsoft tín nhiệm thư viện XNA này

2 Các chức năng chính của Game Tank:

Cũng như các tính năng chính của các game bắn xe tăng thông thường, GameTank có một số tình năng cơ bản và ưu việt sau:

 Cho phép người chơi khởi tạo trò chơi mới

 Trong khi chơi, game có một số chức năng nổi bật sau:

Người chơi điều khiển xe tăng bảo vệ Heart và tiêu diệt các xe tăngđịch Khi người chơi tiêu diệt toàn bộ xe tăng địch và bảo vệ an toànHeart thì người chơi sẽ hoàn thành level đó Qua các level cao hơn thìtốc độ di chuyển, tốc độ bắn đạn của xe tăng địch sẽ tăng lên và cùngvới đó là các tường bảo vệ được đơn giản hơn

Để trợ giúp một phần nào đó cho người chơi thì trong khi chơi game xetăng bảo vệ có thể nhận được một số gift sau:

ItemBomb ItemBullet ItemLife ItemMove ItemScore

 ItemBomb: Là một item nguy hiểm cho người chơi và xe tăngđịch, khi xe tăng bảo vệ hay xe tăng địch va chạm với item này thì

xe tăng đó sẽ bị tiêu diệt ngay tức khắc Vì vậy, trong khi chơingười chơi nên cẩn thận với item này

Trang 8

 ItemBullet: Tăng tốc độ bắn đạn cho xe tăng địch.

 ItemLife: Tăng số mạng của xe tăng bảo vệ lên 1 mạng

 ItemMove: Tăng tốc độ di chuyển cho xe tăng bảo vệ

 ItemScore: Cộng điểm thành tích cho người chơi

 Trong phần Option của game, người chơi có thể tắt/mở âm thanh tronggame tùy theo ý thích

Cùng với đó là tính năng Map Editor của game, cho phép người chơithực hiện một số chức năng cơ bản sau:

 Thiết kế map chơi game tùy chọn theo ý thích của người chơi.Bạn có thể thiết kế map với nhiều loại tường khác nhau như: gạch,

bê tông, nước và cỏ sao cho người chơi cảm thấy thích thú và hấpdẫn khi chơi game

Sau khi thiết kế map hoàn chỉnh, người chơi có thể lưu map dướidạng file txt và sử dụng tính năng open map để chơi game vớimap do bạn thiết kế

 Open tùy chọn do người chơi thiết kế hoặc các level cao hơn tronggame

 Giúp người chơi lưu thành tích cao nhất khi chơi game

 Nếu người chơi chưa biết được cách chơi game, làm để nào để điềukhiển xe tăng, game có hướng dẫn cách chơi game cụ thể cho ngườichơi

 Hiển thị thông tin cơ bản về nhóm hoàn thành game

Trang 9

II Giao diện chính của Game Tank:

Các giao diện chính của game như sau:

Trang 10

3 Màn hình Play (Chơi game):

Phần giao diện quan trọng nhất trong game, nơi người chơi chơi và cảm nhận

về game

4 Màn hình Pause:

Trang 11

5 Màn hình Option (Tùy chọn):

Trong phần Option, ta có thêm tùy chọn Map Editor dùng để thiết kế Map chơicho game Thiết kế map xong bạn có thể sử dụng chức năng lưu map, mở map theo ýthích

Giao diện ban đầu khi mở Map Editor:

Trang 12

Giao diện sau khi thiết kế Map Editor theo ý thích của bạn:

6 Màn hình Construction (Hướng dẫn):

Hiển thị các hướng dẫn chơi và sử dụng game một cách tốt nhất

Trang 13

7 Màn hình High Score (Thành tích):

Hiển thị điểm số người chơi cao nhất trong game

8 Màn hình About (Thông tin):

Hiển thị thông tin về nhóm tác giả hoàn thành game

Trang 14

III Các giải thuật dùng trong Game Tank:

1 Sơ đồ lớp và chức năng:

1.1 Sơ đồ lớp xây dựng giao diện cho game:

Lớp GameScene là một lớp trừu tượng, các lớp khác được kế thừa từ lớpGameScene dùng làm xây dựng nên các giao diện chính cho game và các màn hình hiểnthị khi hoàn thành một level hay hoàn thành game

Trang 15

1.2 Sơ đồ lớp xây dựng tường:

Game bao gồm các loại tường: gạch, bê tông, nước, cỏ và heart, nên game được xâydựng từ các class kế thừa từ lớp clsWall

1.3 Sơ đồ lớp xây dựng Gift:

Trang 16

1.4 Sơ đồ lớp xây dựng Map Editor:

1.5 Hình ảnh, âm thành và font chữ trong game:

Audio và Image chứa các hình ảnh và âm thanh được sử dụng game

Cùng với đó là kiểu chữ được định dạng ở font trong thư viện Font

Trang 17

2 Giải thuật toán quan trọng trong game:

2.1 Giải thuật quản lý và vẽ các thành phần giao diện:

// Đế! m số! thành phần trong giao diện

for ( int i = 0; i < components.Count; i++)

Trang 18

2.2 Kỹ thuật đọc Map từ file txt:

// Lưu thống tin map đọc vào

public static byte [,] _map;

// Biế! n cờ chỉ 4 trạng thái mơ 4 map bằng MapEditor hay chế! độ mặc định

public static bool isOpen;

// Đường dầK n đế! n file txt lưu map

public static String filePath = "" ;

public static void LoadMap( int level) {

System.IO StreamReader sr = null ; // Nế! u map được mơ 4 bằng MapEditor if (isOpen) {

// Lầ! y đường dầK n file txt sr = System.IO File OpenText(filePath); }

// Nế! u map được mơ 4 theo chế! độ mặc định trong game else {

// Lầ! y file txt theo level mà người chơi đang chơi sr = System.IO File OpenText( "Map" + level + ".txt" ); }

try {

// Lưu nội dung map _map = new byte [14, 17]; // Lưu nội dung file txt string s = "" ; int i = 0; while ((s = sr.ReadLine()) != null ) {

int n = s.Length; for ( int k = 0; k < n; k++) {

string mypoint = s[k].ToString(); // Lầ! y thống tin map _map[i, k] = byte Parse(mypoint); }

i++;

}

}

catch (System Exception ex) {

}

}

Trang 19

2.3 Kỹ thuật xét va chạm:

Va chạm giữa xe tăng với tường:

// Kiế4 m tra vị trí giữa xe tăng và tường

private bool isIn( Vector2 _position, clsWall wall) {

if (((_position.X > wall.position.X)

&& (_position.X < (wall.position.X + wall.size.X)))

&& ((_position.Y > wall.position.Y)

&& (_position.Y < (wall.position.Y + wall.size.Y))))

return true ; else

return false ; }

// Kiế4 m tra va chạm giữa xe tăng với tường

public bool IsCollides( clsWall wall) {

if (isIn(position, wall)

|| isIn(position + new Vector2 (size.X, 0), wall)

|| isIn(position + new Vector2 (0, size.Y), wall)

|| isIn(position + size, wall)

|| isIn(position + new Vector2 (size.X / 2, 0), wall)

|| isIn(position + new Vector2 (size.X, size.Y / 2), wall)

|| isIn(position + new Vector2 (size.X / 2, size.Y), wall) || isIn(position + new Vector2 (0, size.Y / 2), wall)) return true ;

else

return false ; }

Va chạm giữa xe tăng với đạn và giữa đạn với heart:

// Sư4 dụng hàm Intersects(Rectangle value) được xầy dựng

săK n đế4 kiế4 m tra va chạm

, new Rectangle (( int )position.X

, ( int )position.Y, texture.Width, texture.Height)

, new Rectangle (0, 0, texture.Width, texture.Height) , Color White

, 0

, Vector2 Zero

, SpriteEffects None, 5f);

Trang 20

( int )positionCircleBurn.Y - 50, 120, 120) , new Rectangle (( int )(frameX * 120), 0, 120, 120) , Color White

Trang 21

IV Tổng kết:

Việc sử dụng thư viện lập trình game XNA trong CSharp vào lập trình giúpviệc lập trình game và trình bày, thể hiển được trong sáng hơn, bên cạnh đó giúptối ưu hóa code dể dàng Giúp cho việc phân tích thiết kế dễ đi vào khuôn mẫu vàthực hiện

Mặc dù đã cố gắng hoàn thiện chương trình, tuy nhiên việc sai sót trong lậptrình là khó tránh khỏi và còn một số hạn chế mong thầy và các bạn thông cảm vàgóp để chương trình hoàn thiện hơn

Cảm ơn thầy và các bạn đã theo dõi báo cáo của nhóm!

Ngày đăng: 02/01/2014, 21:46

HÌNH ẢNH LIÊN QUAN

1. Sơ đồ lớp và chức năng: - Báo cáo lập trình windows   game tank
1. Sơ đồ lớp và chức năng: (Trang 14)
1.2. Sơ đồ lớp xây dựng tường: - Báo cáo lập trình windows   game tank
1.2. Sơ đồ lớp xây dựng tường: (Trang 15)
1.3. Sơ đồ lớp xây dựng Gift: - Báo cáo lập trình windows   game tank
1.3. Sơ đồ lớp xây dựng Gift: (Trang 15)
1.4. Sơ đồ lớp xây dựng Map Editor: - Báo cáo lập trình windows   game tank
1.4. Sơ đồ lớp xây dựng Map Editor: (Trang 16)
1.5. Hình ảnh, âm thành và font chữ trong game: - Báo cáo lập trình windows   game tank
1.5. Hình ảnh, âm thành và font chữ trong game: (Trang 16)

TỪ KHÓA LIÊN QUAN

w