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

Báo cáo đề án cuối kỳ developing game 2d in java

47 615 0
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

Định dạng
Số trang 47
Dung lượng 781,5 KB

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

Nội dung

• public void restoreScreen: Trả lại chế độ hiến thị trước khi chơi game.+ Lóp Sprite quản lý hình ảnh và chuyển động của các vật thể trong game, mỗi Sprite có nhiều frame và giá trị của

Trang 2

Page2

Trang 3

BÁO CÁO ĐÈ ÁN CUỐI KỲ

DEVELOPING GAME 2D IN JA VA

Danh sách nhóm:

1 NGUYỄN PHƯƠNG ANH 06520017

Niên khỏa: 2006-2010

MỤC LỤC

Trang 4

2.2 Hướng

dẫn sử dụng chương trình 7

2.3 Tên và tính năng của các lóp chính trong chương trình 12

3 Game Battle Tank 3.1 Giới thiệu về game Battle Tank 13

3.2 Hướng dẫn sử dụng chương trình 14

3.3 Tên và tính năng của các lóp chính trong chương trình 18

4 Game AirStrike 4.1 Giới thiệu về game Airstrike 21

4.2 Hướng dẫn sử dụng chương trình 22

4.3 Tên và tính năng của các lóp chính trong chương trình 28

5 Tài liệu tham khảo 30

1 GIỚI THIỆU TỎNG QUAN VÈ ĐÈ TÀI

_*** _

Nôi duns :

- Xây dựng game Tetris (xếp gạch), BattleTank (Bắn xe tăng), AirStrike (Bắn máy bay)

Muc tiêu:

- Playable finished game

- Music & sound effects

- Giao diện thân thiện, giúp người chơi game dề dàng sử dụng

Trang 5

Tìm kiếu hiến thị cho màn hình thích họp đầu tiên trong danh sách kiếu mànhình Trả về null nếu không có kiểu hiển thị thích hợp cho màn hình.

• public void setFullScreen(DisplayMode displayMode): Tạo chế độ hiển thị toàn màn hình Chế độ hiến thị này sử dụng 2 bộ đệm BufferStrategy

• public Graphics2D getGraphics(): Lap device hiển thị đồ họa, ScreenManager

sử dụng bộ đệm đôi nên chương trình phải gọi updateQ đế hiến thị bất kỳ côngviệc vẽ đồ họa nào

• public void update(): Cập nhật hiển thị

• public void restoreScreen(): Trả lại chế độ hiến thị trước khi chơi game.+ Lóp Sprite quản lý hình ảnh và chuyển động của các vật thể trong game, mỗi Sprite có nhiều frame và giá trị của frame hiện thời currFramelndex

• public Sprite(): Tạo một đối tượng Sprite với hiệu túng chuyển động

• public synchronized void addFrame(Image image): Thêm frame cho Sprite

• public synchronized Image getlmage(): Lap frame của Sprite hiện thời

- Package com.input:

+ Lóp InputManager quản lý việc nhập liệu từ bàn phím và sự kiện chuột Những sự kiện này được truyền cho lóp GameAciton xử lý

- Package com.test:

Trang 6

• public void stop(): báo hiệu cho game loop biết rằng đây là thời điểm đế thoát

- Package com.sound:

+ Lóp SoundManager là quản lý việc phát âm thanh trong game

SoundManager là một ThreadPool Mỗi thread có thể phát một file âm thanh

• public InputStream play(Sound sound): phát một âm thanh

• public InputStream play(Sound sound, SoundFilter filter,boolean loop):phát một âm thanh với sự chọn lựa SoundFilter và loop

Trang 8

Người Chơi

Page8

2.1

Giỏi thiêu về Game Tetris:

Sơ ĐỎ NGỮ CẢNH CỦA GAME:

Game gồm hai phần cơ bản : play game và player’s guide có mô hình chungnhư sau :

Khởi động trò chơi Hướng dẫn người chơi

Thoát game

Sơ ĐÒ PHÂN RÃ CHỨC NẴNG:

Các chức năng chính của trò chơi như sau :

Trang 10

Page10

Trang 11

A Tăng điếm, tăng cấp độ

BĨẺU ĐÒ LUỒNG DỬ LIÊU:

Trang 12

- Khi khài dông game së co Menu cho nguài chai lira chon:

Trang 14

Page14Game InfoExit

Trang 15

§

Trang 16

- Khi chon Start game, game së dugc bât dâu

Trang 17

*Khi xép dirge mot háng, ngiroi chai sé dirge thiráng 10 diem

*Sau khi xép dirge 10 hang, cap do sé táng lén, túc la vién gach sé roi nhanh han, có 10cap do

Trang 18

Pagel18

Trang 20

Page20

Trang 21

Press c to continue

“Right” - Move Right

“Up” - Rotate Right

“Down” - Move Dow n

“Esc” - Pause

- Chọn Exit ở Main Menu đê thoát khởi game!

Trang 22

Button: quản lý các button

void Render(Graphics2D g): vẽ button

Score: quản lý hình ảnh số điểm và số mạng cho nguời chơi.

Trang 23

Hệ thống

V

J

3.1

Giói thiêu về Game BattleTank:

NÔI DUNG:

Nhiệm vụ của người chơi là chiến đấu với các xe tăng địch qua 3 màn để bảo

vệ chính mình và bảo vệ nhà chính Neu nhà chính bị bắn hoặc người chơi hếtmạng thì game over, nếu qua được màn 3 thì nhiệm vụ của người chơi hoàn thành

Sơ ĐÒ NGỮ CẢNH CỦA GAME:

Khởi động trò chơi Người Chơi

Thoát trò trò

sơ ĐÒ PHẢN RẴ CHỨC NẤNG:

Các chức năng chính của trò chơi như sau :

Trang 24

Page24

Trang 26

Người chơi

1.0 AChơi

Trang 28

Page28

Trang 29

Hướng dẫn sử dụng chương trình:

- Khi chọn Start game, game sẽ được bắt đầu

Trang 30

- Người chơi sẽ tiếp tục đi qua các màn 1, 2, 3 cho đến khi hoàn thành nhiệm vụ

- Khi bắn chết xe tăng có màu đỏ thì có 1 trong 4 bonus xuất hiện, các bonus làthưởng mạng, bom làm chết 1 mạng của các xe tăng đối thủ, xẻng làm xây lại nhàchính

- Trong quá trình chơi, nếu bị chết hết mạng hoặc nhà chính bị bắn thì bảng thông báo game over sẽ xuất hiện, người chơi có thể chọn New Game để chơi lại từ đầu hoặc Exit đế thoát game

Trang 31

Tên và tính năng của các lớp chính trong chương trình:

BattleTank: lóp chính

void gameĩnit(): load hình ảnh và âm thanh cho game

void update(long elapsedTime): cập nhật các đối tượng cho game

void draw(Graphics2D g): vẽ các đối tượng cho game

update_left(Tank Player): kiếm tra trái của Player nếu đi được sẽ cho đi.Tương tự cho update_right(Tank Player), update_up(Tank Player), update_down(Tank

Trang 32

void checkexplo(Bullet bullet,Tank tank): kiếm tra va chạm đạn của xe tăng.void Shoot(Tank Com 1,Bullet bull): phương thức bắn đạn cho các xetăng đối thủ

void BonusAppear(): bonus xuất hiện ngẫu nhiên 1 trong 3 thưởng mạng,xẻng xây nhà chính hoặc bom làm nố hết các xe tăng địch

void NewGame(): thiết lập lại các thuộc tính cho game để người chơi chơilại tù' đầu

Bonus:

void Appear(): cho bonus xuất hiện khi bắn trúng xe tăng đỏ

Bullet:

void SetSpeed(long x): thiết lập thuộc tính tốc độ cho viên đạn

long GetSpeedQ: lấy tốc độ của đạn

boolean GetCanShot(): trả về giá trị true nếu xe tăng được bắn tiếp, void SetCanShot(boolean x): thiết lập thuộc tính được phép bắn cùa xe

tăng

void Setdr(int x): thiết lập hướng cho viên đạn void ShootUpO: bắn đạn hướng lên void ShootDown(): bắn đạn hướng xuống, void ShootLeft(): bắn đạn hướng qua trái, void ShootRight(): bắn đạn hướng qua phải

Digit: tạo hình ảnh là số mạng của người chơi và xe tăng đối thủ.

Eagle:

void SetGameOver(boolean x): thiết lập thuộc tính game over nếu nhàchính bị bắn

boolean GetGameOver(): trả vể true nếu nhà chính bị bắn

GameOver: thừa kế từ lớp Sprite, cho xuất hiện bảng thông báo game over nếu

Trang 33

void SetLastDead(long x): thiết lập thuộc tính thời gian khi biến mất để tạo lần xuất hiện tiếp theo

void SetID(int x): định danh cho xe tăng

void Setdr(int x): thiết lập hướng cho xe tăng

void NextUpO: cho frame kế tiếp của xe tăng xuất hiện, tạo hiệu ứnghình ảnh chuyến động của xe tăng đi lên Tương tự cho NextDown(), NextRightO,NextLeft()

void MoveUpO: di chuyến lên Tương tự cho MoveDown(), MoveRight(), MoveLeft()

classmap: tạo bản đồ cho game.

mapỉtem: đối chiếu với class map để vẽ bản đồ lên màn hình, như cây cối, gạch,

biển, tường

Trang 34

Vào thế chiến II, quân đội của Mỹ tấn công Liên Xô Lúc đó, Bộ Tư lệnh

không quânViệt Nam đã phái 01 chiếc trục thăng mang tên Atomic Helicopter đểgiúp đờ không quân Liên Xô

Nhiệm vụ của Atomic Helicopter là chiến đấu ở 3 thành phố Dictastrolka,Tankylavania và Blastnya - nơi chiến đấu với hạm đội hải quân đê hoàn thànhnhiệm vụ

Sơ ĐỎ NGỮ CẢNH CỦA GAME:

Game gồm hai phần cơ bản : play game và player’s guide có mô hình chungnhư sau :

Khởi động trò chơi Hướng dẫn người chơi

Thoát game

Sơ ĐÒ PHÂN RÃ CHỨC NẴNG:

Các chức năng chính của trò chơi như sau :

Trang 36

Page36

Trang 37

A Tăng điêm, thưởng mạng, qua màn

BĨẺU ĐÒ LUỒNG DỬ LIÊU:

Trang 38

Page38

Trang 39

- Khi chon Start game, game se dugc bat dau.

Trang 41

*Khi bắn trúng máy bay địch, người chơi sẽ được thưởng 40 điếm *Khi

bắn trúng vũ khí của địch, người chơi sẽ được thưởng 10 điểm *Khi

người chơi đạt được mồi 1000 điếm sẽ được thưởng 01 mạng

- Trong quá trình chơi, người chơi có thể bấm phím Esc đế dừng game lại người chơi

có thế chọn chơi tiếp(Esc) hoặc quay về Main menu (Q)

Trang 42

Page42

Trang 44

“Shift” - Bomb Press c to continue

- Chọn Exit ở Main Menu đê thoát khởi game!

Trang 45

boolean TestCollision(int Xl,int Yl,int Widthl,int Heightl,int X2,int Y2,int Width2,int Height2): kiểm tra va chạm giữa các đối tượng.

void update_player_weapon(): cập nhật sự di chuyển và kiểm tra va chạm

void set_enemy(): cho đối thủ xuất hiện dựa trên map

AirCraft: Tạo và quản lý các đối tượng Máy bay, xe phòng không và Boss.

void FlyForBoss(int direction): quản lý chuyển động cho Boss(Tàu

Trang 46

void SetTimePre(long _time_pre): đặt thời gian chuyến dời hiện tại của

vũ khí

BackGround: quản lý cuộn màn hình.

void RollỌong elapsedTime): phương thức để làm cuộn màn hình, void Render(Graphics2D g): vẽ hình nền

Button: quản lý các button

boolean MouseHandler(): quản lý sự kiện chuột khi nhấn vào button, void Render(Graphics2D g): vẽ button

Explosion: khởi tạo và quản lý hình ảnh va chạm phát no.

Map: khởi tạo và quản lý map world.

int getEnemy(int i, int j): cho đối thủ xuất hiện ra màn hình

int getCurrentMap(): lap map hiện tại

void setCurrentMapO: đặt map cho game

int getMapPosition(): lấy vị trí của map hiện tại

void setMapPosition(): đặt vị trí cho map

void incMapPosition(): tăng vị trí cho map hiện tại

Score: quản lý hình ảnh số điểm và số mạng cho người chơi.

Trang 47

Hình ảnh và âm thanh của game Tetris (AxySoft), Around the World in 80 Days (PlayRix Entertainment), Heavy Weapon Deluxe (PopCap Games)

Ngày đăng: 06/02/2015, 14:16

TỪ KHÓA LIÊN QUAN

w