I H C QU C GIA THÀNH PH H CHÍ MINH ĐẠ Ọ Ố Ố Ồ
TR NG I H C CÔNG NGH THÔNG TIN ƯỜ ĐẠ Ọ Ệ
KHOA CÔNG NGH PH N M M Ệ Ầ Ề
BÁO CÁO ÁN CU I KÌ ĐỒ Ố
MÔN L P TRÌNH NHÚNGẬ
Đề tài:
GAME UFOInvaders
Lớp: SE105.D11.
Giáo viên hướng dẫn: Ths. PHAN NGUY T MINH Ệ
Sinh viên thực hiện: V V N LÝŨ Ă 10520085
HU NH NG C HI P 10520128Ỳ Ọ Ệ
NGUY N T N HOAN 10520135Ễ Ấ
Lớp: CNPM
Khoá: 05
TP. H Chí Minh, tháng 12 n m 2012 ồ ă
M U Ở ĐẦ
Báo cáo “Game UFOInvaders” bao gồm tất cả 4 chương:
Ch ng 1. Gi i thi u Game UFOInvadersươ ớ ệ : Giới thiệu khái quát về sự hình
thành và luật chơi Game UFOInvaders.
Ch ng 2. Thi t k ch ng trìnhươ ế ế ươ :Trình bày ý tưởng thực hiện và kiến trúc
chương trình.
Ch ng 3. Thi t k giao di n t ng tácươ ế ế ệ ươ : Các giao diện trong Game và
hướng dẫn sử dụng chương trình.
Ch ng 4. T ng k tươ ổ ế : Nhận xét về chương trình và đưa ra hướng phát triển sau
này.
L I C M N Ờ Ả Ơ
Trong khoảng thời gian thực hiện đề tài này, chúng em đã nhận được sự giúp đỡ,
chỉ bảo tận tình của thầy cô bộ môn. 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 Ths. Phan Nguy t Minhệ cũng là giảng viên phụ
trách trực tiếp giảng dạy chúng em - là người hướng dẫn, cung cấp cho chúng em những
tài liệu và tạo điều kiện thuận lợi giúp đỡ chúng em để hoàn thành đề tài một cách tốt
nhất
Chúng em cũng gửi lời cảm ơn đến bạn bè đã giúp đỡ chúng em hoàn thành đề tài
này.
Do thời gian và kiến thức có hạn nên mặc dù đã cố gắng hết khả năng nhưng đề tài
không thể nào tránh
khỏi những thiếu sót. Rất mong được sự đóng góp của quý thầy cô để
đề tài này hoàn
chỉnh hơn.
Nhóm sinh viên thực hiện
Vũ Văn Lý
Huỳnh Ngọc Hiệp
Nguyễn Tấn Hoan.
Tháng 12 năm 2012
NH N XÉT Ậ
(C a gi ng viên h ng d n)ủ ả ướ ẫ
CH NG 1: GI I THI U GAME UFOInvadersƯƠ Ớ Ệ
1.1 Gi i thi u khái quát v Game UFOInvadersớ ệ ề
1.1.1 Cách th c ch i gameứ ơ
o Trong Game có các UFO xâm l c trái đ tượ ấ
1.1.2 i u ki n th ng Đ ề ệ ắ
Người chơi bắn hết các UFO và hoàn thành các level của game.
1.2 Xây d ng ch ng trình và công c h tr ự ươ ụ ỗ ợ
Chương trình được viết bằng ngôn ngữ XNA trên nền Visual Studio 2010. với .Net
Framework 4.0. Do đó yêu cầu hệ thống phải cài .Net Framework trở lên.
Chương trình sử dụng Photoshop trong quá trình thiết kế giao diện.
CH NG 2: THI T K CH NG TRÌNH ƯƠ Ế Ế ƯƠ
2.1 Ý t ng chínhưở
Xây dựng Game với hai đối tượng chính là StarShip và các UFOs, trong đó UFO được
random và di chuyển mọi hướng trong màn hình chơi game.
- StarShip(Player):
o
StarShip là các Sprite được thiết kế bằng photoshop để thể hiện Animation
trong game.
o Phương thức chính: StarShip di chuyển sang trái, phải, lên, xuống để né và ăn các
món quà do UFO sau khi chết để lại và đặc biệt, có thể bắn đạn để tiêu diệt UFO.
- UFOs:
o UFO là một hình Sprite được thiết kế bằng photoshop để thể hiện Animation
trong game.
o Các phương thức chính: Di chuyển có hướng xác định trước và sau một khoảng thời gian thì
bắn đạn tiêu diệt StarShip.
2.2 Các Class trong Game.
o Class GameScreenManager: là m t thành ph n dùng đ qu n lí m t ộ ầ ể ả ộ
hay nhi u thành ph n GameScreen. Nó duy trì màn hình, update và ề ầ
c p nh t Input c a màn hình đ c hi n th .ậ ậ ủ ươ ể ị
o Class InputState: là m t class quan tr ng trong game. Có tác d ng độ ọ ụ ể
thi t l p input trong game.ế ậ
o Class GameScreen: là m t Abstract class g m các ph ng th c đ cácộ ồ ươ ứ ể
class khác th c thi các ph ng th c c a nó.ự ươ ứ ủ
o Class BackgroundScreen: m c đích làm n n cho các màn ch i.ụ ề ơ
o Class MainMenuScreen, GamePlayScreen….: là các màn hình trong
m t game bình th ng.ộ ườ
o Class StarShip: là m t class quan tr ng trong game, là m t đ i t ng ộ ọ ộ ố ượ
trong Game, là m t th hi n c a ng i ch i trong Game. ộ ể ệ ủ ườ ơ
o Class UFOsManager: là class đ quan lí các Ufo trong Game.ể
o Class ExtrasManager: qu n lí các món quà mà các UFO sau khi ch t ả ế
đ l i.ể ạ
o Class BulletsManager: qu n lí các lo i đ n c a player.ả ạ ạ ủ
o Class SoundManager, MusicManager: là các class đ qu n lí âm thanhể ả
trong game.
2.3 Thi t k classế ế
o GameState:
o Object và Manager:
2.4 Thu t toán trong Game:ậ
o Cách di chuyển của Object:
Trong game chúng em đã cài đặt các UFO di chuyển khác nhau tại các Level khác nhau. Cụ
thể: di chuyển hình thoi, di chuyển theo hàng…
Đối với StarShip: thì sử dụng các va chạm vào màn hình để điều khiển con tàu theo ý muốn
người chơi.
Các Extra sẽ được tạo ra sau khi UFO chết và chúng được di chuyển từ trên xuống.
Để người chơi không bị chán thì background chúng em cũng cho di chuyển từ trên xuống
dưới. Tạo cảm giác như người chơi đang di chuyển con tàu lên trên.
o Hiệu ứng trong Game:
Va chạm giữa các UFO, va chạm giữa con tàu và UFO
UFO bị tiêu diệt thì chúng em tạo ra một hình sprite giúp tạo hình ảnh nổ UFO thiệt hơn.
CH NG 3: THI T K GIAO DI N T NG TÁC ƯƠ Ế Ế Ệ ƯƠ
3.1 Giao diện màn hình Menu:
3.2 Giao diện màn hình Play:
3.3 Giao diện màn hình Pause:
3.4 Giao diện màn hình Option:
3.5 Giao diện màn hình Help:
3.6 Giao diện màn hình About:
3.7 Giao diện màn hình About:
CH NG 4: T NG K T ƯƠ Ổ Ế
4.1. Ưu điểm:
o Chương trình có giao diện đẹp, mang tính phưu lưu, hành động. Kết hợp âm thanh
khiến người chơi lạc vào một thế giới ảo trở về thời bảo vệ tổ quốc….
o Quá trình điều khiển StarShip rất dễ dàng…
o Chương trình gần như giống một game bình thường trên Windows Phone 7.
4.2 Hạn chế:
Game UFOInvaders được thiết kế có đủ các chức năng cơ bản của một trò chơi phưu lưu.
Mặc dù chương trình có giao diện thân thiện với người dùng nhưng còn tồn tại nhiều hạn
chế:
o Chưa có AI trong game, quá trình touch trong game còn chậm
o Chưa đa dạng trong các Object.
o Khả năng va chạm chỉ dừng giữa 2 hình chữ nhật.
4.3 Hướng phát triển trong tương lai :
- Tối ưu hoá các thuật giải.
- Lập trình AI để hoàn thiện Game.
- Làm giao diện đẹp hơn, thực hơn
- Lập trình chơi Online và 3D.
TÀI LI U THAM KH O Ệ Ả
1. Chris G. Williams, George W. Clingerman, Professional Windows Phone 7 Game Development, 2011.
2. Charles Petzold, Microsoft Press ebook Programming Windows Phone 7
3. https:// www.codeproject.com