Tải bản đầy đủ (.docx) (19 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (702.72 KB, 19 trang )

ĐẠI HỌC GIAO THÔNG VẬN TẢI
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
MỤC LỤC
LỜI NÓI ĐẦU
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 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. 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
Xây dựng game Rắn săn mồi Nhóm 6
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.
- 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.
4
Xây dựng game Rắn săn mồi Nhóm 6
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.
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.
5
Xây dựng game Rắn săn mồi Nhóm 6
• 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 :
o Phần chính giữa là 1 ma trận mô tả cho tọa độ đầu rắn, thân rắn, khoảng trống
rắn có thể đi, vật cản và thức ăn Trong khi chơi game bấm vào các nút
o Phần phía trên sẽ hiển thị số điểm đang có, level đang chơi và 1 nút điều khiển
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.
 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ọn Resume game sẽ trở lại giao diện chơi, rắn tiếp tục hoạt động.
 Chọn Back ứng dụng sẽ trở lại giao diện lúc mới vào và không lưu thời điểm
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.
6
Xây dựng game Rắn săn mồi Nhóm 6
o Phần phía dưới hiển thị 4 phím ảo lên, xuống, trái, phải để điều khiển rắn.
 Chức năng "High Score": Chức năng xem điểm kỉ lục.
- Chương trình mở giao diện để xem điểm kỉ lục bao gồm thông tin 10 người chơi
có điểm cao nhất như tên người chơi, số điểm kết thúc, level.
- Thông tin được sắp xếp theo thứ tự điểm từ cao đến thấp.
- Dữ liệu của điểm kỉ lục này sẽ được lưu trong cơ sở dữ liệu của hệ thống, khi chức
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.
- Mỗi khi kết thúc lượt game, hệ thống sẽ kiểm tra điểm của người chơi, nếu điểm
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.
o Chức năng "Sound Setting": Cài đặt âm thanh khi bấm nút, khi ăn mồi, khi kết
thúc game
o Chức năng "Music Setting": Cài đặt nhạc nền trong hệ thống 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
7
Xây dựng game Rắn săn mồi Nhóm 6
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
8
Xây dựng game Rắn săn mồi Nhóm 6
 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.
• Play game
9
Xây dựng game Rắn săn mồi Nhóm 6
Đâ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:
10
Xây dựng game Rắn săn mồi Nhóm 6
• High score
Đây là Giao diện xem xếp hạng của ứng dụng
• Help
11
Xây dựng game Rắn săn mồi Nhóm 6
Đâ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.
Cơ sở dữ liệu gồm 1 bảng với các thuộc tính sau:
12
Xây dựng game Rắn săn mồi Nhóm 6
Tên cột Kiểu dữ liệu Mô tả
id int Khóa chính
Tên Text
Điểm double

Xếp hạng int
Level int
- 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.
III. Giao diện và moldul chương trình
1. Các moldul
13
Xây dựng game Rắn săn mồi Nhóm 6

2. Giao diện
o Giao diện chính:
14
Xây dựng game Rắn săn mồi Nhóm 6
o Giao diện chơi:
15
Xây dựng game Rắn săn mồi Nhóm 6
o Giao diện help:
o Giao diện high score:
16
Xây dựng game Rắn săn mồi Nhóm 6
PHÂN CÔNG VIỆC
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ã Lương Đức Anh
17
Xây dựng game Rắn săn mồi Nhóm 6
chức, mô tả chi tiết từng chức năng.
3 Thiết kế giao diện. Đào Thị Thủy
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.
- 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.
18
Xây dựng game Rắn săn mồi Nhóm 6
- 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.
19

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×