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

báo cáo game rắn mồi 2d

19 5,4K 67

Đ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 19
Dung lượng 646,1 KB

Nội dung

Nắm bắt được xu thế những người lập trình game đưa ra các ý tưởng và tạo ra các ứng dụng game hay và rất hấp dẫn người chơi và có những trò chơi đã đi vào huyền thoại, ai ai cũng biết đế

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

*******************

BÁO CÁO BÀI TẬP LỚN

MÔN GIAO DIỆN NGƯỜI MÁY XÂY DỰNG GAME RẮN SĂN MỒI

Nhóm sinh viên thực hiện – lớp CNPM.K52:

Đào Thị Thủy (MSV: 1112057)

Lương Đức Anh (MSV: 1100283)

Trần Văn Khang (MSV: 1106197 )

Giáo viên hướng dẫn:

TS Nguyễn Trọng Phúc – Bộ môn CNPM

Hà Nội, tháng 11 - 2014

Trang 2

RẮN SĂN MỒI 2D 4

I Phân tích 4

1 Giới thiệu 4

2 Khảo sát 4

3 Luật trò chơi 5

4 Phân tích chức năng của game 6

II Thiết kế 8

1 Giao diện 8

2 Data base 12

III Giao diện và moldul chương trình 14

1 Các moldul 14

2 Giao diện 14

PHÂN CÔNG VIỆC 17

KẾT LUẬN 18

Trang 3

Sự bùng nổ của công nghệ thông tin toàn cầu hiện nay, đã có những bước phát triển mạnh

mẽ của các công nghệ số Những chiếc điện thoại smart- phone thông minh với nhiều hệ điều hành khác nhau ngày càng được nhiều người sử dụng tin dùng Nắm bắt được xu thế những người lập trình game đưa ra các ý tưởng và tạo ra các ứng dụng game hay và rất hấp dẫn người chơi và có những trò chơi đã đi vào huyền thoại, ai ai cũng biết đến nó Đó

là một thành công của lập trình viên Ở Việt Nam các lập trình viên lập trình về game trên các hệ điều hành chưa phát triển mạnh

Qua nghiên cứu và tìm hiểu em nhận thấy game Rắn săn mồi là game cổ điển, xuất hiện vào năm 1997 trên Nokia 6610là những ô vuông xếp liên tiếp nhau di chuyển trên một màn hình màu xanh đơn giản, nhưng Rắn săn mồi đã xây dựng rất thành công tên tuổi của mình Với bốn trăm triệu bản được xuất xưởng và đến hiện tại đã là phiên bản thứ tám Game có có sự hấp dẫn đối với người chơi Do đó nhóm chúng em quyết định xây dựng chương trình game rắn săn mồi dựa trên ý tưởng của họ

Trong quá trình phân tích và thiết kế do thời gian và trình độ có hạn nên chương trình không tránh khỏi những thiếu sót Vì vậy chúng em rất mong sự góp ý của thầy cô

và các bạn

Em xin chân thành cảm ơn!

Hà Nội, tháng 11 năm 2014 Nhóm sinh viên thực hiện

Trang 4

RẮN SĂN MỒI 2D

I Phân tích

1 Giới thiệu

Rắn săn mồi là game cổ điển, xuất hiện vào năm 1997 trên Nokia 6610 là những ô vuông xếp liên tiếp nhau di chuyển trên một màn hình màu xanh đơn giản, nhưng

Rắn săn mồi đã xây dựng rất thành công tên tuổi của mình Với bốn trăm triệu bản

được xuất xưởng và đến hiện tại đã là phiên bản thứ tám Game có có sự hấp dẫn đối với người chơi

2 Khảo sát

Bố cục chơi game gồm 1 panel chính và 2 panel phụ

Một Panel chính:

- Kích thước: width = 720, height = 720 (px).

- Được bố trí như ma trận gồm 30 *30 ô có kích thước mỗi ô (24* 24).

Hai Panel phụ:

- Panel phụ 1: có kích thước 720 * 100 làm khung hiển thị thông tin score và level

và có 1 nút cho người chơi lựa chọn resume, restart, back.

- Panel phụ 2: có kích thước 720 * 250 làm khung chọn nút điều khiển rắn di

chuyển

Cấu tạo rắn:

- Con rắn khi khởi tạo có độ dài = 72px.

- Xuất phát điểm đầu rắn ở vị trí có tọa độ (x,y) = (0,3).

- Rắn có 2 phần: Đầu rắn (load ảnh), thân rắn màu xanh (load ảnh), khúc rắn hình

vuông bo tròn góc kích thước 24 * 24

Vật cản:

- Phụ thuộc vào từng level có các vật cản khác nhau (kích thước, vị trí) màu sắc =

GREEN Mỗi block của vật cản hình vuông 24 * 24

- Vật cản được xây dựng và đọc ra từ 1 ma trận kích thước 23 * 23 chứa các số 0 và

1 với quy tắc:

0: Không có block nào của vật cản.

1: Có 1 block của vật cản.

- Vật cản còn là đường biên bao quanh bàn cờ

Thức ăn:

- Thức ăn hiển thị ngẫu nhiên trên panel chính và không nằm trên bất kì vật cản

nào

Trang 5

- Kích thước thức ăn bình thường: 24 * 24, còn khi tạo ra combo có kích thước 48 *

48 sau đó giảm dần kích thước theo khoảng thời gian 20 * 20 -> 10 * 10 -> biến mất

- Màu sắc: hình ảnh hoa quả được load ảnh từ nguồn.

3 Luật trò chơi

Luật chơi

- Tạo ra một ma trận tĩnh có các vật cản cố định và thức ăn sinh ngẫu nhiên.

- Hành động của rắn: Khi người chơi chọn nút PLAY thì rắn bắt đầu di chuyển,

người chơi di chuyển rắn bằng các nút ảo sang phải →, sang trái ←, lên trên ↑, xuống dưới ↓ sao cho rắn ăn được thức ăn và không bị đâm vào vật cản Trên cùng

1 đường thẳng rắn không thể quay đầu lại

- Có nhiều Level khác nhau, qua mỗi level sẽ tăng độ khó và tốc độ rắn

o Tốc độ rắn ban đầu (level 1) là 300 ms => tăng dần tốc độ qua từng level: 180, 150

o Độ dài rắn: sau khi ăn thức ăn độ dài += 24

o Điểm: được cộng 5 điểm khi mỗi lần rắn ăn thức ăn

- Mỗi khi rắn ăn thức ăn sẽ được cộng điểm ngược lại bị đâm vào vật cản hoặc tự va

vào thân của mình => game over => lưu điểm của người chơi

- Khi ăn hết thức ăn ở từng level thì sẽ được chuyển lên level tiếp theo

o Tốc độ theo level

o Độ dài rắn: khi bắt đầu 1 level mới thì độ dài rắn trở về trạng thái ban đầu

Các luật khác

- Khởi tạo:

o Tại thời điểm ban đầu rắn được sinh ra có tọa độ (0, 3).

o Vật cản được sinh ra dựa vào ma trận của từng level.

o Thức ăn được sinh ra ngẫu nhiên: sinh ra từng thức ăn một, khi rắn ăn

hết thức ăn này sẽ sinh ngẫu nhiên thức ăn mới sao cho vị trí thức ăn không trùng với vị trí của vật cản

- Di chuyển:

o Khi rắn ăn được thức ăn: là khi vị trí của đầu rắn trùng với vị trí của

thức ăn

o Khi rắn va vào vật cản: là khi vị trí của đầu rắn trùng với vị trí của vật

cản

o Rắn di chuyển sang phải: tìm vị trí hiện tại của rắn; tìm vị trí đuôi( vị trí

cuối cùng của rắn) và xóa phần đuôi => vẽ lại rắn Đối với phần từ đuôi đến sát đầu => gán vị trí thứ i = i -1 Đối với phần đầu => tọa độ y += 1

Trang 6

o Tương tự, di chuyển sang trái: Đối với phần đầu => tọa độ y -= 1.

o Tương tự, di chuyển sang xuống dưới: Đối với phần đầu => tọa độ x

+=1

o Tương tự, di chuyển lên trên: Đối với phần đầu => tọa độ x -= 1.

- Level: Gồm có 3 level Khi bắt đầu chơi mặc đinh chơi ở mức level 1 Sau khi ăn

đủ số thức ăn qui định của từng level thì người chơi được qua level tiếp theo

4 Phân tích chức năng của game

Sơ đồ phân rã chức năng

Hình 1: Sơ đồ phân rã chức năng game rắn săn mồi.

Mô tả chức năng

Chức năng "Play game": Chức năng chính của chương trình Chương trình sẽ

mở giao diện chơi game :

góc bên trái, khi ấn vào nút này phần chơi game sẽ bị mờ đi, rắn tạm ngừng hoạt

động, mở ra 1 bảng điều khiển bao gồm Resume, Restart và Back.

Trang 7

Chọn Restart game sẽ bắt đầu từ level 1, số điểm trở về 0 và tính lại từ đầu,

khi chọn vào hệ thống sẽ hỏi có chắc chắn muốn chơi lại hay không

chơi hiện tại, không tính là kết thúc game vì vậy sẽ không lưu nếu điểm đạt kỉ lục

Chức năng "High Score": Chức năng xem điểm kỉ lục.

có điểm cao nhất như tên người chơi, số điểm kết thúc, level

năng được gọi đến sẽ load thông tin từ cơ sở dữ liệu và hiển thị lên giao diện

kết thúc cao hơn ít nhất 1 người trong top 10, hệ thống sẽ xóa thông tin người đứng cuối của top 10 và bắt đầu cho nhập thông tin của người chơi để lưu điểm

Chúc năng "Help": Chức năng trợ giúp cách di chuyển rắn.

Chức năng "Setting": Cài đặt trong game.

thúc game

Chức năng "Exit": Chức năng thoát ứng dụng game Hệ thống hỏi có muốn thoát hay không?

II Thiết kế

1 Giao diện

Giao diện chính

Trang 8

Trên đây là Giao diện chính của chương trình

Giao diện có 4 nút (button) là: Play game, High score, Help, Exit Chức năng của mỗi

nút là:

Button Play game: là nút xác nhận bắt đầu trò chơi Sau khi click vào nút này,

chương trình sẽ chuyển sang Giao diện chọn chế độ chơi của game.

Button High score: là nút xem các xếp hạng tóp 10 (điểm cao) của game.

Button Help: là nút trợ giúp – hướng dẫn cách chơi của game.

Button Exit: là nút thoát khỏi ứng dụng game.

Button Setting: Có 2 biểu tượng điều chỉnh âm thanh (button): Khi ấn vào thì

hiển thị ra như sau

Trang 9

Button Music (Biểu tượng music): Sau khi click vào nút này để thay chuyển sang

đổi trạng thái nhạc nền của game

Button Sounds (Biểu tượng sounds): Sau khi click vào nút này để thay chuyển

sang đổi trạng thái âm thanh của các nút điểu khiển của game

Trang 10

Play game

Đây là Giao diện chơi game của ứng dụng Giao diện có 4 nút ảo (button) để di chuyển rắn và 1 button để lựa chọn chơi tiếp, chơi lại và quay lại 3 frames; 2 label là Score, Level Chức năng của mỗi nút, mỗi frames và label là:

Frame Frame 1: dung để chứa Lable điểm và level và nút button lựa chọn.

Frame Frame 2: chính là khung nhìn của game – nơi mà người chơi sử dụng để

di chuyển rắn ăn mồi

Frame Frame 3: dùng để chứa những button điểu khiển rắn.

Button Mũi tên: dùng để di chuyển rắn lên trên, xuống dưới, sang trái, sang phải.

Button lựa chọn: gồm có Resume, Restart và Back Khi ấn vào sẽ hiển thị như

sau:

Trang 11

High score

Đây là Giao diện xem xếp hạng của ứng dụng

Trang 12

Help

Đây là Giao diện Help của ứng dụng.

2 Data base

Lưu điểm

Mỗi ứng dụng đều sử dụng dữ liệu, dữ liệu có thể rất đơn giản hay đôi khi là cả 1 cấu trúc Trong Android thì hệ cơ sở dữ liệu được sử dụng là SQLite Database, đây là

hệ thống mã nguồn mở được sử dụng rộng rãi trong các ứng dụng

Trong Android, cơ sở dữ liệu mà bạn tạo cho 1 ứng dụng thì chỉ ứng dụng đó có quyền truy cập và sử dụng, còn các ứng dụng khác thì không được phép

Với việc lưu điểm của chơi top 10 đơn giản ít bản ghi nên ứng dụng game này sử dụng hệ cơ sở dữ liệu SQLite

Trang 13

Cơ sở dữ liệu gồm 1 bảng với các thuộc tính sau:

- Truờng id: là trường khóa chính , sinh tự động khi người chơi muốn lưu điểm.

- Khi lấy dữ liệu ra, ta sử dụng câu lệnh truy vấn ORDER BY để lấy dữ liệu ra theo

thứ tự giảm dần của XẾP HẠNG

- Trong cơ sở dữ liệu chỉ lưu 10 người chơi có điểm cao nhất khi có 1 người chơi

mới có số điểm cao hơn người chơi có xếp hạng 10

- Giả sử : xếp hạng và điểm của người chơi theo thứ tự từ thấp đến cao là

- Xếp hạng (i) : 1 2 3 4 5 6 7 8 9 10

- Điểm d(i):D1 d2 d3 d4 d5 d6 d7 d8 d9 d10

- Người chơi mới ( có điểm m )sẽ được thêm vào vị trí có xếp hạng (n) sao cho có

điểm (m) d(i) < m < d(i+1), các vị trí có xếp hạng thấp hơn sẽ bị lùi xếp hạng (i) 1 đơn vị, và xóa người chơi có xếp hạng thấp nhất là 1

- Nếu m < d(1) “người chơi có số điểm thấp nhất” : không lưu người chơi mới này.

- Nếu m = d(1) : lưu thêm người chơi mới và có cùng số xếp hạng n = 1 , Danh sách

là tăng thêm 1 người chơi

- Nếu m = d(i) : lưu người chơi mới này và có xếp hạng n = i, các người chơi có xếp

hạng nhỏ hơn (< i) sẽ bị giảm 1 xếp hạng , đến người chơi có xếp hạng thấp nhất

bị xóa Nếu người chơi có số điểm thấp nhất có nhiều người ( 2 hoăc 3 người )

sẽ xóa 1 người bất kỳ

Bản đồ rắn di chuyển

- Tạo ra những ma trân tĩnh cho từng level dưới dạng txt

- Các vật cản là những dữ liệu cố định được biểu diễn bằng số 1 trong file matran.txt

- Thức ăn được sinh ngẫu nhiên sao cho tọa độ thức ăn không được trùng với tọa độ vật cản

Trang 14

III Giao diện và moldul chương trình

1 Các moldul

2 Giao diện

o Giao diện chính:

Trang 15

o Giao diện chơi:

Trang 16

o Giao diện help:

o Giao diện high score:

Trang 17

PHÂN CÔNG VIỆC

Trang 18

STT Công việc Người làm

1 Giới thiệu, khảo sát bố cục , định nghĩa các đối

tượng có trong ứng dụng Phân tích luật chơi

Đào Thị Thủy

2 Phân tích chức năng cho ứng dụng: sơ đồ phân rã

chức, mô tả chi tiết từng chức năng

Lương Đức Anh

4 Thiết kế database: thiết kế CSDL để lưu điểm, tạo

ra các ma trận chơi

Trần Văn Khang

5 Tìm kiếm các icon ảnh phục vụ cho ứng dụng

game

Lương Đức Anh

6 Tìm hiểu hệ quản trị CSDL SQLite Trần Văn Khang

7 Code các class đối tượng: PointObject, Snake,

Barrier, Food, Map

Đào Thị Thủy

8 Thiết kế giao diện chơi trên ứng dụng, code

playActivity

Lương Đức Anh

9 Thiết kế giao diên highScore, code lưu điểm và

high score

Trần Văn Khang

KẾT LUẬN

Qua việc nghiên cứu và xây dựng chương trình game em thấy đã thực hiện được những vấn đề sau:

- Thiết kế giao diên của các moldul

Trang 19

- Xây dựng rắn di chuyển trên ma trận.

- Rắn ăn mồi thì tăng điểm và thân răn dài ra

- Cài đặt âm thanh cho chương trình

Chưa thực hiện được những vấn đề sau:

- Tạo ra level cho chương trình

- Load ma trận từ tệp

- Chưa xư lý rắn đâm vào vật cản

- Tạo ra combo

Định hướng phát triển:

- Tiếp tực hoàn thiện chương trình, chỉnh sửa giao diện đẹp hơn

- Nghiên cứu và phát triển các tính năng khác hỗ trợ cho chương trình

Một lần nữa em xin được cảm ơn thầy đã tận tình giảng dạy, giúp đỡ chúng em trong thời gian nghiên cứu và thực hiện

Ngày đăng: 20/01/2015, 21:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w