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

bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android

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 (1.8 MB, 49 trang )

LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ lòng biết ơn
đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ em trong suốt quá trình học tập
và nghiên cứu đề tài này. Trong suốt thời gian từ khi bắt đầu học tập tại trường đến nay, em đã
nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè.
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Công nghệ thông tin
– Trường Đại học Đại học công nghệ thông tin và truyền thông đã truyền đạt vốn kiến thức quý
báu cho chúng em trong suốt thời gian học tập tại trường. Nhờ có những lời hướng dẫn, dạy bảo
của các thầy cơ nên đề tài nghiên cứu của em mới có thể hoàn thiện tốt đẹp.
Một lần nữa, em xin chân thành cảm ơn thầy ………………người đã trực tiếp giúp đỡ,
quan tâm, hướng dẫn em hoàn thành tốt bài báo cáo này trong thời gian qua.

Bước đầu đi vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡ nên khơng tránh khỏi những
thiếu sót , em rất mong nhận được những ý kiến đóng góp quý báu của q Thầy Cơ về đề tài
“XÂY DỰNG APP TIỆN ÍCH TRỊ CHƠI GIẢI TRÍ OFFLINE TRÊN ANDROID” để kiến thức
của em trong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện bổ sung, nâng cao ý thức
của mình.

1|Page


MỤC LỤC

CHƯƠNG 1: TỔNG QUAN VỀ ANDROID, JAVA, XML, QSLite
1.1.

Tổng Quan về Android

*) Android là gì?
Android là một mã nguồn mở và dựa trên hệ điều hành Linux, chạy trên các thiết bị di động như
điện thoại thông minh và máy tính bảng. Android được phát triển bởi Open Handset Alliance,


dẫn đầu bởi Google, và các công ty khác.
Android cung cấp một phương pháp tiếp cận thống nhất để lập trình ứng dụng cho các thiết bị di
động, nghĩa là các lập trình viên chỉ cần lập trình cho Android, và các ứng dụng của họ sẽ có thể
chạy trên các thiết bị khác nhau được hỗ trợ bởi Android.
Các phiên bản beta đầu tiên của Software Development Kit Android (SDK) được phát hành bởi
Google trong năm 2007 trong khi đó phiên bản thương mại đầu tiên, Android 1.0, được phát
hành vào tháng 9 năm 2008.
Ngày 27 tháng 6 năm 2012, tại hội nghị Google I / O, Google đã công bố phiên bản Android tiếp
theo, 4.1 Jelly Bean. Jelly Bean là một bản cập nhật gia tăng, với mục đích chính của việc cải
thiện giao diện người dùng, cả về tính năng và hiệu suất.
2|Page


Mã nguồn của Android được phát hành theo giấy phép phần mềm tự do và nguồn mở. Google
công khai hầu hết các mã theo giấy phép phiên bản Apache 2.0 và phần còn lại, Linux kernel,
theo giấy phép phiên bản GNU General Public 2.

*) Tại sao chúng ta nên sử dụng Android ?

Open Soure: Mã nguồn mởLarger Developer and Community Reach: Có những lập trình viên và
cộng đồng phát triển lớnIncreased marketing: phát triển thương mại
3|Page


Inter app integration: ứng dụng hội nhập quốc tế
Reduce cost of development: giảm chi phí phát triển
Higher Success Ratio: Tỷ lệ thành công cao hơn
Rich development Environment:Môi trường phát triển đa dạng

*) Các tính năng của Android


Android là một hệ điều hành mạnh cạnh tranh với Apple 4GS và hỗ trợ các tính năng tuyệt vời.
Một phần trong số đó được liệt kê dưới đây –
ST
T

Tính năng & Mơ tả
Giao diện người dùng đẹp

1

Màn hình cơ bản hệ điều hành Android cung cấp một giao diện người dùng đẹp và trực
quan.
Kết nối

2

GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and
WiMAX.
Lưu trữ

3

SQLite, một cơ sở dữ liệu quan hệ nhẹ, được sử dụng cho mục đích lưu trữ dữ liệu.
Hỗ trợ phương tiện truyền thông

4

H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.


5

Tin nhắn
4|Page


SMS and MMS
Trình duyệt web
6

Dựa vào cơ chế WebKit mã nguồn mở, kết hợp với công cụ V8 JavaScript của Chrome
hỗ trợ HTML5 và CSS3.
Cảm ứng đa điểm

7

Android có hỗ trợ cho cảm ứng đa điểm mà ban đầu đã được thực hiện có sẵn trong
điện thoại như HTC Hero.
Multi-tasking

8

Người dùng có thể nhảy từ một nhiệm vụ nàyđến nhiệm vụ khác và cùng một thời
gian, các ứng dụng khác nhau có thể chạy đồng thời.
Resizable widgets

9

Widget là thay đổi kích thước, vì vậy người dùng có thể mở rộng chúng để hiển thị nội

dung nhiều hơn hoặc thu nhỏ chúng để tiết kiệm không gian.
Đa ngôn ngữ

10

Hỗ trợ thư mục đơn và văn bản hai chiều.
GCM

11

Google Cloud Messaging (GCM) là một dịch vụ cho phép các nhà phát triển gửi tin
nhắn dữ liệu lên user của họ trên các thiết bị Android, mà không cần một giải pháp
đồng bộ hóa độc quyền.
Wi-Fi Direct

12

Một cơng nghệ cho phép các ứng dụng Tìm thấy và ghép đơi trực tiếp, qua một băng
thông cao kết nối peer-to-peer.

13

Android Beam
5|Page


Một công nghệ NFC cho phép người dùng chia sẻ ngay lập tức, chỉ bằng cách chạm
hai điện thoại NFC với nhau.
*) Ứng dụng Android


Ứng dụng Android thường được phát triển bằng ngôn ngữ Java sử dụng Android Software
Development Kit.
Sau khi phát triển, ứng dụng Android có thể được đóng gói một cách dễ dàng và được bán ra
thơng qua một cửa hàng như Google Play, SlideME, Opera Mobile Store, Mobango, F-Droid và
Amazon Appstore.
Có hàng trăm triệu thiết bị di động Android tại hơn 190 quốc gia trên thế giới. Đó là cơ sở cài
đặt lớn nhất của bất kỳ nền tảng di động và phát triển rất nhanh. Mỗi ngày hơn 1 triệu thiết bị
Android mới được kích hoạt trên toàn thế giới.
Hướng dẫn này được viết với mục đích để dạy cho bạn làm thế nào để phát triển và gói ứng
dụng Android. Chúng tơi sẽ bắt đầu từ việc thiết lập mơi trường để lập trình ứng dụng Android
và sau đó đi sâu xem xét các khía cạnh khác nhau của các ứng dụng Android.
1.2 Tổng quan về Java
+) Giới thiệu về Java
java là một ngôn ngữ lập lập trình, được phát triển bởi Sun Microsystem vào năm 1995, là
ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngơn ngữ lập trình hướng đối tượng.
Vì sao ngôn ngữ này lại được đặt tên là Java? Java là tên một hòn đảo ở Indonesia - hòn
đảo nổi tiếng với loại coffee Peet và cũng là loại nước uống phổ biến của các kỹ sư Sun. Ban
đầu Ngơn ngữ này được đặt tên là "Oak" (có nghĩa là "Cây sồi" - 1991), nhưng các luật sư của
Sun xác định rằng tên đó đã được đăng ký nhãn hiệu nên các nhà phát triển đã phải thay thế
bằng một tên mới - và cũng vì lý do trên mà cái tên Java đã ra đời và trở thành tên gọi chính
thức của Ngơn ngữ này - Ngơn ngữ Lập trình Java.
+) Ứng dụng của Java
Ngày nay Java được sử dụng với các mục đích sau:
6|Page




Phát triển ứng dụng cho các thiết bị điện tử thông minh, các ứng dụng cho doanh nghiệp
với quy mô lớn.




Tạo các trang web có nội dung động (web applet), nâng cao chức năng của server.

Phát triển nhiều loại ứng dụng khác nhau: Cơ sở dữ liệu, mạng, Internet, viễn thơng, giải
trí,...
*) Những đặc điểm cơ bản của Java
Tiêu chí hàng đầu của Ngơn ngữ Lập trình Java là "Write Once, Run Anywhere" (Viết một
lần, chạy mọi nơi), nghĩa là Java cho phép chúng ta viết code một lần và thực thi được trên các
hệ điều hành khác nhau. Ví dụ, chúng ta viết code trên Hệ điều hành Windows và nó có thể thực
thi được trên các Hệ điều hành Linux và Mac OS...


Với đặc điểm nổi bật đó, Java có những đặc điểm cơ bản như sau:


Đơn giản và quen thuộc: Vì Java kế thừa trực tiếp từ C/C++ nên nó có những đặc điểm
của ngơn ngữ này, Java đơn giản vì mặc dù dựa trên cơ sở C++ nhưng Sun đã cẩn thận
lược bỏ các tính năng khó nhất của của C++ để làm cho ngơn ngữ này dễ sử dụng hơn.



Hướng đối tượng và quen thuộc.



Mạnh mẽ (thể hiện ở cơ chế tự động thu gom rác - Garbage Collection) và an tồn.




Kiến trúc trung lập, độc lập nền tảng và có tính khả chuyển (Portability).



Hiệu suất cao.



Máy ảo (biên dịch và thơng dịch).



Phân tán.

Đa nhiệm: Ngơn ngữ Java cho phép xâ dựng trình ứng dụng, trong đó nhiều q trình có
thể xảy ra đồng thời. Tính đa nhiệm cho phép các nhà lập trình có thể biên soạn phần
mềm đáp ứng tốt hơn, tương tác tốt hơn và thực hiện theo thời gian thực.
*) Biến trong java
Biến là tên một khu nhớ. Có ba kiểu biến: biến cục bộ (còn gọi là biến local), thuộc tính (biến
của instance- đối tượng) và biến static.


Bạn phải khai báo tất cả các biến trước khi chúng có thể được sử dụng. Form cơ bản của một
khai báo biến như sau:
kieu_du_lieu bien [ = giatri][, bien [= giatri] ...] ;

7|Page



Ở đây, kieu_du_lieu là một kiểu dữ liệu của Java và bien là tên của biến. Để khai báo nhiều hơn
một biến với kiểu cụ thể, bạn có thể sử dụng một danh sách biến phân biệt nhau bởi dấu phảy.
Dưới đây là ví dụ về khai báo và khởi tạo biến hợp lệ trong Java:
int a, b, c;

// Khai bao ba bien kieu int la a, b, và c.

int a = 5, b = 7; // Vi du ve khoi tao bien
byte A = 11;

// Khoi tao mot bien kieu byte ten la A.

double pi = 3.14159; // Khai bao va gan mot gia tri cua PI.
char nam = 'b';

// Bien nam duoc khoi tao voi gia tri 'a'.

*) Kiểu dữ liệu trong Java
Các biến là khơng gì khác ngồi các vị trí bộ nhớ dành riêng để lưu các giá trị. Nghĩa là, khi
bạn tạo một biến, bạn dự trữ một số không gian trong bộ nhớ.
Dựa trên kiểu dữ liệu của một biến, hệ điều hành cấp phát bộ nhớ và quyết định cái gì có thể
được lưu giữ trong bộ nhớ dành riêng. Vì thế, bằng việc gán các kiểu dữ liệu khác nhau tới các
biến, bạn có thể lưu giữ integer, thập phân, hoặc các ký tự trong những biến này.
Có hai kiểu dữ liệu có sẵn trong Java:



Các kiểu dữ liệu gốc (Primitive)
Các kiểu dữ liệu tham chiếu/đối tượng (không phải kiểu gốc Non-primitive)


*) Toán tử trong Java
Java cung cấp rất nhiều toán tử đa dạng để thao tác với các biến. Chúng ta có thể chia tất cả các
tốn tử trong Java thành các nhóm sau:




Tốn tử số học
- Các tốn tử số học được sử dụng trong các biểu thức toán học theo cách tương tự như chúng
được sử dụng trong đại số học
- các toán tử số học bao gồm: Phép cộng(+), phép trừ (-), phép nhân (*), phép chia (/), phép chia
dư (%), Phép lượng tăng(++), phép lượng giảm(--)
Toán tử quan hệ
Các toán tử quan hệ bao gồm: so sánh bằng (==), so sánh khác (!=), so sánh lớn (>), so sánh nhỏ
(<), so sánh nhỏ hơn hoặc bằng (<=), so sánh lớn hơn hoặc bằng (>=)
8|Page








Toán tử thao tác bit
Java định nghĩa một số toán tử thao tác bit có thể được áp dụng cho các kiểu giá trị integer, long,
int, short, char, và byte.
Các toán tử thao tắc bit bao gồm: toán tử Và(&), toán tử hoặc (|, ^), toán tử dịch trái(<<), dịch
phải(>>), dịch phải và điển 0 vào chỗ trống (>>>)
Toán tử logic

Toán tử logoc bao gồm: toán tử và(&&), toán tử hoặc(||), toán tử phủ định (!)
Toán tử gán
Các toán tử gắn bao gồm: (=, +=, -=, *=, /=, <<=, >>=, &=, ^=, |=)
Các tốn tử hỗn hợp
Ngơn ngữ Java cũng hỗ trợ một số toán tử hỗn hợp khác.

1.3. Tổng quan về XML
*) Giới thiệu về XML
XML là viết tắt của từ eXtensible Markup Language, hay cịn gọi là ngơn ngữ đánh dấu mở rộng
do W3C đề nghị với mục đích tạo ra các ngơn ngữ đánh dấu khác. Đây là một tập hợp con đơn
giản có thể mơ tả nhiều loại dữ liệu khác nhau nên rất hữu ích trong việc chia sẻ dữ liệu giữa các
hệ thống. Ví dụ khi bạn xây dựng một ứng dụng bằng C# và một ứng dụng bằng PHP thì hai
ngơn ngữ này khơng thể hiểu nhau, vì vậy ta sẽ sử dụng XML để trao đổi dữ liệu.
Tất cả những đặc tả dữ liệu XML đều phải tuân theo quy luật và cú pháp của nó nên hầu như các
file XML đều rất nghiêm khắc trong việc biên dịch. Tuy nhiên công nghệ này cần phải được
xem xét bởi vì trong quá trình thao tác và truyền dữ liệu nó có tỉ lệ sai sót lên tới 5% - 7%. Con
số này không cao nhưng cũng rất đáng để cân nhức khi sử dụng.
Điển hình nhất là ngơn ngữ đánh dấu siêu văn bản HTML sử dụng cú pháp của XML để tạo nên
và nó có các bộ phần tử và thuộc tính khơng mềm dẻo nên chỉ có tác dụng trong việc trình bày
dữ liệu trên trình duyệt Browser.

*) Đăc điểm XML
o
o
o
o

XML được dùng cho dữ liệu có cấu trúc.
Về trực quan, XML khá giống với HTML.
Tuy là văn bản, nhưng XML không phải dùng để đọc.

XML thường rất dài.
9|Page


o
o
o

XML được coi là cầu nối đưa HTML tới XHTML và là nền tảng cho RDF và Web mã
hóa.
XML là một module.
XML miễn phí bản quyền, platform độc lập và được hỗ trợ rất tốt.

*) Ưu nhược điểm XML
1.7.1. Ưu điểm
Ưu điểm lớn nhất của XML chính là sự độc lập. Điều này cũng rất dễ hiểu, vì XML được
sử dụng để mô tả dữ liệu dưới dạng text, nên hầu hết các phần mềm hay các chương trình
bình thường đều có thể đọc được chúng.
XML có thể đọc và phân tích nguồn dữ liệu khá dễ dàng nên nó được sử dụng với mục
đích chính là trao đổi dữ liệu giữa các chương trình, các hệ thống khác nhau. XML được
sử dụng cho Remote Procedure Calls nhằm phục vụ cho các dịch vụ của website.
1.7.2. Nhược điểm
Tỷ lệ sai sót khi sử dụng XML để truyền dữ liệu khoảng từ 5-7%. Con số này tuy
không quá cao, nhưng trên thực tế, người ta vẫn cần cân nhắc trước khi sử dụng nó để
trao đổi thơng tin.
*) Thẻ trong XML
Các thẻ XML cấu thành nên XML. Chúng định nghĩa phạm vi một phần tử trong XML. Chúng
cũng có thể được sử dụng để chèn các comment, khai báo các thiết lạp cần thiết để phân tích
mơi trường và để chèn các chỉ lệnh đặc biệt.
Chúng ta có thể phân loại các thẻ XML thành:

-Thẻ mở trong XML
Phần bắt đầu của mỗi phần tử XML không trống được đánh dấu bởi một thẻ mở. Ví dụ về một
thẻ mở là:
<address>
10 | P a g e


-Thẻ đóng trong XML
Mỗi phần tử mà có một thẻ mở nên kết thúc với một thẻ đóng. Ví dụ về thẻ đóng là:
</address>
Ghi nhớ là các thẻ đóng phải có dấu gạch chéo (/) ở trước tên phần tử.
- Thẻ mở trống trong XML
Phần text xuất hiện giữa thẻ mở và thẻ đóng được gọi là nội dung. Một phần tử khơng có nội
dung nào được coi là trống (empty). Một phần tử trống có thể được biểu diễn theo hai cách:
1.4. Tổng quan về SQLite
*) Giới thiệu về SQLite
SQLite là một thư viện phần mềm mà triển khai một SQL Database Engine, không cần máy chủ,
không cần cấu hình, khép kín và nhỏ gọn. Nó là một cơ sở dữ liệu, khơng cần cấu hình, có nghĩa
là giống như các cơ sở dữ liệu khác mà bạn không cần phải cấu hình nó trong hệ thống của
mình.
SQLite engine khơng phải là một quy trình độc lập (standalone process) như các cơ sở dữ liệu
khác, bạn có thể liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của
bạn. SQLite truy cập trực tiếp các file lưu trữ (storage files) của nó.
*) Tại sao lại là SQLite?


SQLite khơng u cầu một quy trình hoặc hệ thống máy chủ riêng biệt để hoạt động.




SQLite khơng cần cấu hình, có nghĩa là khơng cần thiết lập hoặc quản trị.



Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk đa nền tảng (crossplatform disk file).



SQLite rất nhỏ và trọng lượng nhẹ, dưới 400KiB được cấu hình đầy đủ hoặc dưới
250KiB với các tính năng tùy chọn bị bỏ qua.



SQLite là khép kín (self-contained), có nghĩa là khơng có phụ thuộc bên ngồi.



Các transaction trong SQLite hồn tồn tn thủ ACID, cho phép truy cập an tồn từ
nhiều tiến trình (process) hoặc luồng (thread).
11 | P a g e




SQLite hỗ trợ hầu hết các tính năng ngơn ngữ truy vấn (query language) được tìm thấy
trong tiêu chuẩn SQL92 (SQL2).



SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dễ sử dụng.


SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows (Win32, WinCE,
WinRT).
*) Lịch sử tóm tắt của SQLite




2000 - D. Richard Hipp đã thiết kế SQLite cho mục đích khơng u cầu quản trị để vận
hành chương trình.



2000 - Vào tháng 8, SQLite 1.0 được phát hành với trình quản lý cơ sở dữ liệu GNU.



2011 - Hipp tuyên bố bổ sung giao diện UNQl vào SQLite DB và phát
triển UNQLite (Cơ sở dữ liệu hướng tài liệu - Document oriented database).

*) Tại sao nên sử dụng SQLite?
• SQLite khơng u cầu một tiến trình Server riêng rẽ để hoạt động.
• SQLite khơng cần cấu hình, nghĩa là khơng cần thiết phải cài đặt.
• Một SQLite Database đầy đủ được lưu giữ trong một disk file đơn.
• SQLite là rất nhỏ gọn, nhỏ hơn 400kB đã đươc cấu hình đầy đủ hoặc nhỏ hơn 250kB khi
đã bỏ qua các tính năng tùy ý.
• SQLite là tự chứa, nghĩa là khơng có sự phụ thuộc vào ngoại vi.
• Các Transaction trong SQLite là tuân theo đầy đủ chuẩn ACID, đảm bảo truy cập an toàn
từ nhiều tiến trình hoặc thread.
• SQLite hỗ trợ hầu hết các tính năng của một ngơn ngữ truy vấn trong chuẩn SQL92.

• SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dễ dàng sử dụng.
• SQLite là có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và Windows (Win32,
WinCE, WinRT).

12 | P a g e


CHƯƠNG 2: KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG

2.1. Phát biểu bài tốn
- Ứng dụng là một tiện ích trị chơi giải trí bao gồm một số trị chơi đơn giản như 2048, rắn săn
mồi, freaking math…..
- Trong ứng dụng người chơi có thể lựa chọn trị chơi mà mình muốn chơi, có thể thay đổi
avatar, thay đổi tên người chơi, đặt lại trò chơi, cài đặt bật tắt âm thanh, và cũng có thể lên cấp
độ trong trị chơi.
2.2. Phân tích ứng dụng
2.2.1. Chức năng chính của ứng dụng
- Game giải trí: Cung cấp các tiện ích trị chơi giải trí cho người chơi
- Yêu cầu phi chức năng:
+ Chương trình có giao diện thân thiện với người dùng.
2.2.2. Các yêu cầu đặt ra cho ứng dụng
R1: Giao diện đơn giản, dễ nhìn
R2: Dễ dàng thay đổi thơng tin người chơi
R3: Có thể lưu lại trị chơi khi ứng dụng bị thốt đột ngột.
R4: Cần có âm thanh nền hoặc âm thanh phím bấm
R5: Đối với một số trị chơi cần đếm số thời gian mất để hồn thành mức chơi
R6: Một số game có thể quay lại bước đi trước đó.
2.2.3. Mơi trường thực hiện
- Sử dụng IDE: Android Studio
- Hệ cơ sở dữ liệu: SQLite

- Ngôn ngữ lập trình: Java
13 | P a g e


- Ngôn ngữ đánh dấu thiết kế giao diện: XML
2.2.4. Các trò chơi trong ứng dụng
*) Game 2048
2048 là một game trí tuệ giải đố, Mục tiêu của trị chơi là trượt các khối vng có mang
số trên một lưới vuông để kết hợp chúng lại và tạo ra khối vng có giá trị 2048.
Tính năng chính của game 2048


Tự động lưu game khi bị thốt đột ngột.



Cho phép lùi lại 1 bước nếu đi sai.



Có thể xem điểm cao nhất người chơi đặt được



Tiếp tục chơi game để gia tăng điểm số sau khi đã tạo được ơ 2048.



Giao diện đơn giản dễ nhìn.


*) Freaking math
Freaking math là một game thể loại game trí tuệ, mục tiêu của trị chơi là trả lời các câu
hỏi phép tính +, - trong 1 khoảng thời gian rất ngắn để đặt được số điểm cao nhất.
Tính năng chính của game Freaking math


Tự động sinh ngẫu nhiên câu hỏi và đáp án.



Có chức năng đếm ngược thời



Có thể cài đặt bật tắt âm thanh



Có thể xem điểm cao nhất người chơi đặt được



Số lượng câu khơng giới hạn



Giao diện đơn giản dễ nhìn.

*) Siêu tính nhẩm
Siêu tính nhẩm là một game thể loại game trí tuệ,trị chơi bao gồm 2 người chơi, mục

tiêu của trò chơi là trả lời các câu hỏi phép tính +, - trong 1 khoảng thời gian rất ngắn để
đặt được số điểm cao nhất và tìm ra người chiến thắng.
Tính năng chính của game Siêu tính nhẩm


Tự động sinh ngẫu nhiên câu hỏi và đáp án.
14 | P a g e




Có thể xem điểm đồng thời của 2 người chơi



Tự động sinh ngẫu nhiên câu hỏi và đáp án.



Đếm ngược thời gian



Số lượng câu khơng giới hạn



Giao diện đơn giản dễ nhìn.

*) Ghép hình

Ghép hình thuộc thể loại trị chơi giải đó, mục tiêu của trị chơi là di chuyển các tấm
hình bị cắt nhỏ ghép thành các tấm hình hồn chỉnh
Tính năng chính của game Ghép hình


Đếm thời gian người chơi.



Đếm số bước đi của người chơi.



Chức năng chơi lại nếu cảm thấy khó giải quyết



Xem thời gian tốt nhất của người chơi.



Giao diện đơn giản dễ nhìn.

*) Rắn săn mồi
Rắn săn mồi là thể loại game vui nhộn, nhiệm vụ của người chơi là điều khiển con rắn
trên một màn hình cố định, sao cho con rắn có thể ăn được nhiều mồi nhất mà đầu con rắn
kg bị đụng vào thân con rắn.

Tính năng chính của game Rắn săn mồi



Tạm dừng trị chơi.



Chọn mức độ dễ, trung bình, khó.



Xử dụng 4 nút lên, xuống, trái, phải để điều khiển con rắn theo các hướng



Xem điểm cao nhất



Giao diện đơn giản dễ nhìn.
15 | P a g e


2.2.5. Biểu đồ User case
*) Xác định Actor
Actor hay còn gọi là tác nhân. Để xác định được tác nhân cần trả lười được những câu
hỏi sau:
- Ai là người kích hoạt hệ thống?
- Ai là người duy trì hệ thống?
- Ai là người được hệ thống giúp đỡ?
- Ai là người lấy thông tin từ hệ thống?
- Ai la người cung cấp thông tin cho hệ thống?

Với những câu hỏi trên ta xác được được tác nhân sử dụng ứng dụng và duy trì game hay
trao đổi thơng tin với game chính là người chơi (Player)
*) Xác định User case
• User case chính

User case: Lựa chọn trị chơi
Actor: Player
Mơ tả: Cho phép người chơi lựa chọn các trò chơi có trong ứng dụng
o User case: Đặt lại trị chơi
Actor: Player
Mơ tả: Cho phép người chơi xóa tồn bộ dữ liệu các trò chơi
o User case: Cài đặt âm thanh
Actor: Player
Mô tả: Cho phép người bật tắt âm thanh game
o

16 | P a g e


User case: Thay đổi tên người dùng
Actor: Player
Mô tả: Cho phép người chơi thay đổi tên hiển thị
o User case: Thay đổi ảnh avatar
Actor: Player
Mô tả: Cho phép người chơi thay đổi avatar hiển thị
o



User case game 2048


o

o

o

o

o

User case: Chơi tiếp
Actor: Player
Mô tả: cho phép người chơi nối tiếp trước đó
User case: Trị chơi mới
Actor: Player
Mơ tả: Cho phép chơi mới trị chơi
User case: Quay về
Actor: Player
Mơ tả: Cho phép người chơi trở lại màn hình “Game play”
User case: Điểm, Điểm cao nhất
Actor: Player
Mô tả: Cho phép hiển thị điểm tức thời và điểm cao nhất của người chơi
User case: Game over
Actor: Player
Mô tả: Cho phép hiển thị thông báo trò chơi kết thúc
17 | P a g e


User case: Chơi lại

Actor: Player
Mô tả: Cho phép chơi lại trị chơi
o User case: Trở về
Actor: Player
Mơ tả: Cho phép trở về màn hình chính game 2048
o User case: Back step
Actor: Player
Mô tả: Cho phép trở về một bước trước đó
o
o



User case game Freaking math

User case: Chơi ngay
Actor: Player
Mơ tả: Cho phép bắt đầu trò chơi
o User case: Quay về
Actor: Player
Mơ tả: Cho phép người chơi trở lại màn hình “Game play”
o User case: Điểm cao nhất
Actor: Player
Mô tả: Cho phép hiển thị điểm cao nhất của người chơi
o User case: Game over
Actor: Player
Mô tả: Cho phép hiển thị thông báo trò chơi kết thúc
o

18 | P a g e



User case: Chơi lại
Actor: Player
Mô tả: Cho phép chơi lại trị chơi
o User case: Trở về
Actor: Player
Mơ tả: Cho phép trở về màn hình chính game 2048
o



User case Siêu tính nhẩm

o

o

o

o

o

o

User case: Chơi ngay
Actor: Player
Mô tả: Cho phép bắt đầu trị chơi
User case: Quay về

Actor: Player
Mơ tả: Cho phép người chơi trở lại màn hình “Game play”
User case: Điểm cao nhất
Actor: Player
Mô tả: Cho phép hiển thị điểm cao nhất của người chơi
User case: Game over
Actor: Player
Mô tả: Cho phép hiển thị thơng báo trị chơi kết thúc
User case: Chơi lại
Actor: Player
Mơ tả: Cho phép chơi lại trị chơi
User case: Trở về
Actor: Player
Mơ tả: Cho phép trở về màn hình chính game 2048
19 | P a g e




User case Rắn săn mồi

o

o

o

o

o


o

User case: Chơi ngay
Actor: Player
Mô tả: Cho phép bắt đầu trị chơi
User case: Quay về
Actor: Player
Mơ tả: Cho phép người chơi trở lại màn hình “Game play”
User case: Điểm cao nhất
Actor: Player
Mô tả: Cho phép hiển thị điểm cao nhất của người chơi
User case: Chơi lại
Actor: Player
Mơ tả: Cho phép chơi lại trị chơi
User case: Trở về
Actor: Player
Mơ tả: Cho phép trở về màn hình chính game 2048
User case tạm dừng
Actor: Player
Mô tả: Cho phép tạm dừng trò chơi hoặc tiếp tục trò chơi
20 | P a g e




User case Ghép hình

o


o

o

o

o

o

User case: Chơi ngay
Actor: Player
Mơ tả: Cho phép bắt đầu trị chơi
User case: Số bước đi
Actor: Player
Mơ tả: Cho phép đếm số bước người chơi thực hiện
User case: Thời gian
Actor: Player
Mô tả: Cho phép đếm thời gian của người chơi
User case: Chơi lại
Actor: Player
Mô tả: Cho phép chơi lại trị chơi
User case: Trở về
Actor: Player
Mơ tả: Cho phép trở về màn hình chính game 2048
User case Win game
Actor: Player
Mơ tả: Cho phép hiển thị màn hình chiến thắng

21 | P a g e



22 | P a g e


2.3. Mô tả thiết kế ứng dụng
2.3.1. Sơ đồ ứng dụng

Figure 1Sơ đồ ứng dụng

23 | P a g e


2.3.2 Nhánh sơ đồ “Người dùng”
*) Hình ảnh đại diện
- Để thay đổi avatar người dùng click vào ảnh avatar sau đó một danh sách các hình ảnh
hiện lên, người dùng nhấn vào hình ảnh muốn lựa chọn hình ảnh đại diện sẽ được thay đổi.
- Hình ảnh đại diện mặc định bao gồm 12 ảnh, 6 ảnh nam và 6 ảnh nữ.
*) Tên người dùng
- Quy trình thay đổi tên người dùng

Figure 2: Quy trình thay đổi tên người dùng

-

Mô tả:
+ Khi người dùng muốn thay đổi tên hiển thị, người dùng tiến hành click vào
nickname thì 1 dialog thay đổi tên hiện ra. Người dùng nhập tên muốn thay đổi và
ấn nút “Thay đổi” hệ thống kiểm tra nếu tên hợp thì tên hiển thị sẽ được thay đổi,
ngược lại yêu cầu nhập tên mới.


*) Cấp độ người chơi
24 | P a g e


a, Bảng số exp cần thiết để lên cấp độ
Cấp độ
1
2
3
4
5
6
………

Số exp cần
1
7
19
37
61
91
………….

b, Cách tính số exp cần thiết để lên mỗi cấp độ: cấp độ càng cao thì số kinh ngiệm cần thiết để
lên cấp độ mới sẽ càng nhiều, cụ thể ở đây sẽ được tính theo cơng thức sau:
exp = (x^3) – ((x-1)^3)
trong đó: epx là số lượng kinh nghiệm cần thiết để lên cấp độ x
c, Tích lũy exp: Exp sẽ được tích lũy sau mỗi vòng kết thúc của các trò chơi cụ thể như sau:
+ Game 2048: sau khi kết thúc trò chơi người chơi sẽ nhận được số exp là 5, trong quá trình

chơi nếu ghép được ơ 256 được 1 exp, ơ 512 được 3 exp, ô 1024 được 7, ô 2048 được 15……
với các ô ghép được lớn hơn 2048 vẫn được tính theo quy luật là số exp đặt được của ơ đó
bằng số exp của trọng số liền trước nó nhân 2 và cộng thêm 1.
+ Game Rắn săn mồi: sau mỗi ván kết thúc trò chơi lượng exp nhận là 1, trong quá trình chơi
cứ đặt được 5 điểm tiếp theo sẽ được cộng thêm 1 exp;
+ Game Freaking math: cứ mỗi 5 câu hỏi vượt qua sẽ được 1 điểm exp, kết thúc trò chơi được
1 điểm exp.
+ Game Siêu tính nhẩm: kết thúc trị chơi được 1 điểm exp, số exp đặt được trong quá trình
chơi sẽ tính theo số lượng câu hỏi của cả 2 người chơi cộng lại và chia cho 10.
+ Game ghép hình: kết thúc trị chơi được 1 điểm exp, hồn thành trò chơi trên 500s sẽ kg
được cộng exp, dưới 500s nếu cứ ít đi 50s sẽ được thêm 1 điểm exp cụ thể < 500s – 1exp, <
450s – 2exp, < 400s – 3exp……

*) Đặt lại trò chơi
a, Quy trình đặt lại dữ liệu trị chơi
25 | P a g e


×