Thứ Bảy, 29 tháng 9, 2012

Hướng dẫn Lập trình game J2ME – Bluetooth + source code

Đề tài: Lập trình game cho điện thoại di động, có sử dụng kết nối bluetooth.


Mô tả đề tài:

Lập trình game cho điện thoại di động, có 2 mục chơi chính: Chơi đơn và co-op 
:-)

 Game lấy ý tưởng từ tròBoomber man trên hệ máy 4 nút lừng lẫy một thời. Trong phiên bản remake cho điện thoại di động này, Bomber Man dưới tay Xtr xuất hiện với đồ họa đẹp mắt, chế độ chơi đa dạng: Chơi đơn và chơi với bạn bè (một thôi).

 

Trong chế độ chơi đơn: người chơi chọn một trong ba nhân vật cho sẵn của game, với các năng lực khác nhau, thực hiện việc đặt bom, phá gạch, tìm cửa qua màn, đồng thời phải bảo toàn sinh mệnh trước bọn quái do máy điều khiển.

Trong chế độ chơi co-op, hai người chơi có thể cùng chơi với nhau trên 1 map, sử dụng công nghệ bluetooth để kết nối hai máy di động.

Fun facts:

  • Tên của quái là BCS 
    :-)

  • Khi chơi giả lập trên PC, game đạt số khung hình/giây khá thấp: tầm 7~8 fps.

  • Khi chơi trên máy Nokia N81: game thật tuyệt vời với tốc độ khung hình đạt 80 fps 
    :x


———————————————

Hướng dẫn sử dụng:

Kể ra mà nói cái này không khó sử dụng cho lắm.

- Menu chính: Có 3 tùy chọn. Sử dụng các phím mũi tên lên/xuống để di chuyển con trỏ, phím Fire để chọn.

Menu chính

Menu chính

Single Player: Chơi đơn

Multiplayer: Chơi với một máy khác

Exit: Thoát

- Khi chọn chơi đơn: người chơi tiếp tục chọn nhân vật:

Chọn nhân vật

Màn hình chọn nhân vật

Và vào game:

Giao diện trong game

Giao diện trong game

Mặc định, người chơi có 2 mạng, cố mà giữ.

- Khi chọn chơi với máy khác:

Menu multiplayer

Menu multiplayer

Chọn Create game để làm server, hoặc Join game để làm client:

Nếu làm server, máy sẽ đợi client kết nối đến. Nếu không muốn chờ đợi, ấn phím 7 để trở lại.

Server chờ client kết nối

Server chờ client kết nối

Nếu làm client, máy sẽ tự động tìm kiếm các server đang mở, và lần lượt hỏi người chơi xem có kết nối đến server đó không: 1 ~ có, 3 ~ không

Máy client hỏi có kết nối hay không

Máy client hỏi có kết nối hay không

Sau đó các bước tương tự như với chơi đơn. Màn hình trong game với 2 người chơi:

Màn hình trong game

Màn hình trong game

Có điều khi chạy giả lập 2 máy, tốc độ chậm đừng hỏi: 3 fps.

——————————————

Download:

File jad+jar: 

Link mediafire: 

http://adf.ly/L9ITV

File mã nguồn: 

Link mediafire: 

http://adf.ly/L9IYC

—————————————–

Đề tài: Lập trình game cho điện thoại di động, có sử dụng kết nối bluetooth.


Mô tả đề tài:

Lập trình một game cho điện thoại di động, dành cho hai người chơi trên hai máy di động, sử dụng bluetooth để kết nối: một máy làm server, một máy làm client. Khi khởi động game, máy server sẽ được khởi động trước để tạo kết nối, và khởi tạo các dịch vụ cần thiết. Máy client sau đó sẽ tự tìm đến server đó, do địa chỉ của server đó được lưu sẵn trong máy client.
- Do địa chỉ của server được lưu sẵn trong client, và client không có các mục: tìm kiếm thiết bị bluetooth xung quanh, tìm kiếm dịch vụ trên thiết bị bluetooth đang kết nối đến, đồng thời, server cũng không kiểm soát số lượng thiết bị kết nối đến nó, do vậy game chỉ hoạt động chính xác trong trường hợp chỉ có một máy server, một client, server khởi tạo kết nối trước, client tìm đến sau.

Game được lấy ý tưởng từ các màn đấu trong game Pokemon dành cho hệ máy GameBoy Advance, vì vậy cách chơi trong game cũng tương tự như các màn đấu đó: Hai người chơi sẽ chọn một danh sách gồm 3 nhân vật để sử dụng trong trận đấu. Trận đấu được diễn ra theo lượt. Trong mỗi lượt, mỗi người sẽ sử dụng một nhân vật mình chọn trước đó, và chọn một đòn đánh trong danh sách các đòn đánh tương ứng với nhân vật hiện tại của mình để tấn công nhân vật của đối phương. Mỗi lượt: Một người, một nhân vật, một đòn đánh.

Các nhân vật có các chỉ số máu (HP) và năng lượng (MP). Các đòn đánh có tác dụng trừ MP của nhân vật bị tấn công, và trừ HP của nhân vật tấn công. Nhân vật nào hết HP trước thì nhân vật đó/người chơi đó thua.

Nhân vật hiện tại của mỗi người chơi có thể được thay đổi bằng một trong hai nhân vật mà người chơi đó đã chọn còn lại, chỉ có thể thay đổi khi đang trong lượt của người chơi đó, và sau khi thay đổi, lượt chơi được chuyển sang người chơi đối diện.
- Game không kiểm soát tình huống khi hết MP mà HP vẫn còn – Game không xử lý việc: khi một nhân vật hết HP mà các nhân vật còn lại của người chơi đó vẫn còn HP, thì một trong các nhân vật kia được tự động thay cho nhân vật đã hết HP, và game được tiếp tục.

———————————

Download:

File jad+jar:

Link mediafire: 

http://adf.ly/L9Idt

File mã nguồn:

Link mediafire":

http://adf.ly/L9IhQ

Hướng dẫn chơi:

- Khi khởi động game, màn hình giới thiệu hiện lên:

Splash Image

Màn hình giới thiệu

- Menu chính, với các mục chọn: Sử dụng phím mũi tên lên/xuống để di chuyển con trỏ, phím Fire để chọn

Create a server: Khi chọn mục này, thiết bị hiện tại sẽ trở thành server.

Find a server: Khi chọn mục này, thiết bị hiện tại trở thành client, và tìm đến server nào đang mở dịch vụ.

Exit: thoát game.

Main menu

Menu chính

- Sau khi chọn là server/client, người chơi tiếp tục chọn danh sách nhân vật mình sẽ sử dụng: Người chơi được chọn 3 và phải là/chỉ 3 nhân vật. Sử dụng phím mũi tên lên/xuống để di chuyển con trỏ, phím Fire để chọn/bỏ chọn. Mỗi nhân vật được chọn sẽ có thông báo màu xanh hiện lên bên phải tương ứng, cùng số thứ tự của nó trong danh sách được chọn hiện tại.

Select Characters

Chọn nhân vật

Sau khi chọn xong, nhấn phím 3 để tiếp tục

- Người chơi được đưa đến phòng chờ: Server sẽ đợi client kết nối đến:

Waiting for client

Đợi client kết nối

Client cần ấn phím bất kì để thông báo trạng thái sẵn sàng cho server:

Waiting for server

Đợi server bắt đầu game

Server sau khi nhận được tín hiệu từ client, cần ấn phím Fire để bắt đầu trận đấu:



Server cần bắt đầu trận đấu

- Màn hình trong trận đấu hiện lên. Lượt đầu tiên thuộc về server. Người chơi ấn các phím mũi tên để ra đòn đánh tương ứng, ấn các phím trong các vòng tròn đỏ bên trái (1, 3 hoặc 7) để thay vào nhân vật tương ứng. Ấn phím số 9 để thoát game. Thời gian cho mỗi lượt được hiển thị ở trên cùng màn hình.

Match screen

Màn hình trận đấu

Khi một trong hai nhân vật hiện tại hết HP, bên đó thua:

Game tự động thoát ra menu chính.
- Sau khi thoát ra menu chính, game không thể tiếp tục chơi lại mà cần được reset (goddamnit)

——————

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

Game bao gồm các class:

- main.java — class MIDlet, được gọi đầu tiên.

- MyGameCanvas.java — class GameCanvas, chứa các hàm xử lý chính của game.

- player.java — class tạo đối tượng người chơi.

- ghost.java — class tạo các nhân vật để người chơi lựa chọn

- attackStyle.java — class tạo các đòn đánh.

- bluetoothServer.java — class tạo kết nối bluetooth và thực hiện gửi/nhận thông tin, dành cho server.

- bluetoothClient.java — class tạo kết nối bluetooth và thực hiện gửi/nhận thông tin, dành cho client.

—————–

0 nhận xét:

Đăng nhận xét