2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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)開發(fā)工具介紹4</p><p>  2.3.1 Objective-C 技術(shù)4</p><p>  2.3.2 Xcode開發(fā)工具5</p><p>  2.3.3 SQLite簡介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 游戲軟件見的功能模塊概括6</p><p>  根據(jù)需求分析的結(jié)果得到游戲軟件見的基本模塊包括以下幾個模塊6</p><p>  (1)引導(dǎo)頁模塊:在首次使用該軟件時出現(xiàn)的向?qū)?,指?dǎo)人們?nèi)绾问褂迷搼?yīng)用。6</p><p>  4 游戲軟件見詳細(xì)設(shè)計(jì)6</p>

5、;<p>  4.1 軟件見詳細(xì)設(shè)計(jì)7</p><p>  4.1.1 引導(dǎo)頁如圖7</p><p><b>  (1)開始游戲7</b></p><p><b>  (2)運(yùn)行游戲9</b></p><p>  4.2. 主界面頁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)測試20</p><p>

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

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

9、對于開發(fā)蘋果應(yīng)用的語言——Object-C,也成為當(dāng)今社會最流行的開發(fā)語言,并且保持著強(qiáng)勁的上升趨勢,本軟件界面美觀,操作簡單,是一個高效率的操作平臺。</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>  隨著社會的發(fā)展,時代的進(jìn)步。人們對于信息的需求越來越高。面對浩瀚的信息海洋,我們難免會遺

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

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

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

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

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

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

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

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

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

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

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

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

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

27、為Objective-C一直被用于編寫iPhone應(yīng)用程序[4]。Objective-C是非常實(shí)際的語言。它是一個用C寫成、很小的運(yùn)行庫,只會令應(yīng)用程序的大小增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時間會取代了整個系統(tǒng)的運(yùn)作相反。ObjC寫成的程序通常不會比其原始碼大很多。而其函式庫亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個窗口的情況相反。</p><p>  2.3.2 Xcode開發(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)的是第一個),并支持 C語言、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語言。Xcode套件使用 GDB作為其后臺調(diào)試工具[2]。</p><p>  Xcode是開發(fā)人員建立基于iOS的應(yīng)用最快捷的方式。Xcode是蘋果公司

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

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

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

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

34、lt;/p><p>  本游戲軟件見在性能上要求計(jì)算機(jī)能夠支持蘋果系統(tǒng)下的Xcode運(yùn)行,同時支持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>  臨時磁盤空間 100MB</p><p>  硬盤空間 40GB</p><p>

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

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

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

39、gt;  //在這里我對代碼進(jìn)行部分的解釋如功能的解釋..和</p><p>  #import "BeginViewController.h"</p><p>  對.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è)置全局變量..的各個的全局的變量名….</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>  //獲取路徑 背景音樂…</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)注的游戲,娛樂娛樂.</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>  如圖所示:表示主界面開始的界面</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. 主界面頁</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>  主界面右上角的是暫停,可以重新開始。</p><p><b>  代碼如下:</b><

84、;/p><p>  在打飛機(jī)的界面的進(jìn)行的優(yōu)化的處理.開始游戲.和暫停游戲:</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:@"開始戰(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)斗的游戲開始游戲,暫停代碼….的界面的布局和設(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:@"重新開始" 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>  以上是這個微信打飛機(jī)的小游戲的部分代碼:在本次的學(xué)習(xí)過程中</p><p><b>  4.2.4 詳細(xì)</b></p><p>  生命在游戲結(jié)束的時候</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的游戲軟件見的實(shí)施主要包括硬件結(jié)構(gòu)的規(guī)劃和系統(tǒng)測試兩個部分。本階段即使成功完成游戲軟件見的功能,又得到系統(tǒng)穩(wěn)定性的可靠的保證。</p><p>  在于在xcode5.0上運(yùn)行監(jiān)測</p><p><b> ?。?lt;/b></p><p><

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論