999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于IOS平臺的數獨游戲的設計與開發

2016-04-22 05:27:31錢麗丹
計算機時代 2016年4期

錢麗丹

摘 要: 以數獨游戲為切入點研究IOS平臺下的游戲開發技術。介紹了數獨游戲的起源與游戲規則,對系統進行功能模塊劃分,介紹了系統使用到的關鍵技術如Cocos2D游戲框架、舞蹈鏈算法等,給出了系統運行界面。該游戲可以在任何IOS移動終端上運行,界面美觀,性能穩定。

關鍵詞: IOS; 數獨游戲; Cocos2D游戲框架; 舞蹈鏈算法

中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2016)04-58-03

Development of Sudoku game for IOS

Qian Lidan

(Department of Information & Technology, ZheJiang Economic & Trade Polytechnic, Hangzhou, Zhejiang 310018, China)

Abstract: Taking Sudoku game as an entry point, the game development technology on IOS platform is studied. The origin and the play rules of the game are introduced in this paper, the system function module is divided and some key technologies such as Cocos2D, Dancing Links algorithm etc. are introduced, and the system operation interface are given. The game can be run on any IOS mobile terminal, with beautiful interface and stable performance.

Key words: IOS; Sudoku game; Cocos2D game framework; Dancing Links algorithm

0 引言

伴隨著智能手機普及和4G網絡的發展,中國的手機游戲市場得到了迅猛發展,尤其近四年以來發展更為迅速。在2011年整個中國手機游戲手場收入不過62.4億元,但是在2015年則達到了416億[1]。2014年手機游戲銷售收入首次超越網頁游戲,手機游戲成為了網絡游戲的主力軍。

IOS作為主流的開發平臺,與Android相比,IOS平臺硬件統一,這使得程序開發人員需要考慮的兼容性問題變得相對容易,維護及修復成本也較低。IOS游戲開發收入是Android游戲開發收入的6倍,IOS已經成為了手機游戲開發的首選平臺。本文以數獨游戲為切入點,研究IOS平臺下的游戲開發技術。

1 數獨游戲分析與設計

1.1 游戲介紹

數獨[2]最早起源于18世紀初瑞士數學家歐拉等人研究的拉丁方陣,經歷了一系列的演變,從早期的“拉丁方塊”、“數字拼圖”到現在的“數獨”,游戲規則逐步確定。正式的數獨游戲最早出現在20世紀70年代的美國,后來逐漸被介紹到日本、英國、中國等,在全球范圍內確立了謎題領域的世界地位。

數獨盤面是個九宮,每一宮又分為九個小格,在這八十一格中給出一定的已知數字和解題條件,利用邏輯和推理,在其他的空格上填入1-9的數字,使1-9每個數字在每一行、每一列和每一宮中都只出現一次。這游戲全面考驗玩家觀察能力和推理能力,雖然玩法簡單,但數字排列方式卻千變萬化,使得數獨成為了訓練頭腦的絕佳方式。

1.2 系統功能模塊劃分

游戲共分為8個功能模塊:游戲主體模塊、解題器模塊、謎題自動生成器模塊、關卡編輯器模塊、游戲菜單模塊、關于游戲模塊、背景音效模塊和游戲分享模塊。系統功能模塊劃分如圖1所示。

[數獨游戲][謎題自動生成器][游戲主體][解題器][關于游戲][關卡編輯器][游戲菜單][游戲分享][背景音效]

圖1 系統功能模塊

在系統模塊劃分中,游戲主體模塊、解題器模塊、謎題自動生成器模塊、關卡編輯器模塊這四個模塊的設計相當重要。游戲主體模塊用于實現游戲界面的生成,接收用戶的輸入,并根據用戶輸入,通過調用解題器模塊,判斷用戶輸入的正誤;解題器模塊采用了無論在時間效率還是空間效率都有著明顯優勢的舞蹈鏈算法實現;謎題自動生成器模塊是為了使游戲更加生動有趣,系統已經內置四個等級(初試身手、漸入佳境、龍潭虎穴、巔峰時刻)共800套謎題,對于希望自定義游戲內容的用戶,可以通過謎題自動生成器模塊建立自己的謎題庫;關卡編輯器模塊使得用戶在完成低級別的謎題后,才可以繼續挑戰更高等級的謎題,關卡編輯器是基于HTML和javascript寫的網頁版工具;游戲菜單模塊在主菜單里提供了一系列常用的按鈕,方便用戶選擇相應的功能;關于游戲模塊為用戶提供了游戲說明,幫助用戶快速掌握游戲使用方法;為了在解題時增加樂趣,用戶可以選擇開啟游戲背景音效模塊;游戲分享模塊用于通過短信或郵件的方式向其他用戶分享該款游戲。

2 系統實現的關鍵技術

系統采用多種技術實現數獨游戲的各個功能模塊。其中,開發硬件環境為MacBook Pro,測試環境為iphone simulator,開發的軟件環境為Mac OS 10.11+Xcode 7.1+ Cocos2D-iphone,編程語言采用Objective-C,數據庫采用SQLite。在解題方面,采用了舞蹈鏈算法,解題效率極高。

2.1 Objective-C

系統開發采用Objective-C。Objective-C[3]是非常實用的編程語言,它是一個用C寫成的很小的運行庫,是一種擴充了C的面向對象的編程語言。Objective-C可以在支持GCC的系統上編譯并運行。利用Objective-C可以編寫如IOS操作系統、IOS應用程序等一系列程序。

Objective-C不支持多重繼承,且不支持運算符重載。Objective-C使用動態運行時類型(dynamicaly typed),所有的方法都是函數調用(包括系統調用),它的類庫比C++更容易操作,Objective-C在運行時可以允許根據字符串名字來訪問方法和類,還可以動態連接和添加類。

2.2 Cocos 2D開發框架

Cocos2D[4]是用于構建iPhone游戲的開源框架,是基于iPhone核心SDK之上架構而成,用于構建2D游戲、演示程序和其他圖形界面交互應用等。它可以讓程序員在創建自己的iPhone游戲時節省很多時間。它具有很多功能,比如sprite(精靈)扶持、非常酷的圖形效果、動畫效果、物理庫、音頻引擎等。

Cocos2D也擁有幾個主要版本,包括Cocos2D-

iPhone、Cocos2D-X。在系統開發過程中采用Cocos2D-iPhone版本的框架。雖然Cocos2D-X是一個跨平臺的框架,開發的應用程序可以適用于不同的平臺,但是在實際開發過程中,需要處理很多與平臺相關的問題,而Cocos2D-iPhone版本僅針對IOS平臺,以Objective-C為編程語言,和蘋果的硬件系統結合非常好,因此它是開發IOS游戲的不二選擇。

2.3 Xcode開發工具

Xcode[5]是運行在操作系統Mac OS X上的集成開發工具(IDE),由蘋果公司開發。Xcode是開發Mac OS X和iOS應用程序的最快捷的方式。Xcode具有統一的用戶界面設計,編碼、測試、調試都在一個簡單的窗口內完成。

Xcode支持多種開發語言,如C、C++、Objective-C、Java、Python等,Xcode由蘋果公司開發,是一款免費的開發工具,與Mac OS X一起發行,可以在蘋果公司官方的網站下載,目前最新版本是Xcode 7.1。

2.4 舞蹈鏈算法

舞蹈鏈算法[6](Dancing Links)的發明者是Don Knuth,利用該算法可以使很多搜索問題得到優化,舞蹈鏈算法不僅可以解決精確覆蓋問題,還可用于重復覆蓋問題。Dancing Links用的數據結構是交叉十字循環雙向鏈,Dancing Links中每個元素有六個分量,分別為:Left指向左邊的元素、Right指向右邊的元素、Up指向上邊的元素、Down指向下邊的元素、Col指向列標元素、Row指示當前元素所在的行。

利用舞蹈鏈算法求解數獨問題需要下列四個步驟:①把數獨問題轉換為精確覆蓋問題;②設計出數據矩陣;③用舞蹈鏈算法求解該精確覆蓋問題;④把該精確覆蓋問題的解轉換為數獨的解。

與此相對應,也可以利用暴力破解法解決數獨問題,暴力破解法基本思想是:根據題目的部分條件確定答案的大致范圍,并在此范圍內對所有可能的情況逐一驗證,直到全部情況驗證完畢。通過測算,舞蹈鏈算法無論在時間效率還是空間效率方面都優于暴力破解法,因此它是最適合用于解決數獨問題的算法。

3 系統運行界面

本應用安裝完成后,包括了開始游戲、謎題生成器、快速解題器、背景音效開啟、排行榜與成就、關于游戲、游戲分享、獲取更多游戲共八部分系統界面,其主界面如圖2所示。當點擊開始游戲后進入到游戲難度等級選擇界面,難度等級共劃分成四類(初試身手、漸入佳境、龍潭虎穴、巔峰時刻),用戶從最低難度等級的謎題開始。每一類難度等級有200題,系統共內置800個謎題,每題下方顯示答題時長,謎題關卡界面如圖3所示,對于尚未完成的謎題則顯示為灰色。選擇一個謎題進入游戲界面,游戲界面如圖4所示,游戲界面以咖啡色為主色調,包含了9行9列共81個格子,大部分區域已經填寫好數字,用戶只需選擇空白區域,并填入合適的數字即可,用戶也可以利用右上角的重置按鈕,將游戲恢復到原始狀態。用戶的狀態數據保存在本地數據庫SQLite中。

4 結束語

數獨游戲看似簡單,但由于數字排列可以做到千變萬化,因此成了考驗玩家耐心與邏輯推理能力的一款益智類游戲,深受大眾喜愛。該游戲基于IOS平臺,可以運行在任意的IOS移動終端上,其界面美觀,性能穩定。隨著智能手機的普及以及4G時代的全面開啟,這一類益智游戲將具有更大的市場空間。

參考文獻(References):

[1] 天極網.2015手游市場報告:中國成全球最大市場[EB/OL].

http://gameonline.yesky.com/482/95650482.shtml,2015.9.

[2] 王陽,褚治廣.基于Android 平臺的數獨游戲設計[J].遼寧工

業大學學報(自然科學版),2013.8.

[3] 楊正洪,鄭齊心等.IOS編程揭秘——Objective-C程序設計

入門[M].清華大學出版社,2013.

[4] 劉杰逾.基于IOS平臺的一款游戲設計與實現[D]. 電子科技

大學,2012.5.

[5] 林冀,范俊等.Objective-C程序設計(第四版)[M].電子工業

出版社,2012.

[6] 萬倉一黍博客園.算法實踐——舞蹈鏈(Dancing Links)算法

求解數獨[EB/OL].http://www.cnblogs.com/grenet/p/3163550.html,2013.7.

主站蜘蛛池模板: 亚洲乱码精品久久久久..| 波多野结衣视频网站| 成年A级毛片| 国产福利拍拍拍| 综合久久五月天| 狂欢视频在线观看不卡| 在线观看国产精品第一区免费 | 中文字幕调教一区二区视频| 伊人国产无码高清视频| 免费AV在线播放观看18禁强制| 综合社区亚洲熟妇p| 日韩无码视频播放| 尤物视频一区| 久久激情影院| 久久香蕉国产线看精品| 韩日午夜在线资源一区二区| 国产黑人在线| 91系列在线观看| 99精品这里只有精品高清视频| 国产SUV精品一区二区6| 成人日韩视频| 人妻无码中文字幕一区二区三区| 亚洲av无码人妻| 91精品情国产情侣高潮对白蜜| 国产一二视频| 99国产精品国产| 又粗又硬又大又爽免费视频播放| 99热亚洲精品6码| 亚洲精品大秀视频| 国产最爽的乱婬视频国语对白| 免费在线不卡视频| 欧美中出一区二区| 国产精品无码翘臀在线看纯欲| 欧美一级高清免费a| 漂亮人妻被中出中文字幕久久| AV网站中文| 日本在线欧美在线| 国产精品一区在线麻豆| 亚洲精品波多野结衣| 亚洲人成网18禁| 亚洲中文字幕在线观看| 国产18在线播放| 国产精品污视频| yjizz国产在线视频网| 国产成年女人特黄特色毛片免 | 国产日本一线在线观看免费| 日韩午夜伦| 米奇精品一区二区三区| 日韩国产黄色网站| 97se亚洲| 青青草原国产| 国产成人综合网| 久久国语对白| 2022国产无码在线| 亚洲专区一区二区在线观看| 国产大片喷水在线在线视频| 国产拍揄自揄精品视频网站| 中文字幕人成人乱码亚洲电影| 美女高潮全身流白浆福利区| 中文字幕乱码二三区免费| 欧美激情二区三区| 五月天久久婷婷| 男女性午夜福利网站| 一级一级特黄女人精品毛片| 久操线在视频在线观看| 一级香蕉人体视频| 亚洲精品在线影院| 成人第一页| 色播五月婷婷| 欧美精品亚洲精品日韩专| 久久精品人人做人人爽| 国产白丝av| 成人免费午夜视频| 亚洲免费成人网| 福利小视频在线播放| 亚洲日韩精品欧美中文字幕| 就去吻亚洲精品国产欧美| 2021天堂在线亚洲精品专区| 午夜毛片免费观看视频 | 日本尹人综合香蕉在线观看| 9cao视频精品| 一级毛片免费播放视频|