1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình game sudoku trên hệ điều hành android

26 835 2

Đ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 26
Dung lượng 1,66 MB

Nội dung

Lập trình game sudoku trên hệ điều hành android

Trang 1

NHẬN XÉT CỦA GIÁO VIÊN HƯƠNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Hưng Yên, ngày … tháng … năm 2012

Trang 2

MỤC LỤCm

MỤC LỤCm 2

MỤC LỤC HÌNH 4

PHẦN I: MỞ ĐẦU 5

1.1.Introduce the topic 5

1.2.The reason 5

1.3 Target 5

1.3 Solution 5

1.4 Perform plan ,developing tool 6

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

1.Giới thiệu về Hệ điều hành Android 7

1.1.Android là gì? 7

1.2.Kiến trúc Android 8

1.3.Phát triển ứng dụng trên Android 9

PHẦN III: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG GAME SUDOKU 12

3.1.Lịch sử game Sudoku 12

12

Sudoku có lịch sử xa xưa từ hàng ngàn năm Nó từng đi qua các nền văn hóa cổ, và có lẽ nó bắt nguồn từ Trung Hoa, theo như một tài liệu của Ả rập vào thế kỷ thứ 9 12

Năm 990, một danh sách những “Ô số kỳ ảo” đã xuất hiện và tỏ ra không khác mấy so với bản Sudoku xuất hiện trong Từ Điển Bách Khoa Ikhwan al-salfa cùa các học giả người Ả Rập 12

16

3.3.Xây dựng Game Sudoku trên Android 16

3.3.1.Yêu cầu về chức năng 16

Có các chức năng sau: 16

Newgame: tạo game mới 16

Setting: cài đặt nhạc nền và âm thanh của game 16

Help: giới thiệu và hướng dẫn cách chơi 16

Trang 3

Quit: kết thúc game 16

3.3.2.Yêu cầu phi chức năng 16

Có các yêu cầu phi chức năng sau: 16

Giao diện game đẹp, dễ nhìn, sinh động, trực quan 16

Game có độ xử lý nhanh, nhạy 16

3.4.Phân tích thiết kế hệ thống 16

3.5.Xây dựng game Sudoku 16

3.5.1.Giao diện chính của game Sudoku 16

3.4.2 Giao diện mức độ chơi 20

20

3.5.2.Giao diện chơi game 21

21

3.5.3.Giao diện lựa chọn số 21

21

3.5.4.Giao diện Setting 21

22

3.5.5.Giao diện Help 23

23

PHẦN IV: TỔNG KẾT 24

4.3.Hướng phát triển 25

TÀI LIỆU THAM KHẢO 26

Trang 4

MỤC LỤC HÌNH

Hinh 1: Mô hình kiến trúc nền tảng Android 8 Hinh 2: Các phiên bản Android 10

Trang 5

Nowadays ,big mobile equipment producers choose Android which is the mainly operating system ,the number of user and equipment are more and more increasing lead to big needs about software Android has the high open and is helped from community.

Sudoku game programming in Android maybe say a new heading which have to apply much IT knowledge To promote self – research ability and using knowledge which have learnt to apply in fact Android operating system has had some game such

as Sudoku game ,which is classic game in Japan with interesting and funny picture and it has appeared in Android ,simple play ,unlimited time ,interface is not frendly with user Therefore ,to build Sudoku game program was remedied mistake above and add into some new functions

1.3 Target

- aim : build Sudoku game on Android operating system

- Target:

+interface is friendly and easy to use

+ approach quickly, more science

+ full functions on request

1.3 Solution

- Build basis theory

- Survey real situation use software and propose using methods

Trang 6

- Collect and read document, research and learn how to work and program on Android basis The research uses Eclip tool and library on Android to program Sudoku game.

- Algorithm research use in game

- Analyse and design Sudoku game

- Writing draff,report and setting program

1.4 Perform plan ,developing tool

- Analyse method, general of theory

- Historical method

- Survey method

- Experimental method

Trang 7

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

1 Giới thiệu về Hệ điều hành Android.

1.1 Android là gì?

Android là hệ điều hành điện thoại di động mở nguồn mở miễn phí do công ty Google phát triển dựa trên nền tảng của Linux Bất kỳ một hãng sản xuất phần cứng nào cũng đều có thể tự do sử dụng hệ điều hành Android cho thiết bị của mình, miễn

là các thiết bị ấy đáp ứng được các tiêu chuẩn cơ bản do Google đặt ra (có cảm ứng chạm, GPS, 3G, ) Ra đời tháng 11/2007, hệ điều hành Android đã trải qua nhiều lần cập nhật, với phiên bản gần đây nhất là Ice Cream Sandwich 4.0 Android là nền tảng cho thiết bị di động bao gồm một hệ điều hành, midware và một số ứng dụng chủ đạo

Bộ công cụ Android SDK cung cấp các công cụ và bộ thư viên các hàm API cần thiết

để phát triển ứng dụng cho nền tảng Android sử dụng ngôn ngữ lập trình java

Trang 8

1.2 Kiến trúc Android.

Hinh 1: Mô hình kiến trúc nền tảng AndroidTheo tài liệu được cung cấp bởi Goolge, kiến trúc Android có 5 thành phần được được phần lớp từ cao xuống thấp Lần lượt như sau

- Applications:

Hệ điều hành Android tích hợp sẳn một số ứng dụng cơ bản nhƣ email client, SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một số ứng dụng khác Ngoài ra tầng này cũng chính là tầng chứa các ứng dụng được phát triển bằng ngôn ngữ Java

- Application Framework:

Tầng này của hệ điều hành Android cung cấp một nền tảng phát triển ứng dụng

mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo ra các ứng dụng vô cùng sáng tạo và phong phú Các nhà phát triển ứng dụng được tự do sử dụng các

Trang 9

tính năng cao cấp của thiết bị phần cứng như: thông tin định vị địa lý, khả năng chạy dịch vụ dưới nền, thiết lập đồng hồ báo thức, thêm notification vào status bar của màn hình thiết bị

- Libraries:

Hệ điều hành Android bao gồm một tập các bộ thư viện C/C++ được sử dụng bởi nhiều thành phần của Android system Những tính năng này được cung cấp cho các lập trình viên thông qua bộ framework của Android Dưới đây là một số thư viện cốt lõi

- Android Runtime:

Hệ điều hành Android tích hợp sẳn một tập hợp các thư viện cốt lõi cung cấp hầu hết các chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Mọi ứng dụng của Android chạy trên một tiến trình của riêng nó cùng với một thể hiện của máy ảo Dalvik Máy ảo Dalvik thực tế là một biến thể của máy ảo Java được sửa đổi, bổ sung các công nghệ đặc trong của thiết bị di động Nó được xây dựng với mục đích làm cho các thiết bị di động có thể chạy nhiều máy ảo một cách hiệu quả Trước khi thực thi, bất kì ứng dụng Android nào cũng được convert thành file thực thi với định dạng nén Dalvik Executable (.dex) Định dạng này được thiết kế để phù hợp với các thiết bị hạn chế về bộ nhớ cũng như tốc độ xử lý Ngoài ra máy ảo Dalvik sử dụng bộ nhân Linux để cung cấp các tính năng như thread, low-level memory management

- Linux Kernel:

Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 cho những dịch

vụ hệ thống cốt lõi như: security, memory management, process management, network stack, driver model Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng

1.3 Phát triển ứng dụng trên Android.

Trang 10

Java với tốc độ biên dịch nhanh hơn và nhẹ hơn Đến phiên bản Froyo 2.2, Android

đã hỗ trợ Just-in-time Compiler (JIT) làm tăng tốc độ biên dịch Java lên gấp

2-5 lần so với các phiên bản trước

IDE (môi trường phát triển tích hợp): Eclipse phiên bản 3.2 trở lên với Plugin ADT (Android Development Tools), Netbeans Tuy nhiên, người lập trình có thể sử dụng bất kỳ 1 IDE hay trình soạn thảo văn bản nào để viết code Jave và XML rồi biên dịch nên ứng dụng hoàn chỉnh bằng cách sử dụng dòng lênh (command lines) Eclipse

hỗ trợ tốt hơn Netbeans nên được sử dụng làm công cụ phát triển chính thức Một số công cụ hỗ trợ lập trình Android tiêu biểu:

 SQLite Manager: là một addon củ Firefox giúp quản lý SQLite của

Android

 DroidDraw: Giúp thiết kế file XML giao diện ứng dụng.

Trang 11

 Balsamiq mockups và AdobeFireworks: giúp nhanh chóng phác thảo ý

tưởng và giao diện sơ bộ của ứng dụng

 StarUML: vẽ các lược đồ UML hỗ trợ và phân tích thiết kế.

- Chu kỳ sống của Android

Trong mỗi ứng dụng Android có chứa nhiều thành phần và mỗi thành phần có một chu trình sống riêng Và ứng dụng chỉ được gọi là kết thúc khi tất cả các thành phần đều có một chu trình sống riêng Và ứng dụng chỉ được gọi là kết thúc khi tất cả các thành phần trong ứng dụng kết thúc Activity là một thành phần cho phép người dùng giao tiếp được với ứng dụng nữa nhưng không có nghĩa là ứng dụng đã kết thúc Bởi

vì ngoài Activity là thành phần có khả năng tương tác với người dùng thì còn các thành phần có khả năng tương tác với người dùng như là Service, Broadcast receier

Có nghĩa là thành phần không tương tác với người dùng có thể chạy nền dưới sự dám sát của Hệ điều hành cho đến khi người dùng tự tắt chúng

Trang 12

PHẦN III: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG GAME SUDOKU 3.1 Lịch sử game Sudoku

Sudoku có lịch sử xa xưa

từ hàng ngàn năm.

Nó từng đi qua các nền văn hóa cổ, và có lẽ nó bắt nguồn từ Trung Hoa, theo như một tài liệu của Ả rập vào thế kỷ thứ 9

Năm 990, một danh sách những “Ô số kỳ ảo” đã xuất hiện và tỏ ra không khác mấy so với bản Sudoku xuất hiện trong Từ Điển Bách Khoa Ikhwan al-salfa cùa các học giả người Ả Rập

Trong từ điển này, họ gọi nó là wafq.Những ô số vuông vắn ấy được dùng làm bùa để giúp phụ nữ dễ sinh đẻ Nó được gọi tên là ô vuông buduh Món bùa này trở nên phổ biến đến mức các nhà văn Hồi giáo bắt đầu lập ra các tổ hợp số phức tạp hơn sao cho không

có con số nào lặp lại

Abraham Ben ibn Ezra - một nhà triết học kiêm chiêm tinh học người Hispanic (Tây Ban Nha - Bồ Đào Nha) gốc Do thái - bắt đầu quảng bá khối vuông buduh ở châu Âu Ông đi khắp Tây Ban Nha, Ý và các nước khác ở châu Âu để giới thiệu với công chúng về “những ô số kỳ ảo”

Ý tưởng tạo nên những ranh giới cho các khối vuông (biến nó thành trò chơi) đã được Ahmed al-Buni ghi lại vào năm 1225, mặc dù phương pháp này được tin là có xuất xứ từ

Ba Tư

Trang 13

Sudoku có thêm một bước tiến hóa mới vào năm 1776 khi một nhà toán học kiêm vật lý học người Thuỵ Sĩ tên Leonhard Euler bắt đầu nghiên cứu và phát triển các luật chơi mà ngày nay ta gọi là luật chơi Sudoku.

Năm 1901, một nhà toán học người Pháp tiếp tục công trình này và năm 1959, hai người Mỹ tên là Bose và Shrikhande nối gót theo ông ta

Đi xuyên qua một cuộc hành trình dài lâu và kiên trì, Sudoku lần đầu tiên được xuất bản vào cuối thập niên 1970 trong một tờ tạp chí ở New York Tờ tạp chí này đã giới thiệu về các ô số kỳ ảo và khuôn nó lại trong một lưới 9x9, tạo thành từ các khối 3x3 Và như thế, Sudoku đã ra đời

Năm 1986, trong một chuyến đi Mỹ, một nhà xuất bản Nhật Bản, Nikoli, đã khám phá ra các ô số Họ đặt tên cho nó là SuDoku (Su là số, Doku là đơn độc), và làm cho nó nhanh chóng trở thành một trò chơi phổ biến ở Nhật Bản

Những “con nghiền Sudoku” chỉ bó hẹp trong khuôn khổ xứ sở anh đào trong suốt hơn 20 năm cho đến khi một thẩm phán người Hồng Kông gốc New Zealand tên là Wayne Gould tình cờ phát hiện một cuốn sudoku trong một hiệu sách Nhật Bản Ông đâm nghiền trò chơi số cổ xưa này

Năm 2004, niềm đam mê Sudoku đã đưa Wayne Gould đến với London (Anh) Nhân một chuyến thăm ngẫu nhiên báo The Times, Gould đã thuyết phục tổng biên tập của báo này cho đăng Sudoku bên cạnh các ô chữ Độc giả lập tức bị cuốn hút và yêu cầu đăng thêm nữa Chỉ trong vài tuần lễ, các tờ báo trên khắp nước Anh đã thi nhau đăng Sudoku Từ đó, Sudoku bắt đầu lan rộng sang Mỹ, Canada, Úc, Pháp, Nam Phi và nhiều quốc gia khác

Sudoku là trò puzzle (đoán số hay chữ) phát triển nhanh nhất trên thế giới Nó hiện

có hàng triệu tín đồ và con nghiền Nhiều nhân vật nổi tiếng ủng hộ nó Và nó đã có được một nhà vô địch thế giới Chính quyền nhiều nước đã khuyến cáo Sudoku như một công

cụ rèn luyện trí lực và hạn chế sự phát triển của bệnh Alzheimer

Sau hơn một ngàn năm phát triển, Sudoku Việt Nam giờ đã có mặt Với sự dẫn dắt của Bờm, bạn sẽ có dịp chơi Sudoku trực tuyến miễn phí Hãy chơi trên điện thoại di

Trang 14

động của bạn, chơi trên sách báo và tham gia các sự kiện Sudoku mà Bờm tổ chức Cũng như Bờm và Sudoku, bạn hãy kiên nhẫn, hãy tỏ ra thông minh và đừng vội vã khi đi tìm những đáp án Những điều tốt đẹp nhất luôn đến với người biết chờ đợi.

Điền vào những ô trống những con số thích hợp, theo quy luật đơn giản sau:

Các ô ở mỗi hàng (ngang) phải có đủ các số từ 1 đến 9, không cần theo thứ tự

Các ô ở mỗi cột (dọc) phải có đủ các số từ 1 đến 9, không cần theo thứ tự

Mỗi miền 3x3, được viền đậm, phải có đủ các số từ 1 đến 9

Trò chơi bắt đầu với một lưới Sudoku, trong đó một số ô đã cho sẵn các con số đúng Bạn phải suy luận để tìm ra những con số trong các ô trống còn lại

Các đề sudoku mức dễ thường bắt đầu với nhiều con số đã được điền sẵn, do đó bạn sẽ dễ tìm ra đáp án hơn Càng tìm ra nhiều con số, bạn sẽ càng dễ tìm ra các con số khác

Trang 16

3.3 Xây dựng Game Sudoku trên Android

3.3.1 Yêu cầu về chức năng

Có các chức năng sau:

 Newgame: tạo game mới

 Setting: cài đặt nhạc nền và âm thanh của game

 Help: giới thiệu và hướng dẫn cách chơi

 Quit: kết thúc game

3.3.2 Yêu cầu phi chức năng

Có các yêu cầu phi chức năng sau:

 Giao diện game đẹp, dễ nhìn, sinh động, trực quan

 Game có độ xử lý nhanh, nhạy

3.4 Phân tích thiết kế hệ thống

Hình 3: Chức năng nhánh của game

3.5.1 Giao diện chính của game Sudoku

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

Trang 19

Hinh 4: Giao diện chính game

Trang 20

3.4.2 Giao diện mức độ chơi

Hinh 5: Giao diện mức độ chơi của game Sudoku

Mức độ chơi được so sánh bằng cách điền ngẫu nhiên các con số trong mỗi bàn chơi Như mức dễ thì các con số sẽ nhiều hơn mức bình thường, khó và rất khó Cứ như thế cấp độ càng khó thì càng giảm các ô số Khi ít các ô thì mỗi khi người chơi điền một

ô số sẽ vạch ra nhiều đường hơn và như thế sẽ có nhiều phương án lựa chọn hơn

Trang 21

3.5.2 Giao diện chơi game

3.5.3 Giao diện lựa chọn số

3.5.4 Giao diện Setting

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/lndialogmenusetting"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

Trang 23

3.5.5 Giao diện Help

Hinh 7: Giao diện help của game Sudoku

Trang 24

PHẦN IV: TỔNG KẾT

Android là một hệ điều hành di động hiện đại, có tiềm năng phát triển cao Hiện nay đã sử dụng rộng rải ở nhiều hãng điện thoại và thực sự đã trở thành một tập đoàn điện thoại mạnh mẽ khi cạnh tranh với những dòng điện thoại khác như iPhone, Windown Phone, RIM Blackberry OS, Symbian…

Cùng với sự phát triển mạnh mẽ và sự tiến bộ nhanh chóng của hệ điều hành Android đã thúc đẩy và kéo theo sự phát triển của lập trình ứng dụng tiện ích cho điện thoại và đáp ứng nhu cầu game giải trí trên điện thoại Xu hướng lập trình ứng dụng game cho điện thoại di động đang là xu hướng mới trong lập trình nói chung và trong truyền thông di động nói riêng đang hứa hẹn những tiềm năng và thành công trên con đường phát triển không ngừng của khoa học công nghệ hiện nay

Qua quá trình thực hiện đồ án đã giúp em tìm hiểu sâu hơn về việc xây dựng ứng dụng game cho điện thoại di động sử dụng hệ điều hành Android Với tính mới mẽ

và cấp thiết của đề tài em đã cố gắng tìm hiểu và xây dựng chương trình game Sudoku trên nền điện thoại hệ điều hành Android Ứng dụng game Sudoku là một chương trình giải trí mới đã được xây dựng hoàn thành trên hệ điều hành Android và đã được một số thành công nhất định

4.1 Kết quả đạt được

 Ứng dụng game đã được xây dựng hoàn thành với các yêu cầu và mục tiêu của đồ án

 Tìm hiểu thêm nhiều kiến thức về lập trình ứng dụng game

 Chạy nhạc nền trong game

 Em đã học thêm được rất nhiều những kiến thức về hệ điều hành Android và nắm được thêm các kỹ năng lập trình ứng dụng trong đó, đồ án tuy đã hoàn thành được các mục tiêu và yêu cầu đề ra nhưng vẫn còn một số hạn chế

4.2 Hạn chế

• Chưa giới hạn được thời lượng chơi

• Chức năng Continue chưa hoàn thành được

Ngày đăng: 08/05/2016, 05:22

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w