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

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

49 6 0

Đ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

Tiêu đề Xây Dựng App Tiện Ích Trò Chơi Giải Trí Offline Trên Android
Người hướng dẫn Thầy ………………
Trường học Trường Đại học công nghệ thông tin và truyền thông
Chuyên ngành Công nghệ thông tin
Thể loại báo cáo
Định dạng
Số trang 49
Dung lượng 2,35 MB
File đính kèm xay-dung-tien-ich-tren-he-dieu-hanh-android.rar (2 MB)

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ ANDROID, JAVA, XML, QSLite (4)
    • 1.1. Tổng Quan về Android (4)
    • 1.2 Tổng quan về Java (8)
    • 1.3. Tổng quan về XML (10)
    • 1.4. Tổng quan về SQLite (12)
  • CHƯƠNG 2: KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG (13)
    • 2.2. Phân tích ứng dụng (14)
      • 2.2.1. Chức năng chính của ứng dụng (14)
      • 2.2.2. Các yêu cầu đặt ra cho ứng dụng (14)
      • 2.2.3. Môi trường thực hiện (14)
      • 2.2.4. Các trò chơi trong ứng dụng (14)
      • 2.2.5. Biểu đồ User case (16)
    • 2.3. Mô tả thiết kế ứng dụng (23)
      • 2.3.1. Sơ đồ ứng dụng (23)
      • 2.3.2 Nhánh sơ đồ “Người dùng” (24)
      • 2.3.4 Nhánh sơ đồ “Trò chơi” (27)
  • CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG (35)
    • 3.1. Xây dựng cơ sở dữ liệu (35)
      • 3.1.1. Bảng SAVEGAME2048 (35)
      • 3.1.2. Bảng LULDIEM (35)
      • 3.1.3. Bảng CAIDAT (36)
    • 3.2. Xây dựng giao diện ứng dụng (36)
      • 3.2.1. Giao diện màn hình “Người dùng” (36)
      • 3.2.2. Giao diện màn hình “Mở rộng” (38)
      • 3.2.3. Giao diện màn hình “Trò chơi” (39)
  • KẾT LUẬN (48)
  • TÀI LIỆU THAM KHẢO (49)

Nội dung

TỔNG QUAN VỀ ANDROID, JAVA, XML, QSLite. KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG. XÂY DỰNG ỨNG DỤNG. ) 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...

TỔNG QUAN VỀ ANDROID, JAVA, XML, QSLite

Tổng Quan về Android

Android là hệ điều hành mã nguồn mở dựa trên Linux, được thiết kế cho các thiết bị di động như smartphone và tablet Phát triển bởi Open Handset Alliance do Google dẫn đầu, Android còn có sự tham gia của nhiều công ty khác.

Android mang đến một cách tiếp cận đồng nhất cho việc phát triển ứng dụng di động, cho phép lập trình viên chỉ cần viết mã cho Android Nhờ đó, các ứng dụng của họ có thể hoạt động trên nhiều thiết bị khác nhau tương thích với hệ điều hành Android.

Google đã phát hành các phiên bản beta đầu tiên của Bộ công cụ phát triển phần mềm Android (SDK) vào năm 2007, trong khi phiên bản thương mại đầu tiên, Android 1.0, ra mắt 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.

Mã nguồn của Android được phát hành dưới giấy phép phần mềm tự do và nguồn mở, với phần lớn mã nguồn được công khai theo giấy phép Apache 2.0 của Google, trong khi phần còn lại, bao gồm kernel Linux, tuân theo giấy phép GNU General Public phiên bản 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

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 mẽ, cạnh tranh trực tiếp với Apple 4GS, và cung cấp nhiều tính năng ấn tượng Dưới đây là một số tính năng nổi bật của nó.

STT Tính năng & Mô tả

Giao diện người dùng đẹp

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.

GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.

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

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.

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.

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.

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.

Widget có khả năng thay đổi kích thước, cho phép người dùng mở rộng để hiển thị thêm nội dung hoặc thu nhỏ để tiết kiệm không gian.

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

Google Cloud Messaging (GCM) là dịch vụ hỗ trợ các nhà phát triển gửi tin nhắn dữ liệu đến người dùng trên thiết bị Android mà không cần sử dụng giải pháp đồng bộ hóa riêng biệt.

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.

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 hoàn thành phát triển, ứng dụng Android có thể được đóng gói và phân phối dễ dàng qua các cửa hàng như Google Play, SlideME, Opera Mobile Store, Mobango, F-Droid và Amazon Appstore.

Trên toàn cầu, có hàng trăm triệu thiết bị di động Android đang hoạt động tại hơn 190 quốc gia, tạo nên nền tảng cài đặt lớn nhất trong lĩnh vực di động Sự phát triển của hệ điều hành này diễn ra nhanh chóng, với hơn 1 triệu thiết bị Android mới được kích hoạt mỗi ngày.

Hướng dẫn này nhằm mục đích giúp bạn phát triển và đóng gói ứng dụng Android Chúng tôi sẽ bắt đầu bằng cách thiết lập môi trường lập trình ứng dụng Android, sau đó khám phá các khía cạnh khác nhau của ứng dụng.

Tổng quan về Java

Java là một ngôn ngữ lập trình được phát triển bởi Sun Microsystems vào năm 1995, kế thừa từ C/C++ và nổi bật với tính chất lập trình hướng đối tượng.

Ngôn ngữ lập trình Java được đặt tên theo hòn đảo Java ở Indonesia, nổi tiếng với loại cà phê Peet, được ưa chuộng bởi các kỹ sư Sun Ban đầu, ngôn ngữ này mang tên "Oak" (Cây sồi) vào năm 1991, nhưng do tên này đã được đăng ký nhãn hiệu, các nhà phát triển buộc phải tìm một tên mới, dẫn đến sự ra đời của cái tên Java, trở thành tên gọi chính thức của ngôn ngữ lập trình này.

Ngày nay Java được sử dụng với các mục đích sau:

 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í quan trọng nhất 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), cho phép lập trình viên viết mã chỉ một lần và thực thi trên nhiều hệ điều hành khác nhau Ví dụ, mã nguồn được viết trên Hệ điều hành Windows có thể chạy trên các Hệ điều hành Linux và Mac OS mà không cần chỉnh sửa.

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

Java là một ngôn ngữ lập trình đơn giản và quen thuộc, kế thừa trực tiếp từ C/C++ Mặc dù dựa trên nền tảng C++, Java đã loại bỏ những tính năng phức tạp nhất của C++ để trở nên dễ sử dụng hơn, mang lại trải nghiệm lập trình thân thiện cho người dùng.

 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 toàn.

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

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

 Đa nhiệm: Ngôn ngữ Java cho phép xâ dựng trình ứng dụng, trong đó nhiều quá trình có

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.

Trong Java, bạn cần khai báo tất cả các biến trước khi sử dụng chúng Cú pháp khai báo biến cơ bản là: kieu_du_lieu bien [ = giatri][, bien [= giatri] ]; trong đó kieu_du_lieu là kiểu dữ liệu và bien là tên biến Bạn có thể khai báo nhiều biến cùng kiểu bằng cách sử dụng dấu phẩy để phân tách Ví dụ, bạn có thể khai báo ba biến kiểu int là a, b, và c; hoặc khởi tạo biến int a với giá trị 5 và b với giá trị 7 Bên cạnh đó, bạn có thể khai báo và khởi tạo một biến kiểu byte tên A với giá trị 11, một biến kiểu double pi với giá trị 3.14159, và một biến kiểu char nam với giá trị 'b'.

*) Kiểu dữ liệu trong Java

Các biến là các vị trí bộ nhớ được sử dụng để lưu trữ giá trị Khi bạn tạo một biến, bạn đang dành một phần không gian trong bộ nhớ cho nó.

Hệ điều hành phân bổ bộ nhớ dựa trên kiểu dữ liệu của biến, cho phép lưu trữ các loại dữ liệu khác nhau như số nguyên, số thập phân và ký tự Bằng cách gán các kiểu dữ liệu khác nhau cho các biến, bạn có thể quản lý hiệu quả không gian bộ nhớ dành riêng.

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)

Java cung cấp nhiều loại toán tử phong phú để thao tác với các biến Tất cả các toán tử trong Java có thể được phân loại thành các nhóm khác nhau.

- Các toá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( )

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ỏ (>>)

Toán tử logoc bao gồm: toán tử và(&&), toán tử hoặc(||), toán tử phủ định (!)

Các toán tử gắn bao gồm: (=, +=, -=, *=, /=, =, &=, ^=, |=)

 Các toá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.

Tổng quan về XML

XML, viết tắt của eXtensible Markup Language, là ngôn ngữ đánh dấu mở rộng được W3C đề xuất nhằm tạo ra các ngôn ngữ đánh dấu khác Nó là một tập hợp con đơn giản có khả năng mô tả nhiều loại dữ liệu khác nhau, rất hữu ích trong việc chia sẻ dữ liệu giữa các hệ thống Ví dụ, khi xây dựng ứng dụng bằng C# và PHP, hai ngôn ngữ này không thể giao tiếp trực tiếp, vì vậy XML được sử dụng để trao đổi dữ liệu hiệu quả.

Tất cả các đặc tả dữ liệu XML phải tuân theo quy luật và cú pháp nghiêm ngặt, dẫn đến việc biên dịch các file XML thường rất chính xác Tuy nhiên, trong quá trình thao tác và truyền dữ liệu, tỷ lệ sai sót có thể lên tới 5% - 7%, con số này tuy không cao nhưng cần được cân nhắc khi sử dụng XML chủ yếu được dùng cho dữ liệu có cấu trúc và có cấu trúc trực quan tương tự như HTML, nhưng không phải để đọc như văn bản thông thường XML thường dài và được coi là cầu nối giữa HTML và XHTML, đồng thời là nền tảng cho RDF và Web mã hóa Ngoài ra, XML là một module miễn phí bản quyền, độc lập với nền tảng và được hỗ trợ tốt.

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 dễ dàng đọc và phân tích nguồn dữ liệu, do đó nó thường được sử dụng để trao đổi dữ liệu giữa các chương trình và hệ thống khác nhau Ngoài ra, XML còn được áp dụng cho Remote Procedure Calls để hỗ trợ các dịch vụ trên website.

Tỷ lệ sai sót trong việc sử dụng XML để truyền dữ liệu dao động từ 5-7% Mặc dù con số này không quá cao, nhưng người dùng vẫn cần thận trọng khi lựa chọn XML làm phương tiện trao đổi thông tin.

Các thẻ XML là thành phần cơ bản của XML, xác định phạm vi của từng phần tử Chúng cũng cho phép chèn các bình luận, khai báo các thiết lập cần thiết cho việc 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:

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à:

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à:

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

Nội dung là phần văn bản nằm giữa thẻ mở và thẻ đóng Nếu một phần tử không chứa nội dung nào, nó được xem là trống Có hai cách để biểu diễn một phần tử trống.

Tổng quan về SQLite

SQLite là thư viện phần mềm triển khai động cơ cơ sở dữ liệu SQL, hoạt động mà không cần máy chủ và không yêu cầu cấu hình Với kích thước nhỏ gọn và tính khép kín, SQLite cho phép người dùng sử dụng cơ sở dữ liệu mà không cần thiết lập phức tạp, mang lại sự tiện lợi và hiệu quả cho các ứng dụng.

SQLite không hoạt động như một quy trình độc lập như các cơ sở dữ liệu khác; thay vào đó, bạn có thể liên kết nó một cách tĩnh hoặc động với ứng dụng của mình tùy theo nhu cầu SQLite truy cập trực tiếp vào các tệp lưu trữ của nó.

*) Tại sao lại là SQLite?

 SQLite không yê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 (cross- platform 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 ngoài.

 Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an toàn từ nhiều tiến trình (process) hoặc luồng (thread).

 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,

*) Lịch sử tóm tắt của SQLite

 2000 - D Richard Hipp đã thiết kế SQLite cho mục đích không yê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 yê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).

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

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ị thoá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 để hoàn thành mức chơi

R6: Một số game có thể quay lại bước đi trước đó.

- Sử dụng IDE: Android Studio

- Hệ cơ sở dữ liệu: SQLite

- Ngôn ngữ lập trình: Java

- 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

2048 là một trò chơi trí tuệ giải đố thú vị, trong đó người chơi cần trượt các khối vuông có số trên một lưới vuông để kết hợp chúng lại Mục tiêu cuối cùng của trò chơi là tạo ra khối vuông có giá trị 2048.

Tính năng chính của game 2048

 Tự động lưu game khi bị thoá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 là một trò chơi trí tuệ hấp dẫn, nơi người chơi phải nhanh chóng trả lời các câu hỏi liên quan đến phép tính cộng và trừ Mục tiêu chính của trò chơi là đạt được số điểm cao nhất trong thời gian giới hạn.

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 là một trò chơi trí tuệ dành cho 2 người chơi, trong đó người chơi phải nhanh chóng trả lời các câu hỏi phép tính cộng và trừ Mục tiêu của trò chơi là đạt được số điểm cao nhất trong thời gian ngắn nhất để xác định 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.

 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.

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

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

Ghép hình là một trò chơi giải trí thú vị, trong đó người chơi cần di chuyển các mảnh ghép nhỏ để tạo thành những bức tranh hoàn chỉnh Mục tiêu chính của trò chơi là khôi phục lại hình ảnh ban đầu từ những mảnh ghép rời rạc.

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 là một trò chơi giải trí thú vị, trong đó người chơi điều khiển một con rắn trên màn hình cố định Nhiệm vụ chính của người chơi là giúp con rắn ăn càng nhiều mồi càng tốt mà không để đầu rắn va chạm vào thân mình.

Tính năng chính của game Rắn săn mồ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

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

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?

Người chơi (Player) là tác nhân chính sử dụng ứng dụng, duy trì trò chơi và trao đổi thông tin với game.

 User case chính o User case: Lựa chọn trò chơi

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

Mô tả: Cho phép người chơi xóa toàn bộ dữ liệu các trò chơi o User case: Cài đặt âm thanh

Mô tả: Cho phép người bật tắt âm thanh game o User case: Thay đổi tên người dùng

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

Mô tả: Cho phép người chơi thay đổi avatar hiển thị

 User case game 2048 o User case: Chơi tiếp

Mô tả: cho phép người chơi nối tiếp trước đó o User case: Trò chơi mới

Mô tả: Cho phép chơi mới trò chơi o User case: Quay về

Mô tả: Cho phép người chơi trở lại màn hình “Game play” o User case: Điểm, Điểm cao nhất

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 o User case: Game over

Mô tả: Cho phép hiển thị thông báo trò chơi kết thúc o User case: Chơi lại

Mô tả: Cho phép chơi lại trò chơi o User case: Trở về

Mô tả: Cho phép trở về màn hình chính game 2048 o User case: Back step

Mô tả: Cho phép trở về một bước trước đó o

 User case game Freaking math o User case: Chơi ngay

Mô tả: Cho phép bắt đầu trò chơi o User case: Quay về

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

Mô tả: Cho phép hiển thị điểm cao nhất của người chơi o User case: Game over

Mô tả: Cho phép hiển thị thông báo trò chơi kết thúc o User case: Chơi lại

Mô tả: Cho phép chơi lại trò chơi o User case: Trở về

Mô tả: Cho phép trở về màn hình chính game 2048

 User case Siêu tính nhẩm o User case: Chơi ngay

Mô tả: Cho phép bắt đầu trò chơi o User case: Quay về

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

Mô tả: Cho phép hiển thị điểm cao nhất của người chơi o User case: Game over

Mô tả: Cho phép hiển thị thông báo trò chơi kết thúc o User case: Chơi lại

Mô tả: Cho phép chơi lại trò chơi o User case: Trở về

Mô tả: Cho phép trở về màn hình chính game 2048

 User case Rắn săn mồi o User case: Chơi ngay

Mô tả: Cho phép bắt đầu trò chơi o User case: Quay về

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

Mô tả: Cho phép hiển thị điểm cao nhất của người chơi o User case: Chơi lại

Mô tả: Cho phép chơi lại trò chơi o User case: Trở về

Mô tả: Cho phép trở về màn hình chính game 2048 o User case tạm dừng

Mô tả: Cho phép tạm dừng trò chơi hoặc tiếp tục trò chơi

 User case Ghép hình o User case: Chơi ngay

Mô tả: Cho phép bắt đầu trò chơi o User case: Số bước đi

Mô tả: Cho phép đếm số bước người chơi thực hiện o User case: Thời gian

Mô tả: Cho phép đếm thời gian của người chơi o User case: Chơi lại

Mô tả: Cho phép chơi lại trò chơi o User case: Trở về

Mô tả: Cho phép trở về màn hình chính game 2048 o User case Win game

Mô tả: Cho phép hiển thị màn hình chiến thắng

Mô tả thiết kế ứng dụng

Figure 1Sơ đồ ứng dụng

2.3.2 Nhánh sơ đồ “Người dùng”

Để thay đổi ảnh đại diện, người dùng chỉ cần nhấp vào ảnh avatar hiện tại Sau đó, một danh sách các hình ảnh sẽ xuất hiện, người dùng chỉ cần chọn hình ảnh mong muốn để cập nhật ảnh đại diện của mình.

- Hình ảnh đại diện mặc định bao gồm 12 ảnh, 6 ảnh nam và 6 ảnh nữ.

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

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

Khi người dùng muốn thay đổi tên hiển thị, họ chỉ cần nhấp vào nickname để mở hộp thoại thay đổi tên Sau khi nhập tên mới và nhấn nút “Thay đổi”, hệ thống sẽ kiểm tra tính hợp lệ của tên Nếu tên hợp lệ, tên hiển thị sẽ được cập nhật; nếu không, người dùng sẽ được yêu cầu nhập tên mới Thêm vào đó, bảng số exp cần thiết để lên cấp độ cũng sẽ được cung cấp.

Cấp độ Số exp cần

Để tính số kinh nghiệm cần thiết để lên cấp độ trong trò chơi, công thức được sử dụng là exp = (x^3) - ((x-1)^3), trong đó exp là số lượng kinh nghiệm cần thiết để đạt cấp độ x Càng lên cấp độ cao, số kinh nghiệm yêu cầu sẽ càng tăng Kinh nghiệm sẽ được tích lũy sau mỗi vòng chơi kết thúc.

Trong trò chơi 2048, sau khi hoàn thành, người chơi nhận được 5 điểm kinh nghiệm (exp) Trong quá trình chơi, khi ghép được ô 256, người chơi nhận 1 exp; ô 512 nhận 3 exp; ô 1024 nhận 7 exp; và ô 2048 nhận 15 exp Đối với các ô ghép lớn hơn 2048, số exp sẽ được tính theo quy tắc: exp của ô đó bằng exp của ô liền trước nhân 2 và cộng thêm 1.

Trò chơi Rắn săn mồi mang lại trải nghiệm thú vị khi người chơi nhận được 1 điểm kinh nghiệm (exp) sau mỗi ván kết thúc Bên cạnh đó, trong quá trình chơi, mỗi khi đạt được 5 điểm tiếp theo, người chơi sẽ được cộng thêm 1 exp, tạo động lực để cải thiện kỹ năng và tăng cường điểm số.

+ 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

Game Siêu tính nhẩm mang đến trải nghiệm thú vị, cho phép người chơi nhận 1 điểm kinh nghiệm (exp) khi kết thúc trò chơi Số exp tích lũy trong quá trình chơi sẽ được tính dựa trên tổng số câu hỏi của cả hai người chơi, sau đó chia cho 10.

Trong trò chơi ghép hình, người chơi nhận được 1 điểm kinh nghiệm (exp) khi hoàn thành trò chơi Nếu thời gian hoàn thành trên 500 giây, sẽ không được cộng exp Ngược lại, nếu hoàn thành dưới 500 giây, mỗi 50 giây giảm sẽ tương ứng với 1 điểm exp, cụ thể: dưới 500 giây nhận 1 exp, dưới 450 giây nhận 2 exp, dưới 400 giây nhận 3 exp, và tiếp tục như vậy.

*) Đặt lại trò chơi a, Quy trình đặt lại dữ liệu trò chơi

Khi người dùng nhấn nút đặt lại, một bảng xác nhận sẽ hiện lên Nếu không muốn thực hiện thao tác này, người dùng có thể chọn không đồng ý Ngược lại, nếu muốn khôi phục lại dữ liệu trò chơi, người dùng hãy chọn đồng ý Lưu ý rằng, khi đặt lại, toàn bộ dữ liệu lưu điểm và lịch sử chơi của tất cả trò chơi trong cơ sở dữ liệu sẽ được khôi phục về trạng thái ban đầu.

Âm thanh trò chơi có thể được điều chỉnh dễ dàng thông qua một quy trình cài đặt đơn giản Để bật âm thanh, người chơi chỉ cần kéo thanh gạt sang phải; ngược lại, để tắt âm thanh, chỉ cần kéo thanh gạt sang trái.

- Người dùng click vào tác giả, bảng Dialog thông tin của tác giả hiện lên.

2.3.4 Nhánh sơ đồ “Trò chơi”

Trò chơi 2048 diễn ra trên một bảng 4 x 4, nơi người chơi sử dụng các phím lên, xuống, trái, phải để kết hợp các ô có giá trị giống nhau Khi hai ô giống nhau được gộp lại, chúng sẽ tạo thành một ô mới có giá trị gấp đôi, đồng thời xuất hiện một ô mới với giá trị 2 (90%) hoặc 4 (10%) Mục tiêu là ghép được ô 2048 để chiến thắng, nhưng người chơi có thể tiếp tục chơi để nâng cao điểm số Tuy nhiên, nếu không còn ô trống và không thể gộp ô nào, người chơi sẽ thua và một bảng thông báo thành tích sẽ xuất hiện, với điểm số tăng theo giá trị của ô vừa gộp.

*) Mô tả thiết kế thuật toán

- Lấy ngẫu nhiên 2 số có thể trùng nhau từ 1 đến 4.

- Coi số thứ nhất là số thứ tự cột, số thứ 2 là số thự tự hàng, kiểm tra xem ô đó có trống hay không

- Nếu trống chuyển qua bước 2, ngược lại tiếp tục bước 1

- Sau khi duyệt hết tất cả các ô không tìm được ô trống chuyển qua bước 3

- Lấy ngẫu nhiên 1 số trong khoảng từ 0 đến 9.

Nếu số được chọn là 9, hãy điền số 4 vào ô và các ô còn lại sẽ được điền số 2 Như vậy, tỷ lệ xuất hiện của số 4 sẽ là 10%, trong khi tỷ lệ xuất hiện của số 2 sẽ là 90%.

Sau mỗi lần người chơi di chuyển các ô, chương trình sẽ lặp lại bước 1 và bước 2 ở trên, đồng thời chạy thêm 1 bước kiểm tra ngay sau đó:

- Kiểm tra xem còn ô trống nào trong trò chơi không.

- Nếu còn tiếp tục lượt chơi, nếu không tiếp tục kiểm tra xem có tồn tại 2 ô cạnh nhau cố cùng 1 giá trị: nếu có, tiếp tục lượt chơi

Lượt chơi sẽ tiếp tục cho đến khi không còn ô trống và không còn 2 ô cạnh nhau có cùng

1 số Khi đó, trò chơi kết thúc.

Trò chơi bao gồm một màn hình hiển thị phép tính và hai nút bấm Đúng hoặc Sai, với thời gian 1.5 giây để người chơi lựa chọn đáp án Phép tính được sinh ngẫu nhiên dựa trên hàm Random, và chương trình sẽ tự động tính điểm sau mỗi câu hỏi mà người chơi vượt qua, không giới hạn số câu hỏi Trò chơi sẽ kết thúc khi người chơi chọn đáp án khác với đáp án của chương trình.

*) Mô tả thiết kế thuật toán

- Chương trình sinh ngẫu nhiên 2 số a, b

- Lấy ngẫu nhiên 2 số 0 và 1

- Nếu số 0 chương trình sinh số c là kết quả đúng của phép tính a, b

- Nếu số 1 chương trình sinh số c là kết quả sai giữa phép tính a, b

- Kiểm tra phép toán ở bước 1 là phép toán đúng hoặc sai

- Phép toán đúng người chơi chọn nút sai trò chơi kết thúc, ngược lại trò chơi tiếp

- Phép toán sai người chơi chọn nút đúng trò chơi kết thúc, ngược lại trò chơi tiếp tục.

Số lượng câu sẽ được sinh vô hạn cho đến khi người chơi chọn sai đáp án thì trò chơi kết thúc

Trò chơi có hai màn hình hiển thị phép tính đối xứng nhau, mỗi màn hình gồm 4 nút tương ứng với 4 đáp án có thể lựa chọn Người chơi có 4 giây để đưa ra đáp án Chương trình sử dụng hàm Random để sinh ngẫu nhiên các phép tính đúng hoặc sai, tự động tính điểm sau mỗi câu hỏi mà người chơi vượt qua, với số câu hỏi không giới hạn Nếu một trong hai người chơi chọn đáp án sai, lượt chơi của người đó sẽ bị dừng Trò chơi kết thúc khi cả hai người chơi đều đưa ra đáp án sai.

+) Mô tả thiết kế thuật toán

- Chương trình sinh ngẫu nhiên 2 số a, b

- Chương trình sinh ngẫu nhiên 3 đáp sai từ 2 số a, b

- Chương trình sinh 1 đáp án đúng từ 2 số a, b

Hàm sinh phép toán sẽ được gọi cho từng người chơi mỗi khi người chơi vượt qua

- Kiểm tra đáp án đúng là đáp án a, b, c, hoặc d

- Đáp án đúng người chơi đưa ra khác chương trình trò chơi kết thúc, ngược lại trò chơi tiếp tục.

Một màn hình hình vuông bao gồm 8 tấm ảnh nhỏ được cắt từ ảnh chính và 1 ô trống để di chuyển các hình ảnh Người chơi sẽ ghép các tấm hình nhỏ lại với nhau để tạo thành hình đúng bằng cách sử dụng các phím điều hướng lên, xuống, trái, phải.

+) Mô tả thiết kế thuật toán

1.Kiểm tra xem từ ô ban đầu tới ô đích có đường đi hay không?

2 Nếu có thì di chuyển ô ghép , nếu không thì không cho phép di chuyển ô ghép 3 Nếu ô ghép được di chuyển thì kiểm tra xem bức hình đã được ghép hoàn chỉnh chưa?

4 Nếu hoàn chỉnh rồi thì kết thúc trò chơi Nếu bức hình chưa hoàn chỉnh thì tiếp tục trò chơi

XÂY DỰNG ỨNG DỤNG

Xây dựng cơ sở dữ liệu

- Sử dụng cơ sở liệu SQLite tạo các bảng lưu trữ dữ liệu trong ứng dụng.

- Bảng này sử dụng lưu trữ quá trình trong game 2048

Kiểu Chiều dài Diễn giải Ghi chú

Hang CHAR 10 Hàng Thuộc tính để phân biệt mỗi hàng trên bảng dữ liệu

Cot1 INT Cột 1 Cột thứ nhất của game 2048

Cot2 INT Cột 2 Cột thứ hai của game 2048

Cot3 INT Cột 3 Cột thứ ba của game 2048

Cot4 INT Cột 4 Cột thứ tư của game 2048

- Bảng này sử dụng để lưu điểm trong tất cả trò chơi

Tên thuộc tính Kiểu Chiều dài Diễn giải Ghi chú

ID INTEGER ID tengame CHAR 255 Tên game Tên trò chơi diem INT Điểm Lưu điểm trò chơi

- Bảng này sử dụng để lưu các cài đặt

Tên thuộc tính Kiểu Chiều dài Diễn giải Ghi chú

Dữ liệu cài đặt trong ứng dụng bao gồm hai trường chính: "tencaidat" (CHAR 255) là tên của các cài đặt, và "caidat" (INT) thể hiện các cài đặt được quy ước bằng các con số, chẳng hạn như số 0 để bật âm thanh và số 1 để tắt âm thanh.

Xây dựng giao diện ứng dụng

3.2.1 Giao diện màn hình “Người dùng”

Figure 3: giao diện người dùng

3.2.1.1 Giao diện thay đổi avatar

Figure 4: Giao diện thay đổi avatar người dùng

3.2.1.2 Giao diện thay đổi tên

Figure 5: Giao diện thay đổi tên người dùng

Figure 6: Giao diện đặt lại trò chơi

3.2.2 Giao diện màn hình “Mở rộng”

Figure 7: Giao diện màn hình mở rộng

Figure 8: Giao diện tác giả

3.2.3 Giao diện màn hình “Trò chơi”

Figure 9: Giao diện màn hình trò chơi

A, Giao diện màn hình chính

Figure 10: Giao diện màn hình chính game2048

B, Giao diện trò chơi đang chạy

Figure 11: Giao diện runing game 2048

Figure 12: Giao diện Game over 2048

3.2.3.2.Giao diện Game Freaking math

A, Màn hình chính game freaking math

Figure 13: Gaio diện chính game freaking math

B, Giao diện điểm cao nhất game freaking math

Figure 14: Giao diện điểm cao nhất game freaking math

C, Giao diện Game đang chạy

D, Giao diện game over Freaking math

Figure 16: Giao diện trò chơi kết thúc game freaking math

3.2.3.3.Giao diện Game Siêu tính nhẩm

A, Giao diện màn hình chính

Figure 17: Giao diện màn hình chính siêu tính nhẩm

B, Giao diện game đang chạy

Figure 18: Giao diện game running siêu tính nhẩm

C, Giao diện game over game Siêu tính nhẩm

3.2.3.4.Giao diện Game Ghép hình

A, Giao diện game đang chạy

Figure 19: Giao diện game running

B, Giao diện trò chơi kết thúc

3.2.3.5.Giao diện Game Rắn Săn Mồi

A, giao diện màn hình chính

Figure 21: Giao diện màn hình chính

B, Giao diện màn hình game running

Figure 22: Giao diện màn hình game running

C, Giao diện cài đặt mức chơi

Ngày đăng: 14/10/2022, 13:42

HÌNH ẢNH LIÊN QUAN

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. - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
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 (Trang 4)
Mô tả: Cho phép người chơi trở lại màn hình “Game play” - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
t ả: Cho phép người chơi trở lại màn hình “Game play” (Trang 17)
Mơ tả: Cho phép trở về màn hình chính game2048 - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
t ả: Cho phép trở về màn hình chính game2048 (Trang 18)
Mô tả: Cho phép trở về màn hình chính game2048 - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
t ả: Cho phép trở về màn hình chính game2048 (Trang 19)
Mô tả: Cho phép người chơi trở lại màn hình “Game play” - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
t ả: Cho phép người chơi trở lại màn hình “Game play” (Trang 20)
• User case Ghép hình - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
ser case Ghép hình (Trang 21)
- Để 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. - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
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 (Trang 24)
a, Bảng số exp cần thiết để lên cấp độ - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
a Bảng số exp cần thiết để lên cấp độ (Trang 25)
2.3.3. “Nhánh sơ đồ “Mở rộng” - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
2.3.3. “Nhánh sơ đồ “Mở rộng” (Trang 26)
- Người dùng click vào nút đặt lại, bảng Dialog xác nhận đặt lại hiện lên, người dùng chọn không đồng ý nếu hủy bỏ đặt lại, ngược lại chọn đồng ý nếu người  dùng muốn đặt lại các dữ liệu trị chơi - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
g ười dùng click vào nút đặt lại, bảng Dialog xác nhận đặt lại hiện lên, người dùng chọn không đồng ý nếu hủy bỏ đặt lại, ngược lại chọn đồng ý nếu người dùng muốn đặt lại các dữ liệu trị chơi (Trang 26)
- Trị chơi bao gồm 1 màn hình hiển thị phép tính, và 2 nút phím bấm Đúng hoặc sai. Người chơi có thời gian là 1.5 giây để chọn đáp án - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
r ị chơi bao gồm 1 màn hình hiển thị phép tính, và 2 nút phím bấm Đúng hoặc sai. Người chơi có thời gian là 1.5 giây để chọn đáp án (Trang 28)
- Trị chơi bao gồm 2 màn hình hiển thị phép tính đối xứng nhau, mỗi màn hình có 4 nút tương ứng 4 đáp án có thể lựa chọn - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
r ị chơi bao gồm 2 màn hình hiển thị phép tính đối xứng nhau, mỗi màn hình có 4 nút tương ứng 4 đáp án có thể lựa chọn (Trang 29)
*) Ghép hình - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
h ép hình (Trang 32)
3.1.1. Bảng SAVEGAME2048 - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
3.1.1. Bảng SAVEGAME2048 (Trang 35)
- Bảng này sử dụng để lưu các cài đặt Tên thuộc - bao cao xay dung tien ich tro choi giai tri tren he dieu hanh android
Bảng n ày sử dụng để lưu các cài đặt Tên thuộc (Trang 36)
w