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

GameBreakOut.

20 306 6
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 20
Dung lượng 1,47 MB

Nội dung

Game BreakOut

Trang 1

MỞ ĐẦU 2

LỜI CẢM ƠN 3

CHƯƠNG I : GIỚI THIỆU 5

1 Giới thiệu về đề tài 5

2 Mục tiêu 5

3 Các chức năng chính 5

2.3 Hiệu ứng đồ họa 13

3.Kiểm Tra các Va Chạm của Quả Bóng 14

3.3 Va chạm giữa Quả bóng Với Tường 16

4.Kiểm soát Tốc dộ Game 17

5 Save và Load Game 17

CHƯƠNG IV: CÀI ĐẶT VÀ THỬ NGHIỆM 17

KẾT LUẬN 19

[2] Beginning Java ME Platform – Ray Rischpater 20

[3] J2ME™ Game Programing – Martin J Wells 20

Trang 2

MỞ ĐẦU

Số lượng thiết bị di động ngày càng tăng ở Việt Nam, nhiều người đã coi điện thọai di động như một vật không thể thiếu trong cuộc sống hằng ngày Cùng với sự gia tăng số lượng người dùng thì các tính năng dành cho điện thoại cũng tăng theo tương ứng Hàng loạt các tính năng cao cấp được giới thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương trình không phải do nhà sản xuất điện thọai cung cấp Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến chiếc điện thọai nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những chủng loại điện thoại này bạn có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ và nhất là mang thế giới giải trí đến bên cạnh, những bản nhạc hay, những games hay sẽ luôn sẵn sàng mỗi khi bạn cần đến

Bài báo cáo của nhóm chúng em sẽ nói về cách thiết kế một game đơn giản có thể sử dụng trên điện thoại di động Đó là Game “Breakout”

Trang 3

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn cô Phan Thị Nguyệt Minh đã dạy chúng em môn “Lập trình nhúng căn bản “.Qua đó giúp chúng em có những kiến thức cơ bản về ngôn ngữ java để có thể hoàn thành tốt đề tài này

Tuy nhiên do kiến thức có hạn nên đề tài không tránh khỏi những thiếu sót, rất mong nhận được sự đóng góp ý kiến của cô và các bạn để đề tài của nhóm chúng em được hoàn thiện hơn

Trang 4

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 5

CHƯƠNG I : GIỚI THIỆU

1 Giới thiệu về đề tài

Hiện nay, lập trình game nói chung hay lập trình game trên di động nói riêng là một công việc khá khó khăn và vất vả với số lượng code lớn và phức tạp đòi hỏi sự tập trung cao, khả năng sáng tạo, sự đam mê và nhiều yếu tố khác Lập trình game trên di động khó khăn hơn lập trình trên PC rất nhiều

do đặc tính về phần cứng của chiếc điện thoại thường rất hạn chế như bộ nhớ

ít, bộ vi xử lý chậm, … Vì thế việc tối ưu code chương trình, cấp phát và thu hồi bộ nhớ hợp lý để cho game mình có thể chạy tốt trên thiết bị thật luôn là vấn đề được quan tâm hàng đầu.Việc chơi game trên di động hiện nay là một nhu cầu giải được rất nhiều người quan tâm Vì vậy việc tạo ra và phát triển game trên di động là một công việc cần thiết

Game “ Breakout” của nhóm chúng em là một game thuộc thể loại phá gạch quen thuộc Trong game người chơi phải điều khiển thanh chắn và quả bóng để phá hủy tất cả những viên gạch để đạt được cấp độ tiếp theo

2 Mục tiêu

Mục tiêu của nhóm chúng em là phát triển một ứng dung game đơn giản chay tốt trên điện thoại di động với nền tảng là công nghệ J2ME và các kến thức về lập trình hướng đối tượng và ngôn ngữ lập trình Java

3 Các chức năng chính

Game của nhóm chúng em đã đáp ứng hầu như đầy đủ các chức năng cần có của một game “Breakout” đơn giản:

-New game

-Resume

Trang 6

-Sound: on/off

-Exit

Game có hỗ trợ cho cả bàn phím và màn hình cảm ứng

CHƯƠNG II:THIẾT KẾ GIAO DIỆN VÀ TÍNH NĂNG

1 Màn hình Menu:

Trang 7

2 Màn hình Play:

Trang 8

3 Mô tả tính năng:

Game được nâng cấp và thêm mới nhiều tính năng hơn so với breakout

cổ điển, làm game bớt nhàm chán và tạo cảm giác hứng thú hơn cho người chơi:

Game có giao diện và hiệu ứng đồ họa đẹp như:

+Phát ra các cung sung điện sấm sét

+Nổ pháo hoa khi va chạm với gạch

Trang 9

+Shock ánh sáng rung khi va chạm với 4 tường.

+Phát pháo hóa và sóng rung lan truyền hình eclipse khi thanh chắn không đỡ được bóng

Trang 10

+Ngoài ra, game còn có tính năng lưu và load map hổ trợ lưu và chơi lại khi có việc bận

Trang 11

CHƯƠNG III: CẤU TRÚC VÀ GIẢI THUẬT

1.Cấu trúc chương trình:

1.1 Cấu trúc của Game

Trang 12

1.2 Cấu trúc của Menu

1.3 Cấu trúc của MainMidlet

Trang 13

1.4 Cấu trúc của GameManager

2 Phân tích chương trình

2.1 Tương tác cảm ứng(Touch Gesture):

Game có tương tác cảm ứng có thể thich hợp với các dòng điện thoại cảm ứng

2.2 Âm thanh

Với sự hỗ trợ của các thư viện trong MMAP 1.2 đặc biệt là gói

Mobile Media API 1.2 âm thanh trong chương trình đã trở nên dễ dàng

và sống động

import javax.microedition.media.Manager;

import javax.microedition.media.Player;

import javax.microedition.media.PlayerListener;

2.3 Hiệu ứng đồ họa

Trang 14

Phần đồ họa được thiết kế chi tiết , mỗi loại gạch đều có màu sắc nổi bật đa dạng , hơn hết game được lập trình có cấu trúc mở để developer

có thể dễ dàng thêm tùy ý các Level mới

Hình 2.3 Ảnh các viên gạch

+Class Levels làm nhiệm vụ này

+Class SamSet :dùng để tạo hiệu ứng sấm sét khi lên màn hình

Menu Gồm các đừng thẳng phát sinh ngẫu nhiên từ điểm user

mousePress

+Class ShockWave : vẽ các cung sóng 360 độ khi thanh chắn không

đỡ được quả bóng

3.Kiểm Tra các Va Chạm của Quả Bóng

3.1Va chạm giữa quả bóng với lưới gạch

3.1.1 Quả bóng trước khi va chạm với gạch

Tham số :Qua bóng

Return: Viên gạch nào va chạm với quả bóng

Việc kiểm tra viên gạch trong lưới gạch dựa vào hàm collidesWith()

mà J2ME cung cấp sẵn ,nó kiểm tra va chạm giữa 2 sprite theo hình chữ nhật bao ngoài :

luoigach[i][j].collidesWith(ball, false)

Trang 15

Lược đồ trạng thái:

Tối ->Sáng-> Nổ

3.1.2 Quả bóng sau khi va chạm với gạch

Hàm BongVaChamLuoiGach() : xác định xem viên gạch nào va

chạm với quả bóng (nếu có va chạm)

Nếu quả bóng va chạm:

+ Tại mặt phía trên hay phía dưới viên gajcn thì chỉ có vận tốc theo trục dọc Vy đổi ngược còn Vx ko đổi

+Tại hai mặt bên thì chỉ có Vx thay đổi con Vy không đổi

Trang 16

Hình minh họa cho trường hợp va chạm tại 2 Tại hai mặt bên

3.2 Va chạm giữa quả bóng với thanh chắn

Hàm BongVaChamThanhChan() :tính Toán vận tốc ngang tỉ lên thuận với khoảng cách giữa điểm va chạm với tâm đĩa

Nếu va chạm càng xa tâm đĩa thì bóng sẽ bay ra với góc bay càng lớn

3.3 Va chạm giữa Quả bóng Với Tường

Hàm KTBongVaChamTuong() :hoàn toàn tương tự như gạch sau

khi va cham hiệu ứng tường bật sáng

Trang 17

4.Kiểm soát Tốc dộ Game

Interaval =1000/33 =30 giây cho biết mỗi chu kì cập nhật vẽ mất 30 giấy

Tức là 33 FPS 33 khung hình trên 1 giây tốc độ này phù hợp để có thể cảm nhận đươc di chuyển nhưng ở các thiết bị di động khác nhau tốc độ xử

lý là khác nhau này cả hàm đo thời gian giữa 2 thời điểm cũng sai lệch do đó cần kiểm soát tốc độ game

time = INTERVAL - (System.currentTimeMillis() - time);

Thread.sleep((time < 0 ? 0 : time));

Nếu như thời gian để

checkKeys();

update();

render();

nhỏ hơn 30 giây thì game sẽ được sleep cho tới khi đủ 30 s

5 Save và Load Game

Phương thức public byte[] getSnapshot(): ghi lại level ,life , vị trí, tốc

độ quả bóng vị trí của lưới gạch vào Record

Game sẽ Save khi click button Resume hoặc tự lưu khi thoát chương trình

Phương thức private void loadOrCreateGame()

Load dữ liệu từ Record từ phương thức SavaGame() hoặc tạo 1 game mới Level=1

CHƯƠNG IV: CÀI ĐẶT VÀ THỬ NGHIỆM

• Môi trường : J2ME

• Yêu cầu cài đặt : Netbeans 6.9.1, Series 40 6th Edition, FP1 SDK

• Ngôn ngữ cài đặt :Java

Trang 18

• Thử nghiệm giả lập: Điện thoại DefaultCldcMsaPhone2, DefaultFxPhone1 trong Netbeans, DefaultColorPhone trong Wireless Toolkit.

• Thiết bị thật : Sony Ericsson P1i, Nokia 3110 classic, Nokia X3 Touch and Type (X3-02), Nokia E51, Nokia E71, Nokia X6, Nokia N8

• Đánh giá kết quả : Giả lập chạy tốt, thiết bị thật chạy tốt khi không có

âm thanh, chạy hơi giật khi load âm thanh lên

► Ghi chú: nếu chạy trực tiếp từ file jad thì chắc năng âm thanh không được tốt

Trang 19

KẾT LUẬN

Chúng em đã cố gắng để hoàn thành các phần cơ bản của một ứng dụng game chạy trên di động, cụ thể ở đây là game “Breakout” Qua đó giúp người chơi có một cái nhìn tổng quan về game.Tuy nhiên nếu có thêm thời gian thì nhóm chúng em sẽ cải thiện về giao diện và phát triển thêm một số tính năng mới như: có thêm bonus khi phá vỡ gạch, đa dạng hóa hình dạng của các viên gạch,… để game thêm sinh động và hấp dẫn người chơi

Trang 20

TÀI LIỆU THAM KHẢO

[1] Creating Mobile Games Using J2ME™ Platform to Put the Fun into Your Mobile Device and Cell Phone - Carol Hamer

[2] Beginning Java ME Platform – Ray Rischpater

[3] J2ME™ Game Programing – Martin J Wells

[4].Một số wedsite, diễn đàn về lập trình

http://mobilesprogramming.wordpress.com

http://www.congdongjava.com

http://www.javavietnam.org

http://developers.sun.com/mobility/allarticles/

[5].Slide bài giảng của Thạc sĩ.Phan Nguyệt Minh

https://sites.google.com/site/laptrinhnhungcanban/my-forms

Ngày đăng: 01/05/2013, 01:35

Xem thêm

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w