基于ios系統(tǒng)的微信打飛機(jī)手機(jī)app設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢 業(yè) 設(shè) 計(jì)</b></p><p>  基于IOS系統(tǒng)的微信打飛機(jī)手機(jī)APP設(shè)計(jì)</p><p>  2015 年 5月10日</p><p><b>  目 錄</b></p><p><b>  1 引言2</b></p>

2、<p>  1.1 論文背景2</p><p>  1.2 論文研究的目的和意義2</p><p>  1.3 教務(wù)管理系統(tǒng)概述3</p><p><b>  2應(yīng)用分析3</b></p><p>  2.1 可行性分析3</p><p>  2.2 需求分析4&

3、lt;/p><p>  2.3 系統(tǒng)開(kāi)發(fā)工具介紹4</p><p>  2.3.1 Objective-C 技術(shù)4</p><p>  2.3.2 Xcode開(kāi)發(fā)工具5</p><p>  2.3.3 SQLite簡(jiǎn)介5</p><p>  3 .應(yīng)用總體設(shè)計(jì)6</p><p> 

4、 3.1 硬件結(jié)構(gòu)規(guī)劃與設(shè)計(jì)6</p><p>  3.2 游戲軟件見(jiàn)的功能模塊概括6</p><p>  根據(jù)需求分析的結(jié)果得到游戲軟件見(jiàn)的基本模塊包括以下幾個(gè)模塊6</p><p>  (1)引導(dǎo)頁(yè)模塊:在首次使用該軟件時(shí)出現(xiàn)的向?qū)?,指?dǎo)人們?nèi)绾问褂迷搼?yīng)用。6</p><p>  4 游戲軟件見(jiàn)詳細(xì)設(shè)計(jì)6</p>

5、;<p>  4.1 軟件見(jiàn)詳細(xì)設(shè)計(jì)7</p><p>  4.1.1 引導(dǎo)頁(yè)如圖7</p><p><b>  (1)開(kāi)始游戲7</b></p><p><b>  (2)運(yùn)行游戲9</b></p><p>  4.2. 主界面頁(yè)13</p><p&g

6、t;  其主要代碼如下13</p><p><b>  圖2主界面圖13</b></p><p>  4.2.3軟件16</p><p>  4.2.4 詳細(xì)18</p><p>  5 應(yīng)用實(shí)施20</p><p>  5.1 系統(tǒng)測(cè)試20</p><p>

7、;  5.1.1 測(cè)試目的20</p><p>  5.1.2 測(cè)試方法21</p><p><b>  6 結(jié)束語(yǔ)21</b></p><p><b>  參考文獻(xiàn)22</b></p><p>  基于IOS系統(tǒng)的游戲軟件見(jiàn)手機(jī)APP設(shè)計(jì)</p><p><

8、b>  徐勇</b></p><p> ?。ㄐ畔⑴c電氣工程學(xué)院,網(wǎng)絡(luò)工程專業(yè),2010級(jí)1班,20102212216)</p><p>  摘 要:隨著智能手機(jī)越來(lái)越深入而廣泛的應(yīng)用,當(dāng)今時(shí)代手機(jī)不再只是用來(lái)打電話、發(fā)短信的工具,反而對(duì)手機(jī)的娛樂(lè)等功能要求越來(lái)越高,人們幾乎都是通過(guò)手機(jī)來(lái)獲取世界上的游戲。同時(shí),伴隨著蘋(píng)果手機(jī)進(jìn)入中國(guó)市場(chǎng),相應(yīng)的iOS技術(shù)逐漸流行起來(lái)。而

9、對(duì)于開(kāi)發(fā)蘋(píng)果應(yīng)用的語(yǔ)言——Object-C,也成為當(dāng)今社會(huì)最流行的開(kāi)發(fā)語(yǔ)言,并且保持著強(qiáng)勁的上升趨勢(shì),本軟件界面美觀,操作簡(jiǎn)單,是一個(gè)高效率的操作平臺(tái)。</p><p>  關(guān)鍵詞:iOS;手機(jī);APP;游戲</p><p>  The Design and News of ZhouYi Jian Mobile IOS System</p><p><b>

10、;  Xu Yong</b></p><p>  (Department of Network Engineering, School of Information and Electrical Engineering)</p><p>  Abstract:As smartphones increasingly deep and broad application, not

11、just for today's era of mobile phone calls, texting tool, but on the phone's entertainment features have become increasingly demanding, almost all people to get through the phone News of the world. Meanwhile, alo

12、ng with the Apple phone into the Chinese market, the corresponding IOS technologies increasingly popular. For Apple application development language - Object-C, today's society has become the most popular development

13、 la</p><p>  Key words: IOS;Mobile;APP;News</p><p><b>  1 引言</b></p><p><b>  1.1 論文背景</b></p><p>  隨著社會(huì)的發(fā)展,時(shí)代的進(jìn)步。人們對(duì)于信息的需求越來(lái)越高。面對(duì)浩瀚的信息海洋,我們難免會(huì)遺

14、漏一些對(duì)自己來(lái)說(shuō)很重要的信息。于是本人決定針對(duì)信息查漏補(bǔ)缺而開(kāi)發(fā)一款延時(shí)性信息的游戲客戶端,來(lái)讓人們可以更好的整理信息。而隨著智能手機(jī)的大眾化,越來(lái)越多的人應(yīng)用智能手機(jī)。相對(duì)的對(duì)手機(jī)軟件的需求也就越來(lái)越多。當(dāng)今時(shí)代手機(jī)不再只是用來(lái)打電話、發(fā)短信的工具,反而對(duì)手機(jī)的娛樂(lè)功能要求越來(lái)越高。手機(jī)游戲也成為了人們的主要獲取信息途徑之一。目前中國(guó)游戲行業(yè)已經(jīng)具備了相當(dāng)?shù)囊?guī)模,并在國(guó)際市場(chǎng)上已有一定的競(jìng)爭(zhēng)力。蘋(píng)果手機(jī)作為當(dāng)今中國(guó)智能手機(jī)市場(chǎng)上不可或

15、缺的一個(gè)品牌,基于iOS的手機(jī)軟件需求量也就相應(yīng)的越來(lái)越強(qiáng)。市場(chǎng)上的游戲品牌繁多,定位不一,基本滿足了各層次消費(fèi)者的需求,例如:騰訊游戲、搜狐游戲、網(wǎng)易游戲、新浪游戲等等這些大家所熟知的游戲已經(jīng)在蘋(píng)果軟件中占據(jù)了一定的地位。智能手機(jī)的普及使得移動(dòng)信息平臺(tái)成為了主流。</p><p>  伴隨著蘋(píng)果手機(jī)進(jìn)入中國(guó)市場(chǎng),相應(yīng)的iOS技術(shù)逐漸流行起來(lái)。而對(duì)于開(kāi)發(fā)蘋(píng)果應(yīng)用的語(yǔ)言-Object-C,也成為當(dāng)今社會(huì)最流行的開(kāi)發(fā)

16、語(yǔ)言,并且保持著強(qiáng)勁的上升趨勢(shì),隱隱有超過(guò)C語(yǔ)言的現(xiàn)象。對(duì)于其他的開(kāi)發(fā)語(yǔ)言,例如java、javascripe,Object-C以其強(qiáng)大的優(yōu)勢(shì)遙遙領(lǐng)先于這些其他的編程語(yǔ)言。本人根據(jù)當(dāng)前的形式,決定引用這種這種技術(shù)來(lái)開(kāi)發(fā)手機(jī)應(yīng)用。</p><p>  1.2 論文研究的目的和意義</p><p>  通過(guò)手機(jī)游戲客戶端來(lái)收集信息已經(jīng)成為大多數(shù)人,每天都要干的事情了。手機(jī)操作系統(tǒng)有很多。而蘋(píng)

17、果系統(tǒng)的軟件具有的特點(diǎn)就是美觀、簡(jiǎn)潔、易操作。根據(jù)這些信息,設(shè)計(jì)一款小巧的基于iOS的微信打飛機(jī)App會(huì)很容易得到用戶的青睞。同時(shí)本人從去年開(kāi)始接觸iOS,在學(xué)習(xí)了幾個(gè)月后,對(duì)iOS開(kāi)發(fā)有了一些理解,所以對(duì)于這次畢業(yè)設(shè)計(jì),我就選擇了基于iOS系統(tǒng)開(kāi)發(fā)一款產(chǎn)品。希望通過(guò)這次畢業(yè)設(shè)計(jì)來(lái)進(jìn)一步鞏固自己的iOS開(kāi)發(fā)水平。使自己在以后的社會(huì)競(jìng)爭(zhēng)中更加具有優(yōu)勢(shì)。</p><p>  1.3 教務(wù)管理系統(tǒng)概述</p&g

18、t;<p>  設(shè)計(jì)思想:自己的微信打飛機(jī)見(jiàn)設(shè)計(jì)的過(guò)程是按照一般的應(yīng)用開(kāi)發(fā)流程進(jìn)行的。自己首先調(diào)查了游戲?qū)θ藗兊男枨?,從而決定自己開(kāi)發(fā)一款微信打飛機(jī)。在有了用戶的需求后,本人開(kāi)始開(kāi)發(fā)屬于自己的游戲軟件。在真正設(shè)計(jì)游戲的過(guò)程中,本人先決定了游戲的整體框架結(jié)構(gòu),應(yīng)用的圖片出處等等這些開(kāi)發(fā)必需的部分。在決定了整體框架后,就是真正的開(kāi)發(fā)了。</p><p>  設(shè)計(jì)目標(biāo):首先收集過(guò)去平臺(tái)的發(fā)生的不同領(lǐng)域的游

19、戲源碼,然后根據(jù)人們的不同喜好將游戲進(jìn)行分類整理。分為不同類別方便人們找到自己喜歡的分類,方便每個(gè)人看自己喜歡的游戲,而且對(duì)已經(jīng)看過(guò)的游戲進(jìn)行處理,進(jìn)而避免崩潰,更好的方便吸引更多用戶。</p><p><b>  2應(yīng)用分析</b></p><p>  2.1 可行性分析</p><p>  可行性分析也可稱為可行性研究,是在網(wǎng)上調(diào)查的基礎(chǔ)

20、上并輔助其他的信息渠道,針對(duì)基于iOS的游戲的開(kāi)發(fā)是否具備必要性和可能性。對(duì)新的游戲軟件見(jiàn)的開(kāi)發(fā)從技術(shù)、操作、經(jīng)濟(jì)等不同方面進(jìn)行分析研究,來(lái)保證投資的失誤,保證游戲的開(kāi)發(fā)成功。就我們學(xué)的的知識(shí)知道可行性分析可以在最短的時(shí)間內(nèi)分析出這款基于iOS的游戲軟件見(jiàn)是否可以達(dá)到預(yù)定的效果。</p><p> ?。?)經(jīng)濟(jì)可行性分析:這款基于iOS的游戲軟件見(jiàn)的開(kāi)發(fā)是通過(guò)蘋(píng)果系統(tǒng)的Xcode來(lái)進(jìn)行的。本人有一臺(tái)macpro可

21、用于開(kāi)發(fā)。而且也有服務(wù)器,美工,UI,交互等相關(guān)技能的朋友可以幫助我進(jìn)行開(kāi)發(fā)。所有開(kāi)發(fā)所需要的硬件、軟件均可以獲得。自己也可以通過(guò)破解現(xiàn)有App store上的在線應(yīng)用,來(lái)獲取自己想要的資源。并且這個(gè)過(guò)程很是簡(jiǎn)單,不存在浪費(fèi)人力物力的現(xiàn)象。所以得出開(kāi)發(fā)一款基于iOS的游戲軟件見(jiàn)在經(jīng)濟(jì)方面是可行的。</p><p> ?。?)社會(huì)可行性分析:開(kāi)發(fā)這款打飛機(jī)游戲見(jiàn),本人不是為了盈利的目的不會(huì)損害到任何人的利益。本人開(kāi)

22、發(fā)這款游戲見(jiàn)符合國(guó)家的方針政策,不影響任何組織的利益,沒(méi)有宗教方面的宣傳同時(shí)不會(huì)影響社會(huì)穩(wěn)定。所以可以得出本人開(kāi)發(fā)基于iOS的游戲見(jiàn)在社會(huì)方面是可行的。</p><p>  (3)技術(shù)可行性分析:開(kāi)發(fā)基于iOS的游戲見(jiàn)運(yùn)用到的技術(shù)是Object-C,以及一些iOS開(kāi)發(fā)的UI設(shè)計(jì),某些類庫(kù)的應(yīng)用等等。就技術(shù)方面而言,自己學(xué)習(xí)iOS技術(shù)已經(jīng)有四五個(gè)月的基礎(chǔ)了,而且有過(guò)相關(guān)類似的開(kāi)發(fā)經(jīng)驗(yàn),相對(duì)于開(kāi)發(fā)一款游戲類軟件而言自

23、己的技術(shù)是完全可以勝任的。而自己的Xcode完全可以勝任這次開(kāi)發(fā)的需求。從而分析得出開(kāi)發(fā)這款游戲軟件見(jiàn)在技術(shù)方面是可行的。</p><p>  所以,綜上所述本人的基于iOS的游戲軟件的開(kāi)發(fā)是可行的。</p><p><b>  2.2 需求分析</b></p><p>  需求分析指的是在建立一個(gè)新的應(yīng)用的時(shí),就這個(gè)新的應(yīng)用的目的、范圍、定

24、義及功能這些方面所要做的工作。需求分析是完成一個(gè)應(yīng)用必不可少的部分。在進(jìn)行一款項(xiàng)目開(kāi)發(fā)的過(guò)程中,開(kāi)發(fā)者必須確定客戶的需求,在確定了客戶需求后才能進(jìn)行應(yīng)用的開(kāi)發(fā)。</p><p>  根據(jù)當(dāng)前社會(huì)形勢(shì),蘋(píng)果系統(tǒng)在中國(guó)已經(jīng)成為主流手機(jī)之一,單單是iOS方面的游戲行業(yè)也已經(jīng)具備了相當(dāng)?shù)囊?guī)模。市場(chǎng)上的游戲品牌繁多,定位不一,基本滿足了各層次消費(fèi)者的需求。最新的調(diào)查顯示比較大的游戲市場(chǎng),并不是很樂(lè)觀。而簡(jiǎn)單,直觀的游戲卻很

25、受年輕人的青睞和歡迎。基于此,設(shè)計(jì)游戲重點(diǎn)還是在于簡(jiǎn)單的外形和其吸引人的性能,新型的游戲要有其他的附加功能,可以更好的吸引用戶。</p><p>  2.3 系統(tǒng)開(kāi)發(fā)工具介紹</p><p>  2.3.1 Objective-C 技術(shù)</p><p>  Object-C[1]是擴(kuò)充C的面向?qū)ο缶幊陶Z(yǔ)言。它主要使用于Mac OS X和GNUstep這兩個(gè)使用O

26、penStep標(biāo)準(zhǔn)的系統(tǒng),而在NeXTSTEP和OpenStep中它更是基本語(yǔ)言。Objective-C可以在gcc運(yùn)作的系統(tǒng)寫(xiě)和編譯,因?yàn)間cc含Objective-C的編譯器。1980年代初布萊德·確斯在其公司Stepstone發(fā)明Objective-C。他對(duì)軟件設(shè)計(jì)和編程里的真實(shí)可用度問(wèn)題十分關(guān)心,目前主要是編寫(xiě)iOS操作系統(tǒng)應(yīng)用程序的利器。近幾年Objective-C排名大幅提升,它的流行當(dāng)歸功于iphone的成功,因

27、為Objective-C一直被用于編寫(xiě)iPhone應(yīng)用程序[4]。Objective-C是非常實(shí)際的語(yǔ)言。它是一個(gè)用C寫(xiě)成、很小的運(yùn)行庫(kù),只會(huì)令應(yīng)用程序的大小增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時(shí)間會(huì)取代了整個(gè)系統(tǒng)的運(yùn)作相反。ObjC寫(xiě)成的程序通常不會(huì)比其原始碼大很多。而其函式庫(kù)亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來(lái)開(kāi)啟一個(gè)窗口的情況相反。</p><p>  2.3.2 Xcode開(kāi)發(fā)工具<

28、;/p><p>  Xcode前身是繼承自NeXT的Project Builder。</p><p>  The Xcode suite 包含有GNU Compiler Collection自由軟件 (GCC、 apple-darwin9-gcc-4.0.1 以及 apple-darwin9-gcc-4.2.1, 默認(rèn)的是第一個(gè)),并支持 C語(yǔ)言、C++、Fortran、Objective-C

29、、Objective-C++、Java、AppleScript、Python以及Ruby,還提供Cocoa、Carbon以及Java等編程模式。協(xié)力廠商更提供了 GNU Pascal,F(xiàn)ree Pascal, Ada, C#, Perl, Haskell 和 D語(yǔ)言。Xcode套件使用 GDB作為其后臺(tái)調(diào)試工具[2]。</p><p>  Xcode是開(kāi)發(fā)人員建立基于iOS的應(yīng)用最快捷的方式。Xcode是蘋(píng)果公司

30、向開(kāi)發(fā)人員提供的集成開(kāi)發(fā)環(huán)境。其運(yùn)行于蘋(píng)果公司的Mac操作系統(tǒng)下管你用C、C++、Objective-C或Java編寫(xiě)程序,在AppleScript里編寫(xiě)腳本,還是試圖從另一個(gè)奇妙的工具中轉(zhuǎn)移編碼,你會(huì)發(fā)現(xiàn) Xcode 編譯速度極快,每次操作都很快速和輕松蘋(píng)果公司為用戶提供了全套免費(fèi)的Cocoa程序開(kāi)發(fā)工具。Mac OS X一起發(fā)行,在蘋(píng)果公司官方的網(wǎng)站下載。</p><p>  2.3.3 SQLite簡(jiǎn)介

31、 </p><p>  SQLite[3]是一款輕型的數(shù)據(jù)庫(kù)。是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、Postg

32、reSQL這兩款開(kāi)源世界著名的數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)講,它的處理速度比他們都快。SQLite包含在一個(gè)相對(duì)小的C庫(kù)中。它是D.RichardHipp建立的公有領(lǐng)域項(xiàng)目。不像常見(jiàn)的客戶-服務(wù)器范例,SQLite引擎不是個(gè)程序與之通信的獨(dú)立進(jìn)程,而是連接到程序中成為它的一個(gè)主要部分。所以主要的通信協(xié)議是在編程語(yǔ)言內(nèi)的直接API調(diào)用。這在消耗總量、延遲時(shí)間和整體簡(jiǎn)單性上有積極的作用。整個(gè)數(shù)據(jù)庫(kù)都在宿主主機(jī)上存儲(chǔ)在一個(gè)單一的文件中。它的簡(jiǎn)單的設(shè)計(jì)是通

33、過(guò)在開(kāi)始一個(gè)事務(wù)的時(shí)候鎖定整個(gè)數(shù)據(jù)文件而完成的。</p><p><b>  3 .應(yīng)用總體設(shè)計(jì)</b></p><p>  在經(jīng)過(guò)可行性分析后本章將主要介紹應(yīng)用的總體設(shè)計(jì)。應(yīng)用所實(shí)現(xiàn)的功能的強(qiáng)弱是衡量一款應(yīng)用的標(biāo)準(zhǔn)。通過(guò)對(duì)游戲的全面分析并結(jié)合調(diào)研的情況,得出了這款游戲軟件見(jiàn)的設(shè)計(jì)與功能模塊。</p><p>  3.1 硬件結(jié)構(gòu)規(guī)劃與設(shè)計(jì)&

34、lt;/p><p>  本游戲軟件見(jiàn)在性能上要求計(jì)算機(jī)能夠支持蘋(píng)果系統(tǒng)下的Xcode運(yùn)行,同時(shí)支持SQL Server 2008[4] 的安裝和運(yùn)行具體要求可以參照如下設(shè)置:</p><p><b>  1、硬件運(yùn)行環(huán)境</b></p><p>  環(huán)境 最小配置</p><p>

35、;  物理內(nèi)存 最小512MB,建議2GB</p><p>  虛擬內(nèi)存 RAM大小的兩倍</p><p>  臨時(shí)磁盤(pán)空間 100MB</p><p>  硬盤(pán)空間 40GB</p><p>

36、;  視頻適配器 256種顏色</p><p>  處理器 最小200MHz,建議1GHz以上</p><p>  3.2 游戲軟件見(jiàn)的功能模塊概括</p><p>  根據(jù)需求分析的結(jié)果得到游戲軟件見(jiàn)的基本模塊包括以下幾個(gè)模塊</p><p> ?。?)引導(dǎo)頁(yè)

37、模塊:在首次使用該軟件時(shí)出現(xiàn)的向?qū)?,指?dǎo)人們?nèi)绾问褂迷搼?yīng)用。</p><p> ?。?)首頁(yè)游戲標(biāo)題模塊:該模塊主要包括三部分(開(kāi)始游戲、暫停游戲、游戲的圖片和標(biāo)題)</p><p>  詳情模塊:關(guān)于每條游戲的詳細(xì)介紹</p><p>  4 游戲軟件見(jiàn)詳細(xì)設(shè)計(jì)</p><p>  整體游戲軟件見(jiàn),簡(jiǎn)潔,大方,美觀,時(shí)時(shí)刻刻注用戶體驗(yàn),從

38、流量,操作方便,直觀等的角度去思考[6],進(jìn)而設(shè)計(jì)出了如下的游戲軟件見(jiàn)</p><p>  4.1 軟件見(jiàn)詳細(xì)設(shè)計(jì)</p><p>  4.1.1 引導(dǎo)頁(yè)如圖</p><p><b>  其主要代碼如下</b></p><p><b>  (1)開(kāi)始游戲</b></p><p&

39、gt;  //在這里我對(duì)代碼進(jìn)行部分的解釋如功能的解釋..和</p><p>  #import "BeginViewController.h"</p><p>  對(duì).h的點(diǎn)文件的導(dǎo)入</p><p>  @interface BeginViewController (){</p><p>  UIImageView *

40、bkImageView;</p><p>  UIImageView *bkImageView1;</p><p>  NSMutableArray *airArray;</p><p>  NSMutableArray *paodanArry;</p><p>  NSTimer *timer1;</p><p> 

41、 NSTimer *timer2;</p><p>  UIImageView *airImageView;</p><p>  UIButton *button1;</p><p>  UIButton *button2;</p><p>  UIButton *button3;</p><p>  UILabel

42、*label;</p><p>  UILabel *bloodLabel;</p><p>  NSArray *array;</p><p>  UIView *View;</p><p>  UIView *View1;</p><p>  BOOL feiji;</p><p>  BO

43、OL isStop;</p><p>  int score;</p><p>  int bloodscore;</p><p><b>  }</b></p><p>  設(shè)置全局變量..的各個(gè)的全局的變量名….</p><p><b>  @end</b></p&

44、gt;<p>  @implementation BeginViewController</p><p>  核心文件,在viewDidLoad里實(shí)現(xiàn)的</p><p><b>  界面的布局:</b></p><p><b>  如圖:</b></p><p>  [super vi

45、ewDidLoad];</p><p>  // Do any additional setup after loading the view.</p><p>  //獲取路徑 背景音樂(lè)…</p><p>  // NSBundle *bundle = [NSBundle mainBundle];</p><p>  //

46、 NSString *path = [bundle pathForResource:@"想你的夜" ofType:@"mp3"];</p><p>  // NSURL * url = [[NSURL alloc]initFileURLWithPath:path];</p><p>  // AVPlayer *player = [[AV

47、Player alloc]initWithURL:url];</p><p>  // [player play];</p><p><b>  //</b></p><p>  bkImageView = [[CustomImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

48、</p><p>  bkImageView.image = [UIImage imageNamed:@"backGround "];</p><p>  [self.view addSubview:bkImageView];</p><p>  bkImageView1 = [[CustomImageView alloc]initWithFra

49、me:CGRectMake(0, 0, 320, 480)];</p><p>  bkImageView1.image = [UIImage imageNamed:@"backGround "];</p><p>  [self.view addSubview:bkImageView1];</p><p>  airImageView = [[

50、UIImageView alloc] initWithFrame:CGRectMake(130, 380, 60 , 60)];</p><p>  airImageView.image = [UIImage imageNamed:@"plane2"];</p><p>  airImageView.userInteractionEnabled = YES;</p

51、><p>  [self.view addSubview:airImageView];</p><p>  UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];</p><p>  button.frame = CGRectMake(10, 15, 40, 40);</p><

52、;p>  [button setBackgroundImage:[UIImage imageNamed:@"stop"] forState:UIControlStateNormal];</p><p><b>  //歡迎的界面的</b></p><p><b>  如圖所示:</b></p><p&

53、gt;  UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 0, 0)];</p><p>  label1.text = @"歡迎,歡迎";</p><p>  label1.textColor = [UIColor blackColor];</p><p> 

54、 label1.font = [UIFont italicSystemFontOfSize:18];</p><p>  [self.view addSubview:label1];</p><p>  UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(230, 0, 0, 0)];</p><p&g

55、t;  label2.text = @"熱烈,歡迎";</p><p>  label2.textColor = [UIColor blackColor];</p><p>  label2.font = [UIFont italicSystemFontOfSize:18];</p><p>  [self.view addSubview:lab

56、el2];</p><p>  [UIView animateWithDuration:2 animations:^{</p><p>  label1.frame = CGRectMake(60, 180, 100, 50);</p><p>  label2.frame = CGRectMake(180, 180, 100, 50);</p>&l

57、t;p><b>  (2)運(yùn)行游戲</b></p><p>  自己想看的,關(guān)注的游戲,娛樂(lè)娛樂(lè).</p><p><b>  (3)內(nèi)容</b></p><p><b>  軟件</b></p><p>  [UIView animateWithDuration:2 a

58、nimations:^{</p><p>  label1.frame = CGRectMake(60, 180, 100, 50);</p><p>  label2.frame = CGRectMake(180, 180, 100, 50);</p><p>  如圖所示:表示主界面開(kāi)始的界面</p><p>  bloodscore =

59、 3;</p><p>  bloodLabel = [[UILabel alloc]initWithFrame:CGRectMake(280, 10, 100, 50)];</p><p>  bloodLabel.text = @"3";</p><p>  [self.view addSubview:bloodLabel];</p&g

60、t;<p>  airArray = [[NSMutableArray alloc]initWithCapacity:0];</p><p>  timer1 = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];</p>

61、;<p>  for (int i = 0; i < 5; i ++) {</p><p>  CustomImageView *djImageView = [[CustomImageView alloc] initWithFrame:CGRectMake(0, -30, 30, 30)];</p><p>  djImageView.image = [UIImage

62、imageNamed:@"diji"];</p><p>  [self.view addSubview:djImageView];</p><p>  [airArray addObject:djImageView];</p><p><b>  }</b></p><p>  paodanArry

63、 = [[NSMutableArray alloc]initWithCapacity:0];</p><p>  timer2 = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(paodanTimer) userInfo:nil repeats:YES];</p><p>  for

64、(int i = 0; i < 20; i ++) {</p><p>  CustomImageView *ppImageView = [[CustomImageView alloc]initWithFrame:CGRectMake(321 , 481 , 5, 10)];</p><p>  ppImageView.image = [UIImage imageNamed:@&qu

65、ot;paodan"];</p><p>  [self.view addSubview:ppImageView];</p><p>  [paodanArry addObject:ppImageView];</p><p><b>  }</b></p><p><b>  }</b>&

66、lt;/p><p>  static int count = 0;</p><p>  -(void)onTimer</p><p><b>  {</b></p><p>  if (isStop == NO) {</p><p>  [self mapMove];</p><p

67、><b>  count ++;</b></p><p>  if (count == 10)</p><p><b>  {</b></p><p>  for (CustomImageView *djImageView in airArray)</p><p><b>  {&l

68、t;/b></p><p>  if (djImageView.user == NO)</p><p><b>  {</b></p><p>  djImageView.user = YES;</p><p>  djImageView.frame = CGRectMake(arc4random()%(321-3

69、0), -30, 30, 30);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  count = 0;</p><p><b>  }<

70、;/b></p><p>  for (CustomImageView *djImageView in airArray)</p><p><b>  {</b></p><p>  if (djImageView.user == YES)</p><p><b>  {</b></p&

71、gt;<p>  CGRect rect = djImageView.frame;</p><p>  rect.origin.y += 10;</p><p>  if (rect.origin.y >= 480)</p><p><b>  {</b></p><p>  djImageView.

72、user = NO;</p><p><b>  }</b></p><p>  djImageView.frame = rect;</p><p>  [self crash:rect enemyObj:djImageView];</p><p><b>  }</b></p>&l

73、t;p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  static int count1 = 0;</p><p>  -(void)paodanTimer</p><p&g

74、t;<b>  {</b></p><p>  if (isStop == NO) {</p><p>  count1 ++;</p><p>  if (count1 == 5) {</p><p>  for (int i = 0; i < paodanArry.count; i ++) {</p>

75、;<p>  CustomImageView *ppImageView = [paodanArry objectAtIndex:i];</p><p>  if (ppImageView.user == NO) {</p><p>  ppImageView.user = YES;</p><p>  ppImageView.frame = CGRec

76、tMake(airImageView.center.x, airImageView.center.y, 5, 10);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  coun

77、t1 = 0;</p><p><b>  }</b></p><p>  for (CustomImageView *ppImageView in paodanArry)</p><p><b>  {</b></p><p>  if (ppImageView.user == YES)</

78、p><p><b>  {</b></p><p>  CGRect rect = ppImageView.frame;</p><p>  rect.origin.y -= 10;</p><p>  if (rect.origin.y <= -10)</p><p><b>  {

79、</b></p><p>  ppImageView.user = NO;</p><p><b>  }</b></p><p>  ppImageView.frame = rect;</p><p><b>  }</b></p><p><b> 

80、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4.2. 主界面頁(yè)</b></p><p><b>  其主要代碼如下</b></p><p> 

81、 UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 0, 0)];</p><p>  label1.text = @"歡迎,歡迎";</p><p>  label1.textColor = [UIColor blackColor];</p><p>  lab

82、el1.font = [UIFont italicSystemFontOfSize:18];</p><p>  [self.view addSubview:label1];</p><p>  UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(230, 0, 0, 0)];</p><p>  

83、label2.text = @"熱烈,歡迎";</p><p><b>  圖2主界面圖</b></p><p><b>  圖3暫停界面</b></p><p>  主界面右上角的是暫停,可以重新開(kāi)始。</p><p><b>  代碼如下:</b><

84、;/p><p>  在打飛機(jī)的界面的進(jìn)行的優(yōu)化的處理.開(kāi)始游戲.和暫停游戲:</p><p>  -(void)loginView</p><p><b>  {</b></p><p>  UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectM

85、ake(0, 0, 320, 480)];</p><p>  imageView.image = [UIImage imageNamed:@"backGround "];</p><p>  imageView.userInteractionEnabled = YES;</p><p>  [self.view addSubview:image

86、View];</p><p>  UIButton *loginBut = [UIButton buttonWithType:UIButtonTypeCustom];</p><p>  loginBut.frame = CGRectMake(100, 260, 120, 50);</p><p>  [loginBut setTitle:@"開(kāi)始戰(zhàn)斗&q

87、uot; forState:UIControlStateNormal];</p><p>  [loginBut setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];</p><p>  [loginBut setBackgroundImage:[UIImage imageNamed:@"btn1&qu

88、ot;] forState:UIControlStateNormal];</p><p>  [loginBut addTarget:self action:@selector(onClick) forControlEvents:UIControlEventTouchUpInside];</p><p>  [self.view addSubview:loginBut];</p>

89、;<p>  繼續(xù)戰(zhàn)斗的游戲開(kāi)始游戲,暫停代碼….的界面的布局和設(shè)置.用按鈕的操作..</p><p>  -(void)over</p><p><b>  {</b></p><p>  isStop = YES;</p><p>  View1 = [[UIView alloc] initWithFr

90、ame:CGRectMake(0, 0, 320, 480)];</p><p>  [self.view addSubview:View1];</p><p>  UILabel *overLabel = [[UILabel alloc]initWithFrame:CGRectMake(110, 80, 200, 100)];</p><p>  overLabe

91、l.text = @"Give Over!!";</p><p>  overLabel.textColor = [UIColor redColor];</p><p>  overLabel.font = [UIFont italicSystemFontOfSize:20];</p><p>  [View1 addSubview:overLa

92、bel];</p><p>  button1 = [UIButton buttonWithType:UIButtonTypeCustom];</p><p>  button1.frame = CGRectMake(110, 180, 100, 50);</p><p>  [button1 setTitle:@"繼續(xù)戰(zhàn)斗" forState:

93、(UIControlStateNormal)];</p><p>  [button1 addTarget:self action:@selector(againClick2) forControlEvents:UIControlEventTouchUpInside];</p><p>  [View1 addSubview:button1];</p><p>&l

94、t;b>  }</b></p><p><b>  4.2.3軟件</b></p><p>  所表示的是在暫停游戲的界面ui 圖面:</p><p><b>  如圖:</b></p><p>  View = [[UIView alloc] initWithFrame:CGRe

95、ctMake(0, 0, 320, 480)];</p><p>  [self.view addSubview:View];</p><p>  button1 = [UIButton buttonWithType:UIButtonTypeCustom];</p><p>  button1.frame = CGRectMake(110, 100, 100, 50

96、);</p><p>  [button1 setTitle:@"繼續(xù)" forState:(UIControlStateNormal)];</p><p>  [button1 addTarget:self action:@selector(againClick1) forControlEvents:UIControlEventTouchUpInside];</

97、p><p>  [View addSubview:button1];</p><p>  button2 = [UIButton buttonWithType:UIButtonTypeCustom];</p><p>  button2.frame = CGRectMake(110, 150, 100, 50);</p><p>  [butto

98、n2 setTitle:@"重新開(kāi)始" forState:(UIControlStateNormal)];</p><p>  [button2 addTarget:self action:@selector(againClick2) forControlEvents:UIControlEventTouchUpInside];</p><p>  [View addSu

99、bview:button2];</p><p>  button3 = [UIButton buttonWithType:UIButtonTypeCustom];</p><p>  button3.frame = CGRectMake(110, 200, 100, 50);</p><p>  [button3 setTitle:@"返回" f

100、orState:(UIControlStateNormal)];</p><p>  [button3 addTarget:self action:@selector(againClick3) forControlEvents:UIControlEventTouchUpInside];</p><p>  [View addSubview:button3];</p><

101、p>  都如上圖所展示一樣…..</p><p><b>  }</b></p><p>  -(void)againClick1</p><p><b>  {</b></p><p>  isStop = NO;</p><p>  [button1 removeF

102、romSuperview];</p><p>  [button2 removeFromSuperview];</p><p>  [button3 removeFromSuperview];</p><p>  [View removeFromSuperview];</p><p><b>  }</b></p&

103、gt;<p>  以上是這個(gè)微信打飛機(jī)的小游戲的部分代碼:在本次的學(xué)習(xí)過(guò)程中</p><p><b>  4.2.4 詳細(xì)</b></p><p>  生命在游戲結(jié)束的時(shí)候</p><p>  -(void)crash:(CGRect)enemyRect enemyObj:(CustomImageView *)djImageVie

104、w</p><p><b>  {</b></p><p>  for (CustomImageView *ppImage in paodanArry)</p><p><b>  {</b></p><p>  if (ppImage.user == YES)</p><p&g

105、t;<b>  {</b></p><p>  CGRect pprect = ppImage.frame;</p><p>  if (CGRectIntersectsRect(enemyRect, pprect))</p><p><b>  {</b></p><p>  UIImageVie

106、w *baozha = [[UIImageView alloc] initWithFrame:enemyRect];</p><p>  // baozha.image = [UIImage imageNamed:@"DJBob3"];</p><p>  [self.view addSubview:baozha];</p><p>  arra

107、y = [NSArray arrayWithObjects:[UIImage imageNamed:@"DJBob1"],[UIImage imageNamed:@"DJBob2"],[UIImage imageNamed:@"DJBob3"],nil];</p><p>  baozha.animationImages =array;</p>

108、;<p>  baozha.animationDuration = 0.3;</p><p>  baozha.animationRepeatCount = 1;</p><p>  [baozha startAnimating];</p><p>  [self performSelector:@selector(remove:) withObjec

109、t:baozha afterDelay:0.5];</p><p>  子彈的坐標(biāo)和飛機(jī)的坐標(biāo)碰撞,如圖所示:爆炸圖</p><p>  ppImage.frame = CGRectMake(0, -20, 0, 0);</p><p>  djImageView.frame = CGRectMake(0, 480, 0, 0);</p><p&

110、gt;  score += 10;</p><p>  label.text = [NSString stringWithFormat:@"%d",score];</p><p><b>  }</b></p><p>  if (CGRectIntersectsRect(enemyRect, airImageView.fr

111、ame))</p><p><b>  {</b></p><p>  UIImageView *baozha = [[UIImageView alloc] initWithFrame:enemyRect];</p><p>  [self.view addSubview:baozha];</p><p>  array

112、 = [NSArray arrayWithObjects:[UIImage imageNamed:@"DJBob1"],[UIImage imageNamed:@"DJBob2"],[UIImage imageNamed:@"DJBob3"],nil];</p><p>  baozha.animationImages =array;</p>

113、<p>  baozha.animationDuration = 0.3;</p><p>  baozha.animationRepeatCount = 1;</p><p>  [baozha startAnimating];</p><p><b>  如圖所示:</b></p><p><b&

114、gt;  5 應(yīng)用實(shí)施</b></p><p>  基于iOS的游戲軟件見(jiàn)的實(shí)施主要包括硬件結(jié)構(gòu)的規(guī)劃和系統(tǒng)測(cè)試兩個(gè)部分。本階段即使成功完成游戲軟件見(jiàn)的功能,又得到系統(tǒng)穩(wěn)定性的可靠的保證。</p><p>  在于在xcode5.0上運(yùn)行監(jiān)測(cè)</p><p><b> ??;</b></p><p><

115、b>  5.1 系統(tǒng)測(cè)試</b></p><p>  5.1.1 測(cè)試目的</p><p>  在項(xiàng)目完成后進(jìn)行系統(tǒng)測(cè)試[7],可以保證所開(kāi)發(fā)應(yīng)用的流暢性、無(wú)錯(cuò)性、滿足需求性。系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,系統(tǒng)測(cè)試的過(guò)程中在發(fā)現(xiàn)問(wèn)題之后,需要開(kāi)發(fā)人員找出錯(cuò)誤原因和位置并改正[8]。系統(tǒng)測(cè)試的目的是找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測(cè)

116、試不僅僅是為了發(fā)現(xiàn)系統(tǒng)缺陷和錯(cuò)誤,也是為了對(duì)系統(tǒng)整體質(zhì)量水平進(jìn)行度量和評(píng)估。在開(kāi)發(fā)軟件系統(tǒng)的過(guò)程中,可能需要面對(duì)許多復(fù)雜繁瑣的問(wèn)題,在軟件開(kāi)發(fā)生存周期的每個(gè)階段都會(huì)不可避免地會(huì)產(chǎn)生錯(cuò)誤。開(kāi)發(fā)人員要在每個(gè)階段完成之前進(jìn)行嚴(yán)格的技術(shù)審查,盡可能早的發(fā)現(xiàn)并糾正錯(cuò)誤,以期達(dá)到比較完善的效果。</p><p>  5.1.2 測(cè)試方法</p><p>  測(cè)試程序運(yùn)用最多的就是所謂的白盒測(cè)試和黑盒

117、測(cè)試了。白盒測(cè)試就是對(duì)軟件系統(tǒng)的相關(guān)代碼進(jìn)行詳細(xì)的測(cè)試,查看代碼的正確性和書(shū)寫(xiě)規(guī)則是否正確等。黑盒測(cè)試是根據(jù)軟件的規(guī)格對(duì)軟件進(jìn)行的測(cè)試,黑盒測(cè)試與白盒測(cè)試正好相反,不需要考慮軟件內(nèi)部的組成結(jié)構(gòu),只需要對(duì)軟件整體進(jìn)行測(cè)試[9]。黑盒測(cè)試需要軟件測(cè)試人員從用戶的角度來(lái)進(jìn)行各項(xiàng)功能測(cè)試,來(lái)檢測(cè)系統(tǒng)的可行性和可操作性,同時(shí)觀察軟件中存在的各種錯(cuò)誤和缺陷[10]。黑盒測(cè)試的方法使測(cè)試人員只關(guān)心系統(tǒng)是否能夠滿足用戶的需求以及各種需求是如何實(shí)現(xiàn)的,并

118、不關(guān)系系統(tǒng)的設(shè)計(jì)過(guò)程。</p><p>  對(duì)軟件見(jiàn)的測(cè)試主要從以下幾個(gè)方面進(jìn)行:</p><p>  1.代碼測(cè)試:這款游戲軟件見(jiàn)的代碼測(cè)試采用的是正常數(shù)據(jù)、異常數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)輪換進(jìn)行測(cè)試的方法。例如:在意見(jiàn)反饋見(jiàn)面輸入正確的文字、輸入很大量的文字、或?qū)D片當(dāng)成內(nèi)容添到輸入框中,查看程序的運(yùn)行情況[11]。</p><p>  2.程序功能測(cè)試:對(duì)在軟件見(jiàn)進(jìn)行大量

119、的相同內(nèi)容的操作,進(jìn)行基本功能的體驗(yàn),查看是否完成了基本功能。</p><p>  3.分調(diào)和總調(diào)結(jié)合測(cè)試:該測(cè)試是貫穿于整個(gè)系統(tǒng)測(cè)試思想中的,從開(kāi)始涉及每一個(gè)功能模塊開(kāi)始,到最終完成系統(tǒng)的整體功能模塊設(shè)計(jì),整個(gè)過(guò)程中,針對(duì)每個(gè)功能模塊進(jìn)行適當(dāng)?shù)臏y(cè)試與修改[12],最后再將所有功能模塊集成在整個(gè)系統(tǒng)中進(jìn)行綜合測(cè)試。</p><p><b>  6 結(jié)束語(yǔ)</b>&l

120、t;/p><p>  在經(jīng)過(guò)為期兩個(gè)月的畢業(yè)設(shè)計(jì)后,基于iOS的游戲軟件見(jiàn)的功能得以實(shí)現(xiàn)。在設(shè)計(jì)期間,進(jìn)一步了解到開(kāi)發(fā)一款項(xiàng)目是一類非常復(fù)雜的工程。在開(kāi)發(fā)之初就應(yīng)該想好總體框架結(jié)構(gòu)以及如何進(jìn)行每一步的操作。軟件見(jiàn)設(shè)計(jì)的主要內(nèi)容是進(jìn)行對(duì)游戲的整理分類,展示,詳情等功能模塊的實(shí)現(xiàn)上。因此我在這幾方面花費(fèi)的時(shí)間精力在總體設(shè)計(jì)的整個(gè)系統(tǒng)中也就占有很大比重,耗費(fèi)較長(zhǎng)時(shí)間。為能夠很好的實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)目標(biāo),在開(kāi)發(fā)過(guò)程中,由于自己開(kāi)始

121、沒(méi)有思考全面導(dǎo)致后來(lái)開(kāi)發(fā)程序的過(guò)程中出現(xiàn)了一些偏差 。由于自己開(kāi)發(fā)經(jīng)驗(yàn)不足知識(shí)有限,在開(kāi)發(fā)過(guò)程中出現(xiàn)了許多的代碼的冗余現(xiàn)象。在設(shè)計(jì)中同樣遇到很多之前調(diào)試系統(tǒng)所沒(méi)有遇到過(guò)的異常、錯(cuò)誤信息。在論文撰寫(xiě)過(guò)程中,得到王艷麗老師的悉心指導(dǎo),在此向她致以誠(chéng)心的謝意。同時(shí)真誠(chéng)感謝四年來(lái)教授我的老師們,是他們使我獲得了良好的理論知識(shí)和實(shí)踐技能,為我以后能在社會(huì)工作中立足打下了堅(jiān)實(shí)的基礎(chǔ),讓我能在面對(duì)各種新技術(shù)的學(xué)習(xí)中有個(gè)良好的前提和扎實(shí)的基礎(chǔ)。在完成

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論