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

ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI

20 491 0

Đ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 867,5 KB

Nội dung

ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN CHUYÊN ĐỀ 1 NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : ỨNG DỤNG GAME PHÁ GẠCH

TRÊN ĐIỆN THOẠI

SVTH :

1 Lê Quang Vũ

2 Trần Công Chiến LỚP : 11TLT.PY GVHD :TS.Huỳnh Hữu Hưng

Website: http://dut.ud.edu.vn/itf/, E-mail: cntt@edu.ud.vn

Tuy Hòa, ngày 26 tháng 03 năm 2012

Trang 2

LỜI CẢM ƠN

Để hoàn thành đề tài này trước hết chúng em chân thành cảm ơn Thầy Ts.Huỳnh Hữu Hưng trong khoa Công nghệ thông tin trường Đại học bách khoa

Đà Nẵng đã tạo điều kiện giúp đỡ, chỉ bảo chúng em cách tiếp cận ngôn ngữ J2me để lập trình trên điện thoại di động, nhờ sự chỉ bảo của Thầy nhóm cũng như các bạn trong lớp tiếp thu được nhiều vấn đề và cũng là tiền đề để chúng

em hoàn thành đề tài này

Tuy bản thân đã rất cố gắng tìm hiểu tài liệu từ nhiều nguồn thông tin khác nhau như là giáo trình, sách ,internet,…Cũng như vốn hiểu biết của mình về đề tài thì không sao tránh khỏi thiếu sót

Kính mong được sự đóng góp ý kiến của quý thầy cô để tôi có thể hoàn thiện hơn về báo cáo và là cơ sở vững chắc để sau này ra trường làm việc

Chúng em xin chân thành cảm ơn!

Trang 3

Mục lục

CHƯƠNG I:GIỚI THIỆU TỔNG QUAN 4

1 Lý do chọn đề tài: 4

2 Mục tiêu 4

3 Đối tượng nghiên cứu: 4

4 Môi trường thực hiện: 5

5 Giới thiệu về J2ME và lập trình cho thiết bị di động : 5

CHƯƠNG II: LẬP TRÌNH J2ME 6

1 MIDP 2.0 6

2.1 Lớp Command: 7

2.1 Giao diện người dùng cấp cao 7

CHƯƠNG III: TRÒ CHƠI PHÁ GẠCH 10

1 Giới thiệu các lớp: 10

2 Nội dung thực hiện: 10

a) Tạo form chứa menu chương trình: 10

b) Tạo form ứng dụng game: 11

c) Tạo form lưu điểm: (hình 7) 15

d) Tạo form Help: 15

e) Tạo form giới thiệu về tác giả tạo nên ứng dụng:(hình10) 16

f) Tạo nút thoát chương trình: 17

KẾT LUẬN 19

Trang 4

1 Lý do chọn đề tài:

Công nghệ thông tin ngày nay có vai trò rất quan trọng trong cuộc sống hàng ngày của chúng ta Hiện nay có rất nhiều công nghệ mới phát triển song song với việc phát triển công nghệ thông tin như Bluetooth, Wireless, WAP, SOAP,… nhằm giúp công nghệ thông tin ngày càng thân thiết với người dùng hơn Một trong những công nghệ góp phần không nhỏ trong việc kết nối con người với thông tin cũng như con người với con người

là công nghệ di động.Với tốc độ phát triển hiện nay và những lợi ích to lớn của công nghệ di động, có thể thấy nó có ảnh hưởng rất lớn đến cuộc sống của con người Không giống như trước đây những chiếc điện thoại chỉ có chức năng rất đơn giản là đàm thoại, điện thoại hiện nay còn có thêm rất nhiều chức năng, ứng dụng khác như: email, truy cập Internet, video, nghe nhạc, chơi game, … đồng thời với nó là sự phát triển vũ bão của các dịch vụ gia tăng trên điện thoại di động dựa trên công nghệ WAP và SOAP

Chúng em chọn đề tài là “Viết ứng dụng “game phá gạch” chạy trên thiết bị di động bằng ngôn ngữ J2ME” và đây là một số ứng dụng đơn giản nhằm khai thác các tính năng của các thiết bị di động mà chủ yếu là điện thoại di động Qua đó chúng em sẽ cố gắng nắm bắt và ứng dụng được tốt các kỹ thuật lập trình trên thiết bị di động

2 Mục tiêu

Khi thực hiện đề tài này, mục tiêu mà chúng em mong muốn đạt được là:

 Hiểu chi tiết về J2ME và ứng dụng của nó để lập trình trên các thiết bị di động

 Nắm được các kỹ thuật xử lý form, âm thanh, hình ảnh, và lưu trữ trên điện thoại di động

 Ứng dụng các kết quả đạt được để xây dựng chương trình đơn giản, có các tiện ích phục vụ nhu cầu của người sử dụng điện thoại

di động

 Nâng cao trình độ, tự nghiên cứu, học hỏi, tư duy, làm việc theo nhóm, khả năng thuyết trình cho sinh viên, làm nền tảng vững chắc cho sinh viên sau này khi đi làm

Hiểu java, J2ME và ứng dụng của nó để lập trình trên các thiết bị di động Nắm được các kỹ thuật xử lý âm thanh, hình ảnh, và lưu trữ dữ liệu trên thiết bị di động

Ứng dụng các kết quả có được để xây dựng một ứng dụng thực tiễn trên thiết bị di động.Phạm vi nghiên cứu:

Trang 5

Nghiên cứu về công nghệ J2ME và các kỹ thuật lập trình trên điện thoại

di động Ứng dụng các kết quả nghiên cứu được để xây dựng ứng dụng triển khai trên điện thoại di động

4 Môi trường thực hiện:

Viết trên Hệ điều hành Windows XP, Windows7

Bằng phần mềm Jcreator 4.50 Pro, JDK 1.6.02 và Wireless Toolkit 2.5.2

5 Giới thiệu về J2ME và lập trình cho thiết bị di động :

J2ME được phát triển từ kiến trúc JavaCard, EmbededJava và PersonalJava của phiên bản Java 1.1 Đến dự ra đời của phiên bản Java 2 thì Sun quyết định thay thế PersonalJava bằng một phiên bản mới có tên Java 2 Micro Edition, viết tắt là J2ME J2ME được sử dụng cho các thiết

bị nhỏ gọn với dung lượng bộ nhớ bé và khả năng xử lý thấp

Mục tiêu của Java là cho phép người lập trình viết các ứng dụng độc lập với thiết bị di động, không cần quan tâm đến phần cứng thật sự

Để làm được như thế, J2ME được xây dựng bằng các tầng khác nhau để che giấu đi việc tương tác trực tiếp với phần cứng của thiết bị

Trang 6

CHƯƠNG II: LẬP TRÌNH J2ME

1 MIDP 2.0

Ta tìm hiểu về các thành phần giao diện người dùng(UI) có sẵn trong J2ME nhằm tạo ra sự tương tác giữa người dùng với điện thoại, đây

là vấn đề quan trọng bởi kích thước của màn hình điện thoại được giới hạn J2ME cung cấp đặc tả MIDP chứa các thành phần giao diện đồ họa, hiện nay đã có rất nhiều phiên bản MIDP 3.0, ta xét MIDP 2.0 Và đây là

sơ đồ phân lớp của nó

MIDP 2.0 cung cấp các lớp UI trong một gói javax.microedition.lcdui, trong đó lcdui là viết tắt của liquid crystal display user interface(LCD UI) Để show một phần tử UI lên màn hình, ta phải sử dụng một lớp Displayable Ví dụ, một lớp Displayable có thể có một title, một ticker, và các command liên kết với nó

Lớp Display quản lý những cái gì hiển thị lên màn hình Phương thức static getDisplay(MIDlet midlet) cho phép ta truy cập vào Display của MIDlet Sau đó, ta sử dụng phương thức setCurrent(Displayable element) để lựa chọn đối tượng nào extend từ Displayable được hiển thị

Trang 7

lên màn hình Tại một thời điểm, chỉ có một đối tượng Displayable được hiển thị trên màn hình

Một MIDlet tương tác với người dùng thông qua các Command Một Command tương đương với một menu item trong một ứng dụng thông thường, và nó chỉ có thể kết hợp với một phần tử UI Displayable Lớp Displayable cho phép người dùng attacth một Command bằng cách sử dung phương thức addCommand(Command command) Một đối tượng Displayable có thể cón nhiều Command bên trong nó.Lớp Command được nắm giữ các thông tin về command Thông tin này được đóng gói trong 4 thuộc tính: short label, optional long label, command type và priority Ví dụ, sử dụng lớp Command để tạo ra đối tượng command thông qua cung cấp các giá trị trong Constructor:

// adds a command to exit the MIDlet

comExit = new Command("Exit", Command.EXIT, 1);

Nếu xác định command type,ta có thể cho phép thiết bị chạy MIDlet ánh xạ(map) bất kỳ phím định sẵn nào trên thiết bị vào command đó Ví

dụ, một command với kiểu OK được ánh xạ vào phím OK của thiết bị Trong MIDP 2.0, nó có sẵn các kiểu command sau: BACK, CANCEL, EXIT, HELP, ITEM, SCREEN và STOP Kiểu SCREEN liên quan đến một command được map trong ứng dụng cho màn hiền hiện thời Cả SCREEN và ITEM không có bất kỳ các phím được ánh xạ trên thiết bị.Để nhận được phản hồi từ người dùng, ta cần phải listen từ các command, điều này được thực hiện thông qua thực thi giao diện CommandListener Trong ví dụ Hello World, Interface được thực thi thông qua phương thức commandAction()

 Vẽ để được hiển thị bởi hệ thống phần mềm của thiết bị Ứng dụng không định nghĩa giao diện trực quan như hình dáng, màu sắc… của các thành phần high-level

 Điều hướng, cuộn, và các tương tác nguyên thủy khác với các thành phần giao diện người dùng được thực hiện bởi thiết bị Tuy nhiên, ứng dụng không nhận biết được các tương tác này

 Ứng dụng không thể truy cập vào các kỹ thuật input cụ thể, như các phím nhấn cụ thể nào đó

Trang 8

Ứng dụng Hello World sử dụng một alert Phần tử này đại diện cho một màn hình(Screen) dùng để show dữ liệu đến người dùng và đợi một thời gian trước khi xử lý đối tượng Displayable tiếp theo Một Alert thì có thể chứa môt chuỗi text và một image.Thông thường, Alert được sử dụng để thông báo lỗi hay các ngoại lệ khác

TextBox:

Kế thừa từ lớp Screen, cho phép người dùng nhập và chỉnh sửa text Lớp này có thể được cấu hình để thích nghi với các nhu cầu của người dùng

Ta có thể giới hạn maximum các ký tự hiển thị trong TextBox Ngoài ra,

ta có thể ràng buộc các kiểu nhập cho TextBox bằng cách sử dụng các flag được định nghĩa trong lớp TextField Có 6 ràng buộc(constrain) để giới hạn nội dung hiển thị, đó là: ANY, EMAILADRR, NUMBERIC, PHONENUMBER, URL và DECIMAL Có 6 ràng buộc ảnh hưởng tới kiểu nhập: PASSWORD, UNEDITABLE, SENSITIVE,

INITIAL_CAPS_SENSITIVE Ví dụ, chỉ cho phép địa chỉ email được phép nhập trong TextBox, ta thiết lập flag TextField.EMAILADRR sử dụng phương thức setConstrains(), ngoài ra để kết hợp nhiều ràng buộc cùng lúc, ta sử dụng toán tử OR giữa các flag Ví dụ: setConstraints(TextField.EMAILADDR | TextField.UNEDITABLE);

List:

Một List chứa một danh sách các chọn lựa Khi List được biểu diễn trên màn hình, người dùng có thể tương tác với nó bằng cách chon lựa các phần tử, di chuyển qua lại giữa các phần tử của List Nó có các kiểu cấu hình sau:

 Choice.EXCLUSIVE: chỉ có 1 phần tử được chọn lựa

 Choice.MULTIPLE: có thể có nhiều phần tử được chọn lựa

 Choice.IMPLICIT: phần tử được hightlight được chọn lựa

Form:

Nó chứa nhiều item, bất kỳ lớp nào extends từ lớp Item để có thể được chứa trong một Form Việc thực thi xử lý các layout, traversal, và scrolling Nội dung của Form có thể được cuộn lại với nhau Các loại Item có thể được thêm vào trong Form:

StringItem: Là một label và không cho phép người dùng sửa lên nó Item

này có thể chứa một tiêu đề và một text, và cả hai đều có thể null

Trang 9

DateField: Cho phép người dùng nhập ngày date/time một trong 3 dạng

sau: DATE, TIME và DATE_TIME

TextField: Tương tự như TextBox.

ChoiceGroup: Tương tự như List.

Gauge: Sử dụng để mô phỏng process bar, tuy nhiên nó có thể sử dụng

trong kiểu tương tác bởi người dùng, ví dụ nếu ta muốn dùng nó để show một Volume Control

ImageItem: Nắm giữ một image.

CustomItem: Là một lớp ảo abstract cho phép các subclass tạo ra giao

diện riêng, tương tác riêng và cơ chế thông báo riêng của nó Nếu muốn một phần tử UI khác so với các phần tử được cung cấp thì có thể tạo ra subclass

Giao diện người dùng cấp thấp(Low-level User Interface): Các API

của low-level user interface( như lớp Canvas) được thiết kế cho các ứng dụng cần sự sắp đặt và điều khiển các phần tử graphics một cách chính xác cũng như truy cập vào các low-level input event Ví dụ điển hình là game board, một chart object hay một graph Sử dụng low-level user interface, một ứng dụng có thể:

 Kiểm soát những gì được vẽ trên màn hình

 Điều khiển được các sự kiện primitive như các sự kiện nhấn phím(key press) và nhả phím(key release)

 Truy cập vào cụ thể từng phím và các thiệt bị đầu vào khác

Trang 10

CHƯƠNG III: TRÒ CHƠI PHÁ GẠCH

1 Giới thiệu các lớp:

MyMIDlet.java: Dùng để tạo ra menu chương trình Ball,java: Dùng để tạo ra quả bóng

Brick.java: Dùng để tạo ra gạch Pad.java: Dùng để tạo ra thanh đỡ quả bóng Entity.java: Dùng để kiểm tra va chạm giữa bóng, gạch và thanh đỡ Score.java: Dùng để nhập tên và điểm

Multimedia.java: Dùng để tạo ra âm thanh khi bóng va chạm với gạch

2 Nội dung thực hiện:

Ý tưởng:

- Tạo ra form chính gồm :(hình 1)

+ New game: dùng để truy cập vào game

+ Score: dùng để lưu điểm khi kết thúc game

+ Help: Hướng dẫn sử dụng ứng dụng game

+ Tác giả: thông tin tác giả

+ Exit: thoát ứng dụng game

Trang 11

Hình 1: Menu chương trình

b) Tạo form ứng dụng game :

Bước 1: Tạo ra thanh đỡ dưới màng hình để hứng bóng và đẩy bóng lên phá gạch(hình 2) Thanh này mặc định nằm ở giữa bên dưới màng hình, dùng nút trái phải để di chuyển

Trang 12

Hình 2: Thanh đỡ bóng Bước 2: Tạo bóng, bóng được đặt trên thanh đỡ, mỗi lần người chơi hứng bóng trật thì bóng sẽ xuất hiện lại vị trí ban đầu(Hình 3) Nhấn nút lên để đẩy bóng lên, nhân nút xuống đế tạm dừng

Hình 3: Thanh đỡ và bóng Bước 3: Tạo gạch, gồm có 6 hàng gạch mỗi hàng 8 viên, nhấn

Trang 13

gạch đó mất đi, chơi đến khi nào phá hết những viên gạch ở phía trên thì dừng, hoặc thời gian chạy về 0 hoặc Lifes =0 thì dừng, mỗi lần bóng đi qua phía dưới thanh đỡ thì Lifes sẽ giảm đi 1.(hình 4)

Hình 4: Giao diện game

Bước 4: Tạo ra thông báo bạn thắng cuộc hoặc bạn đã thua khi

mà người chơi phá hết gạch hoặc Lifes =0 hoặc Time = 0 (hình 5)

Trang 14

Hình 5:Thông báo Cuối cùng tạo form nhập tên và điểm (hình 6) của người chơi sau khi thông báo được load vài giây, thông tin nhập vào sẽ lưu vào Score

Hình 6: Nhập tên và điểm

Trang 15

c) Tạo form lưu điểm: (hình 7)

Form này dùng để lưu tên và điểm khi người chơi phá hết gạch hoặc hết mạng hoặc hết thời gian chơi, ai có điểm cao nhất sẽ xếp đầu tiên Mặc định gồm 10 tên, nhấn nút back để trở về menu chính

Hình 7: Tên và điểm của người chơi

d) Tạo form Help:

Dùng để hướng dẫn chơi game(hình 8) Nhấn nút back trở về Menu chính

Trang 16

Hình 9: Hướng dẫn chơi game

e) Tạo form giới thiệu về tác giả tạo nên ứng dụng:(hình10)

Trang 17

Hình 10: Thông tin về tác giả

f) Tạo nút thoát chương trình:

Khi nhấn vào nút Exit trong Menu Chính thì nó sẽ hiện ra thông báo (hình 11) bạn muốn thoát ứng dụng hay không, bấm Yes để thoát, bấm no để quay lại Menu chính

Trang 18

Hình 11: Thông báo Exit

Trang 19

KẾT LUẬN

Đứng trước xu hướng phát triển nhanh và mạnh của nền công nghệ thông tin thế giới cũng những nền công nghệ thông tin nước nhà, công nghệ thông tin là vô cùng quan trọng và bức thiết hiện nay

Hiện nay, lập trình trên điện thoại di động là một lĩnh vực mới đang thu hút nhiều lập trình viên Việc xây dựng các ứng dụng trên thiết bị các thiết bị nói chung và trên điện thoại di động nói riêng là rất cần thiết do sự phát triển của công nghệ di động Khi làm đề tài giúp chúng ta hiểu thêm về kỹ thuật lập trình J2me viết ứng dụng trên điện thoại di động

Ứng dụng game phá gạch này nhằm mục đích giải trí, mặt dù

đã cố gắng nhưng ứng dụng còn nhiều thiếu sót, chưa hoàn chỉnh mong các bạn đóng góp ý kiến để ứng dụng được hoàn thiện hơn

Trang 20

TÀI LIỆU THAM KHẢO

Trang web :

 http://www.roseindia.net/j2me/

 http://www.java-samples.com/j2me/

 http://mobilesprogramming.wordpress.com/2010/01/27/phat-tri

%E1%BB%83n-game-d%C6%A1n-gian-tren-mobilep5/

 http://www.kenh360.com/cntt/lap-trinh/java/java-co-ban-khai-niem-class-phan-1.htm

 http://www.javavietnam.org

 http://phocuongonline.com/forum/forumdisplay.php?88-Web(ASP-ASP.net-Java-PHP-C-%85)

 http://thuthuat.chiplove.biz/post-502/bang-ma-mau-css.html

Ngày đăng: 02/04/2014, 08:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ phân lớp của nó. - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Sơ đồ ph ân lớp của nó (Trang 6)
Hình 1: Menu chương trình - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 1 Menu chương trình (Trang 11)
Hình 2: Thanh đỡ bóng - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 2 Thanh đỡ bóng (Trang 12)
Hình 3: Thanh đỡ và bóng Bước 3: Tạo gạch, gồm có 6 hàng gạch mỗi hàng 8 viên, nhấn - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 3 Thanh đỡ và bóng Bước 3: Tạo gạch, gồm có 6 hàng gạch mỗi hàng 8 viên, nhấn (Trang 12)
Hình 4: Giao diện game - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 4 Giao diện game (Trang 13)
Hình 5:Thông báo - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 5 Thông báo (Trang 14)
Hình 6: Nhập tên và điểm - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 6 Nhập tên và điểm (Trang 14)
Hình 7: Tên và điểm của người chơi - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 7 Tên và điểm của người chơi (Trang 15)
Hình 9: Hướng dẫn chơi game - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 9 Hướng dẫn chơi game (Trang 16)
Hình 10: Thông tin về tác giả - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 10 Thông tin về tác giả (Trang 17)
Hình 11: Thông báo Exit - ỨNG DỤNG GAME PHÁ GẠCH TRÊN ĐIỆN THOẠI
Hình 11 Thông báo Exit (Trang 18)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w