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

Lập trình Mobile Game bầu cua tôm cá

13 5,9K 22

Đ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 13
Dung lượng 876,55 KB

Nội dung

Báo cáo bài tập lớn (đóng quyển) hoàn chỉnh môn Lập trình mobile (Android) Đề tài: Xây dựng game bầu cua tôm cá trên android. Download có cả source game cho các bạn rồi. Các bạn tham khảo code game và word cho game nhé

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

oOo

-BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH MOBILE

XÂY DỰNG GAME ANDROID

BẦU CUA TÔM CÁ

Giảng viên: Hoàng Quốc Việt

Nhóm thực hiện:

Trần Mạnh Hoàng Nguyễn Thanh Sơn

Hải Dương – Tháng 10 năm 2016

Trang 2

Game Android Bầu Cua Tôm Cá

TRANG KÝ NHẬN

1 Trần Mạnh Hoàng

2 Nguyễn Thanh Sơn

Trang 3

MỤC LỤC

Trang 4

Game Android Bầu Cua Tôm Cá

PHẦN 1: GIỚI THIỆU

Thế kỷ 21 được mệnh danh là thế kỷ của công nghệ thông tin, với sự bùng nổ mạnh mẻ

về khoa học công nghệ Đây là kỷ nguyên của nền văn minh dựa trên cơ sở công nghiệp trí tuệ Ngày nay, tin học đã trở thành một môn khoa học quan trọng trên thế giới Sự phát triển mạnh mẽ như vậy thì công việc lập trình game nhằm phục vụ nhu cầu giải trí của con người trở nên cấp thiết Từ lâu game trên điện thoại có vai khá trò quan trọng trong cuộc sống của con người

Theo thống kê, hệ điều hành Android là nền tảng điện thoại thông minh phổ biến nhất thế giới với ưu điểm là hệ điều hành không nặng nề, có khả năng tinh chỉnh cao, cá nhân hóa cao, và giá rẻ Vì vậy, nền tảng Android được sử dụng rộng rãi trên toàn thế giới bởi các hãng điện tử điện thoại nổi tiếng như: Samsung, Sony, HTC, LG, Xiaomi,… ngoài ra Android còn xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác Ngày nay, Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 1 năm 2016, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành Android cũng là động lực để lập trình game, lập trình ứng dụng của bên thứ 3 trên nền tảng này phát triển mạnh mẽ theo

Nắm bắt được xu thế hiện nay là Android đang cực kỳ phổ biến, cùng thời điểm còn vài tháng nữa là đến Tết, nhu cầu giải trí của con người ngày càng tăng sau những giờ học, giờ làm căng thẳng, nhóm em xin mạnh dạn lựa chọn đề tài “Xây dựng game Andoid Bầu cua tôm cá” Đây là tựa game có cách chơi khá đơn giản, mang hơi thở truyền thống dân tộc, được viết trên nền tảng Android hướng đến người chơi là giới trẻ, giúp người chơi có những khoảng thời gian thư giãn, giải trí thú vị trên chính chiếc điện thoại của mình

Do thời gian, kiến thức và hiểu biết còn hạn chế, game “Bầu cua tôm cá” còn khá đơn giản về nội dung va hình thức, chưa có nhiều chức năng độc đáo Tuy vậy, có thể nói là đây

là game đơn giản từ cách chơi cho tới thiết kế giao diện đồ họa, đã đáp ứng được nhu cầu của người chơi Hình ảnh các con vật hay quả bầu trong game được thiết kế đơn giản và có phần đáng yêu

Trang 5

PHẦN 2: CƠ SỞ LÝ THUYẾT

1. Mô tả trò chơi

1.1. Mô tả chung

Game Android Bầu Cua Tôm Cá được xác định là một game offline nên không yêu cầu kết nối với môi trường Internet

Là một game nhỏ, không sử dụng nhiều đến cơ sở dữ liệu Việc lưu trữ dữ liệu chỉ đơn giản là lưu tiền của người chơi khi người chơi thoát ra khỏi game, khi vào lại thì game vẫn giữ nguyên tiền của người chơi như lúc người chơi thoát khỏi game Vì vậy, game không

sử dụng CSDL SQLite, mà sẽ sử dụng Shared Preferences để lưu trữ thông tin

1.2. Cách chơi

Khi bắt đầu chơi, game sẽ tặng cho người chơi một khoản tiền ảo là 1000 xu Người chơi dùng tiền này để chơi trong game

Trên màn hình chơ gồm có 6 ô hình linh vật theo thứ tự từ trái qua phải, từ trên xuống dưới là: nai, bầu, gà, cá, cua, tôm Ngoài ra, có 3 viên xúc xắc, mỗi viên xúc xắc hiển thị ngẫu nhiên 1/6 hình linh vật, đây là kết quả khi game tiến hành xúc xắc ngẫu nhiên, và giúp cho người chơi đối chiếu với việc đặt cược của mình

Hình 1: Game Bầu Cua Tôm Cá

Trang 6

Game Android Bầu Cua Tôm Cá

Người chơi đặt cược số tiền vào các ô hình linh vật (từ 0 đến 500) và cũng có thể đặt cùng một lúc cả ở 6 ô linh vật Nếu số tiền mà người chơi đặt trong tất cả các ô linh vật lớn hơn số tiền mà người chơi đang có, game sẽ hiển thị thông báo “Bạn không đủ tiền đặt cược!” và sẽ không tiến hành lắc xúc xắc, người chơi phải điều chỉnh lại việc đặt của mình

Game tiến hành xúc xắc, nếu trong 3 viên xúc xắc xuất hiện linh vật mà người chơi

đã đặt cược tiền, họ sẽ lấy lại tiền cược và game sẽ trả số tiền bằng với số lần linh vật đó xuất hiện nhân với số tiền cược (Ví dụ: Nếu người chơi đặt 300 xu vào cửa “cá” mà ra một con cá

sẽ được trả 300 xu, ra 2 con cá được trả 600 xu, ra 3 con cá được trả 900 xu, và nhận lại số tiền mình đã đặt cược) Nếu linh vật người chơi chọn không xuất hiện, số tiền của người chơi

sẽ bị trừ đi một khoản bằng khoản đặt cược của người chơi

Nếu người chơi không còn tiền, thì sẽ không được phép đặt cửa Tuy vậy, game sẽ tặng 1000 xu cho người chơi cứ sau 3 phút người chơi đang chơi, giúp người chơi có thể chơi tiếp tục

Trong game, sẽ kèm theo âm thanh nền và âm thanh xúc xắc để tăng phần sôi động

và hào hứng của một tựa game ngày Tết Người chơi có thể tắt âm thanh nếu đang cần yên tĩnh

Trang 7

2. Các lý thuyết liên quan

2.1. Sử dụng Handle

Handle cho phép cập nhật lại giao diện, xử lý tiến trình

Trong game, Handle được sử dụng để cập nhật lại giao diện cho 3 viên xúc xắc Handle giống như “người đưa thư”, còn callback giống như “ trạm” “Người đưa thư” đi đến một cái nhà nào đó lấy thư và trả về “trạm”, và “trạm” tiến hành cập nhật lại giao diện

Handler.Callback callback = new Handler.Callback()

Phương thức có thể sử dụng ở bất cứ đâu khi được gọi:

handler = new Handler(callback);

2.2. Sử dụng Animation-list

Animation là các phép biến đổi màu sắc, vị trí, kích thước hay hướng của một đối tượng trên màn hình theo thời gian Android cung cấp các API hỗ trợ rất tốt cho việc áp dụng animation cho các thành phần UI và vẽ đồ họa 2D, 3D

Drawable Animation là quá trình đơn giản, hiển thị một chuỗi các hình ảnh liên tiếp trong các khoảng thời gian ngắn để tạo ra hiệu ứng cuối cùng là đối tượng di chuyển hoặc thay đổi Trong Android, việc thực hiện kiểu Animation này được thông qua lớp

AnimationDrawable

Các tag trong Animation-list về căn bản sẽ được chuyển thành các đối tượng

AnimationDrawable đại diện cho tập các hình ảnh Sau đó, cần thiết lập Drawable này như là background resource cho một ImageView

Trong game, Animation-list được sử dụng để thay đổi hình ảnh liên tục cho 3 viên xúc xắc, để tạo hiệu ứng xúc xắc cho chúng Ta có thể truy cập đối tượng

AnimationDrawable như sau:

cdXiNgau1 = (AnimationDrawable) hinhxingau1.getDrawable();

cdXiNgau2 = (AnimationDrawable) hinhxingau2.getDrawable();

cdXiNgau3 = (AnimationDrawable) hinhxingau3.getDrawable();

Khi đã có đối tượng AnimationDrawable, ta có thể sử dụng hai phương thức start()

và stop() để bắt đầu hay kết thúc animation.

cdXiNgau1.start();

cdXiNgau2.start();

cdXiNgau3.start();

Trong thư mục drawable, cần xây dựng file XML có tên hinhdongxingau để gán vào

ImageView viên xúc xắc trong XML của layout:

<animation-list

xmlns: android ="http://schemas.android.com/apk/res/android" android :oneshot="false">

<item

android :drawable="@drawable/bau"

android :duration="50"/>

Trang 8

Game Android Bầu Cua Tôm Cá

<item

android :drawable="@drawable/ca"

android :duration="50"/>

<item

android :drawable="@drawable/cua"

android :duration="50"/>

<item

android :drawable="@drawable/ga"

android :duration="50"/>

<item

android :drawable="@drawable/nai"

android :duration="50"/>

<item

android :drawable="@drawable/tom"

android :duration="50"/>

</animation-list>

Thuộc tính oneshot cho phép chạy Animation một lần, sau đó dừng lại hoặc cho phép

chạy lại vô thời hạn

2.3. Sử dụng CountDownTimer

CountDownTimer cung cấp chức năng giúp người lập trình tạo bộ đếm ngược trong Android

Trong game, CountDownTimer được dùng để tạo bộ đếm lùi thời gian 3 phút Cứ sau mỗi khoảng 3 phút chơi trong game, game sẽ tặng người chơi 1000 xu Được khai báo như sau:

CountDownTimer demthoigian = new CountDownTimer(180000,1000) public void onTick(long millisUntilFinished) {

mTextField.setText("seconds remaining: " +

millisUntilFinished / 1000);

}

public void onFinish() {

mTextField.setText("done!");

}

}.start();

Đoạn code trên ta hiểu rằng, một đối tượng CountDownTimer có là tên demthoigian

được tạo ra kèm theo hai đối số 180000 và 1000 Trong đó, 180000 và 1000 có nghĩa là

cứ 1000 mi-li giây thì phương thức onTick(long millisUntilFinished) sẽ được chạy một lần, cứ chạy như thế trong suốt 180000 mi-li giây 180000 mili giây trôi qua, thì phương thức onFinish() sẽ chạy

Trang 9

Phương thức onTick, kèm theo một đối số millisUntilFinished, đây là đối số cho ta

biết số milli còn lại của bộ đếm (Ví dụ, bộ đếm trôi qua 2000 mi-li giây thì giá trị của millisUntilFinished còn 178000)

Phương thức onFinish, phương thức này được tự động gọi khi 180000 mi-li giây của

bộ đếm trôi qua, đồng nghĩa với “Hết giờ”

Tóm lại, đoạn code trên ta có thể hiểu nôm na: Một bộ đếm ngược 3 phút được tạo ra

2.4. Lưu trữ với Shared Preferences

Shared Preferences cho phép lưu trữ các thông số đã thiết lập trước đó, chẳng hạn như độ sáng trò chơi, mức độ âm lượng, độ khó, tên người chơi… , cho phép sử dụng lại các thiết lập đó mà không cần phải thiết lập lại khi người chơi vào lại game Đây là những tác vụ nhẹ, nên không cần thiết phải sử dụng CSDL SQLite, mà chỉ cần dùng Shared Preferences để đảm bảo tính nhẹ nhàng, nhanh chóng

Trong game Bầu Cua Tôm Cá, Shared Preferences được dùng để lưu lại giá trị tài tiền của người chơi Khi người chơi vào lại game, game vẫn giữ nguyên tiền như lúc người chơi thoát ra khỏi game

SharedPreferences luuTru =

getSharedPreferences("luutruthongtin", Context.MODE_PRIVATE);

Trong đó, tên file lưu trữ là luutruthongtin, MODE_PRIVATE để thiết lập quyền

đọc

SharedPreferences.Editor edit = luuTru.edit();

edit.commit();

Editor để thay đổi giá trị của luuTru , commit để chấp nhận sự thay đổi này.

2.5. Xử lý nhạc nền với Media Player

Android cung cấp nhiều cách để điều khiển tập tin audio hoặc video Một trong

những cách này là sử dụng lớp MediaPlayer Xử lý media player trong android chính là

việc phát các tập tin audio/video, … Để sử dụng lớp MediaPlayer trong android, chúng ta

phải gọi phương thức create() Phương thức này giúp chúng ta tạo một thể hiện của lớp MediaPlayer Cú pháp như sau:

MediaPlayer nhacnen = MediaPlayer.create(this, R.raw.song); Lưu ý: file audio hoặc video phải được lưu trữ trong thư mục “raw”

Xử lý media player trong android chính là việc sử dụng các phương thức như start().

Âm nhạc sẽ được phát ngay từ đầu khi gọi phương thức này Nếu phương

thức start() được gọi sau phương thức pause() thì âm nhạc sẽ được phát từ chỗ nó bị

dừng chứ không phải được phát từ đầu Để phát âm nhạc ngay từ đầu, chúng ta phải sử

dụng phương thức reset() Cú pháp như sau:

nhacnen.start();

nhacnen.stop();

nhacnen.pause();

Trang 10

Game Android Bầu Cua Tôm Cá

PHẦN 3: GIAO DIỆN TRÒ CHƠI

1. Giao diện màn hình chào

Hình 2: Giao diện màn hình chào

2. Giao diện chính của game

Trang 11

Hình 4: Giao diện đặt cược

4. Giao diện bắt lỗi

Hình 5: Giao diện bắt lỗi chưa đặt cược

4.2. Bắt lỗi không đủ tiền

Trang 12

Game Android Bầu Cua Tôm Cá

Hình 6: Giao diện không đủ tiền

5. Giao diện thắng

Hình 7: Giao diện thắng

Trang 13

Hình 8: Giao diện thua

7. Giao diện hòa

Hình 9: Giao diện hòa

Ngày đăng: 01/03/2017, 21:08

TỪ KHÓA LIÊN QUAN

w