中華大學資訊學士學位學系

36  Download (0)

Full text

(1)

中華大學資訊學士學位學系 101 學年度專題製作期末報告

遊戲導向之旅遊導覽系統

指導老師:

張欽智 助理教授

專題組員:

龔正維 B09829001 陳暐倫 B09829002 鄭育翔 B09829006

專題編號: PRJ2012-CSIE-10112

中華民國:102 年 6 月 24 號

(2)

1

目錄

摘要...3

1. 研究背景與目的...3

1.1 背景...3

1.2 目的...3

2. 開發環境...4

2.1 軟體...4

2.2 硬體...5

3. 專題分工...6

4. 專題進度表...7

5. 系統設計與架構...8

5.1 使用者架構...8

5.2 主要功能...9

6. 專題內容...10

6.1 程式執行畫面(主程式)...10

6.2 程式執行畫面(導覽模式)...12

6.3 小遊戲跳轉頁面...15

6.4 小遊戲執行畫面(猜拳)...17

6.5 小遊戲執行畫面(猜數字)...19

(3)

2

6.6 小遊戲執行畫面(接雞蛋)...20

6.7 小遊戲執行畫面(猜價格)...23

6.8 小遊戲執行畫面(猜字母)...25

6.9 小遊戲執行畫面(抽抽樂)...27

6.10 當地簡介、資料庫評分...29

6.11 程式執行畫面(遊戲模式)...30

6.12 特別景點的獎勵...32

7. 困難與解決方式...34

8. 未來展望...34

9. 結語...35

銘謝...35

資料參考...35

(4)

3

摘要

科技日新月異,在幾乎人手一機的台灣,手機已成為人們的必需品,手機也 不在只是手機,它的功能越來越多,不再是單純的通話而已,同時還要帶來娛樂 性、方便性,而我們將針對手機的導覽做研究,我們的主題是遊戲式旅遊導覽,

讓你可以在旅遊場景中暢行無阻並獲取當地資訊。

使用這套系統,你便不需要再為了不清楚當地好玩的資訊而上網搜尋,因為 它可以將該地區好玩、好吃以及當地的購物商圈呈現在你眼前,它不只是個手機 App 的遊戲軟體,它還可以在你玩遊戲所經過店家時顯示出該店家的詳細資料及 圖片,我們將把比例尺放大,讓你能更清楚的了解當地的景觀。

這項研究可以廣泛的使用在各個有遊客的地方,比如:動物園、商店街、觀 光景點……等,因為你走到的地方都可以為你顯示,可以說是凡走過必留下痕跡,

並且對人、事、物加以介紹,帶給使用者相當的便利性。

1.研究 背景與目的

1.1 研究背景

近年來手機不斷的推陳出新,由一般只有接聽功能,慢慢的進步到能拍照、

聽音樂等等功能,尤其最近手機更進化到能上網、記事本等功能的智慧型手機,

其中以 Apple 的 I phone 跟宏達電的 HTC 為主軸,由於 Apple 的手機平台 IOS,只限制於 Apple 自家的產品,所以我們就選擇普及化較大的 GOOGLE 的 Android 平台。

1.2 目的

我們之所以會選擇行動手機平台是因為一開始講到的,手機進步到智慧型手 機,所以擁有一隻智慧型手機就可以提供許多功能,我們打算開發一個遊戲式旅 遊導覽,在玩遊戲時可以快速的知道當地好玩、好吃、好看的衣飾...等商圈,

以及能夠呈現出該店家的介紹,這樣就不用一直翻閱當地導覽手冊,就不會翻了 老半天看不懂手冊,發生找不到想要到當地遊玩(逛)的地方,還是走錯地方,繞 了一大圈才找到想觀看的部份,以後想去別的地方玩就可以更加清楚、方便。

(5)

4

2.開發環境

2.1 軟體

Eclipse 是由 Open Source Community 所創建的開發軟體,並被廣泛地使用 在許多不同的領域。

例如:可作為 Java 應用程式與 Android App 的開發環境。大多數人都知道 Eclipse 是 Java 的 Integrated Development Environment(IDE)。至今,它已 佔據超過全世界 Java 開發環境市場的 50%。 Eclipse 計畫是由 Eclipse 基金會 所管理。Eclipse 基金會是一個非營利性的組織,大多由以科技公司為背景的成 員所組成。

Eclipse 可由額外的附加功能擴充,目前已有幾個 open source 的計劃案與公司,

將額外的附加元件擴充至 Eclipse 中,例如:Android 開發。Eclipse 也可被用 在一般性用途的應用程式開發上。

圖片出

處:http://t1.gstatic.com/images?q=tbn:ANd9GcTR1FnZAwOZUsdLTtHopSSA_L9 428vShRIJrjwZK9n70DY04wroIQ

圖 1 Eclipse Design

(6)

5

Android SDK 提供了使用者需要建立的 API 庫和開發工具,測試,調試應用 程序的 Android。整合何必要的開發工具使得是一個新的 Android 開發者不必花 額外的時間安裝,下載此一 ADT 封包即可快速啟動開發軟件。

它包括必不可少的 Android SDK 組件和一個版本的 Eclipse IDE 內置的 ADT

(Android 開發工具),以簡化使用者的 Android 應用程序開發 圖片出處:http://developer.android.com/sdk/index.html

2.2 硬體

PC & Notebook

我們以手邊所擁有的資源進行開發,家中使用桌上型電腦外出、學校討論時 使用筆記型電腦以增進開發效率。

Android 系統手機

由於 Android 作業系統的開放性和可移植性,它可以被用在大部分電子產品 上,Android 作業系統大多搭載在使用了 ARM 架構的硬體設備上使裝置更加省電 利於行動的便利。但是同樣也有支援 X86 架構的 Android 作業系統,比如 Google 的 Google TV 就是使用一個特別定製的 X86 架構版本的 Android 操作系統,

Android 可以像用電腦上網一樣,使用任何服務。

圖 2 Android SDK Package

(7)

6

3.專題分工

程式設計 美工設計 蒐集資料 場地勘查

龔正維 ★ ★ ★

陳暐倫 ★ ★

鄭育翔 ★ ★ ★

‧程式撰寫

‧資料收集

‧場地勘查

‧程式撰寫

‧資料收集

‧場地勘查

龔正維

‧資料蒐集

‧美工設計

‧報告實作

陳暐倫 鄭育翔

圖 3 組員分工

(8)

7

4.專題進度表

Month

Work

Feb Mar Apr May Jun

場地勘查與蒐集資料

★ ★

學習相關軟體

★ ★ ★ ★

程式開發

★ ★ ★

實作與整合

★ ★

測試與偵錯

★ ★

報告與發表成果

預定進度百分比

10% 35% 60% 90% 100%

(9)

8

5.系統設計與架構

5.1 使用者架構

在設計一套系統時,要先預想可能有哪些功能,提供給使用者,所以我們先設計 了一張流程圖。

USER

擲骰子 遊戲介紹 離開遊戲

玩遊戲

玩 不玩

贏 輸

優惠劵

看街景

規則敘述

圖 4 系統架構圖

(10)

9

5.2 主要功能

1.街景介紹:

在使用者開始遊戲之後,每到一個景點將會有當地的實景圖與特色介紹,讓使用 者了解當地景色。

2.優惠卷:

每到一個景點贏得小遊戲將會得到一張當地特色小吃的優惠卷,增加使用者實際 前往當地一覽的動機。

3.顯示位置:

顯示規劃範圍內玩家的位置,讓使用者知道自己的所在位置,方便使用者前往當 地著名街景。

(11)

10

6.專題內容

6.1 程式執行畫面(主畫面)

左邊為全景地圖,右邊三個 button 分別是導覽模式、遊戲模式、離 開遊戲,我們也提供景點直擊瀏覽當地景點。

圖 5 遊戲主畫面

(12)

11

介面:

(13)

12

6.2 程式執行畫面(導覽模式)

導覽模式的配置就以兩個Image view和三個button去呈現,左方 Image view為規劃範圍的俯瞰圖,中間button擲骰子,下方Image view

是當地街景圖,右上角edittext可輸入景點編號直接跳到該景點,右 方兩個button分別為景點名稱與離開遊戲,在點下骰子後,隨機取亂 數值累加決定步行的位置Image。程式碼如下:

圖 6 導覽模式進行畫面

(14)

13

活動:

(15)

14

(16)

15

6.3 小遊戲跳轉頁面

點玩擲骰子後,選擇是否遊玩當地小遊戲的跳轉視 AlertDialog(對話 視窗).注:MessageBox 是"阻塞"特性,就是當 MessageBox 沒有被按 下確定或是取消按鈕,程式不會繼續往下執行。Android 的

AlertDialog 只是單存的對話方塊跳出來,程式會繼續往下執行.

圖 7 遊戲跳轉頁面

(17)

16

活動:

(18)

17

6.4 小遊戲執行畫面(猜拳)

製作 3 個 button 分別做比較,以剪刀為例隨機產生值為 1 時為平手 2 電腦獲勝 3 玩家勝出得到優惠券.

活動:

圖 8 小遊戲-猜拳

(19)

18

(20)

19

6.5 小遊戲執行畫面(猜數字)

當使用者點選 BUTTON 後,先去判斷 BUTTON 有無被點選過(提取 BUTTON 的 SETTEXT 內容),若沒有被點選,則翻開數字。接著讓

電腦去選取一個 BUTTON。電腦選擇 BUTTON 利用 RANDOM 隨 機點選 BUTTON 與及 BOOLEAN 變數判斷電腦有沒有選擇過

BUTTON,若是選過則將 BOOLEAN 變數更改,跳出 WHILE 迴圈。

圖 9 小遊戲-猜數字

(21)

20

6.6 小遊戲執行畫面(接雞蛋)

活動:

圖 10 小遊戲-接雞蛋

(22)

21

運用 handler,runnable.第一個 runnable 我們設定每 0.8 秒向下掉落.

第二個 runnable 經過每 1 秒做一次接到的累加動作並將接到的圖片 消失與未接到的圖片消失直到時間結束輸出結果.

活動:

(23)

22

(24)

23

6.7 小遊戲執行畫面(猜價格)

設定兩個陣列,一個字串陣列與整數陣列.使用 random 選出題目(字 串陣列與相應整數陣列的位置)以玩家最後輸入的整數價格(整數陣 列的值)判別答案是否正確.

圖 11 小遊戲-猜價格

(25)

24

活動:

(26)

25

6.8 小遊戲執行畫面(猜字母)

設定一字串陣列,random 選出題目(陣列值),將選出的字串轉為值後 把字首與字尾留下中間改為符號”-“後開始猜字母,當玩家猜對時 顯示出猜對的字母並消除”-“繼續猜下一個字母,錯誤則顯示”錯 了!”.

圖 12 小遊戲-猜字母

(27)

26

活動:

(28)

27

6.9 小遊戲執行畫面(抽抽樂)

設一初始值,當按下 button 時隨機產生一數與其比較勝利後獲得優惠 券.

活動:

(29)

28

(30)

29

6.10 當地簡介、資料庫評分

使用 imageview 載入圖片再設一個 drawableview 作為圖片介紹.評分 則為創建一個資料庫,新增欄位值.

圖 13 簡介、資料庫評分

(31)

30

6.11 程式執行畫面(遊戲模式)

左邊為景點地圖,中間 imagebutton 為骰子,下面 imageview 為景點 圖,每當到達一個景點會有 toast 訊息說明。

圖 14 執行畫面(遊戲模式)

(32)

31

活動:

(33)

32

6.12 特別景點的獎勵

到達特定景點和蒐集一定的景點數量會有額外獎勵

圖 15 特別景點獎勵

(34)

33

活動:

(35)

34

7. 困難與解決方式

 搜尋資料庫問題:用 INTENT 及 BUNDLE 將值傳入另一個 JAVA 後,立即 去資料庫搜尋時會出錯。

解決方法:SQL 指令寫法要觀看有無用空白隔開,不然會出現錯誤:

EX.SELECT *FROMTABLE,中間要用空白隔開成 SELECT * FROM TABLE

新增值進去時,要去看 TABLE 的定義,不然會出現問題。

 電腦隨機點選按鈕:使用者點選 BUTTON 後,讓電腦也選擇 BUTTON,

達到互動。

解決方法:利用 WHILE 迴圈及 BOOLEAN 變數讓電腦可以隨機選擇按鈕以 及判斷按鈕有沒有被選擇過。

 類似接雞蛋圖片每秒向下移動:遊戲開始圖片每秒向下移動。

解決方法:利用 Handler()和 Runnable(),handler.postDelayed(this, 1000);使其 每一秒向下移動。

 Android Out Of Memory 的問題:當需要使用大量圖片時,經常出現此問 題。

解決方法:要使用 mBitmap.recycle();的方法來釋放圖片,才不會造成 OOM。

8.未來展望

因為我們以旅遊導覽系統為出發點,所以我們未來研究的方向可能 有下列幾項:

1.使用 GOOGLE MAP 讓使用者方便看到附近的街景圖。

2.建立線上資料庫使評分系統更具公正性。

(36)

35

9.結語

在專題製作的過程中讓我們對Android的軟體開發有了更進一步的了解,經 由學習寫作程式語言、系統結構分析,資料庫建構等等,使得在程式構思上打下 良好的基礎。在製作過程中,整體團隊合作以及彼此獨立思考解決問題的能力,

將來在面對問題上能更加得心應手。在建置整個APP的架構中,雖然製作過程有 些辛苦,但是我們學會了,如何發揮一個團隊的力量,分工合作來克服困難,最 終完成自己預定的目標和老師的期許與要求。

銘謝

在此專題製作之中,我們遭遇許多問題,尋找很多解決方法,翻書、上網查 資料,課堂上的學習,包括詢問我們的專題指導老師-張欽智老師,若有疑問或 者是我們的想法,經過與張欽智老師的討論,也會給予我們很大的受益。在此感 謝此專題製作互相合作的組員,同時也非常感謝所有曾幫助過我們專題的人。

參考資料

[1] 陳會安,新觀念 Android SDK 程式設計範例教本,旗標,2011 年 11 月 23 日

[2] 孫宏明,Android 4.X 手機/平板電腦程式設計入門、應用到精通(第二版)(附 光碟), 碁峰, 2012 年 1 月 9 日

[3] 佘志龍、陳昱勛、鄭名傑、陳小鳳,Google Android SDK 開發範例大全、第 3 版, 悅知文化,2011 年 4 月

[4] 陳會安,Java SE 7 與 Android 4.x 程式設計範例教本,碁峰,2011 年 12 月 29 日

[5] 新竹市電子地圖,http://map.hccg.gov.tw/Main94_1024.aspx

[6] Paul J. Deitel and Harvey M. Deitel, "Android: How to Program", Prentice Hall, February 18, 2012.

[7] Charles Petzold,"Programming Windows Phone 7 - Microsoft Silverlight Edition", Microsoft Press, December 2010

Figure

Updating...

References

Related subjects :