坦克大戰(zhàn)論文(正式)_第1頁
坦克大戰(zhàn)論文(正式)_第2頁
坦克大戰(zhàn)論文(正式)_第3頁
坦克大戰(zhàn)論文(正式)_第4頁
坦克大戰(zhàn)論文(正式)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

STYLEREF"標題1"第5章結(jié)束語第1章緒論1.1選題背景及意義游戲軟件業(yè)是一個新興行業(yè),存在著巨大的生存和發(fā)展空間,同時它也是一個存在社會爭議的行業(yè)。

游戲的完整定義可以歸納為:一種由道具和規(guī)則構(gòu)建而成、由人主動參與、有明確目標、在進行過程中包含競爭且富于變化的以娛樂為目的的活動,它與現(xiàn)實世界相互聯(lián)系而又相互獨立,能夠體現(xiàn)人們之間的共同經(jīng)驗,能夠體現(xiàn)平等與自由的精神。

游戲產(chǎn)業(yè)準確地講應該叫做電子娛樂業(yè),是指基于電子技術(shù)、計算機技術(shù)、軟件技術(shù)、網(wǎng)絡技術(shù)和無線技術(shù)的新型娛樂產(chǎn)業(yè),分為單機游戲、網(wǎng)絡游戲和無線游戲等幾個部分。電子游戲業(yè)從誕生至今已經(jīng)有幾十年的時間,可僅僅在這短短的幾十年的時間里,它卻在發(fā)達國家的經(jīng)濟發(fā)展中發(fā)揮了顯著的作用。

游戲軟件業(yè)從誕生到現(xiàn)在,歷經(jīng)幾代的發(fā)展,已進入了一個非常成熟的時期。對于我國而言,游戲軟件業(yè)也有快速的發(fā)展,但是因為很多原因阻礙了這個產(chǎn)業(yè)的發(fā)展,如游戲軟件研發(fā)人才缺乏,軟件開發(fā)投入不足;對青少年的負面影響,一些不健康的游戲軟件導致了社會對游戲軟件的偏見;技術(shù)滯后等情況。

坦克大戰(zhàn)游戲是一款風靡全球的電視游戲機和掌上游戲機游戲,它曾經(jīng)造成的轟動與造成的經(jīng)濟價值可以說是游戲史上的一件大事。它看似簡單但卻變化無窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個坦克大戰(zhàn)時代。究其歷史,坦克大戰(zhàn)最早還是出現(xiàn)在FC機上,現(xiàn)在又重新掀起這股讓人沉迷的坦克大戰(zhàn)風潮,它的規(guī)則簡單,容易上手,且游戲過程變化無窮,使用戶既能感受到游戲中的樂趣,也給用戶提供了一個展現(xiàn)自己高超技藝的場所。這次練習的是在Unity上生成坦克大戰(zhàn)游戲。Unity是一個非常好的3D游戲開發(fā)軟件,Unity3D是由UnityTechnologies開發(fā)的一個讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎。Unity類似Director,Blendergameengine,TorqueGameBuilder等利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件。其編輯器運行在Windows和MacOSX下,可發(fā)布游戲至Windows、Mac、Wii、iPhone、Windowsphone8和Android平臺。也可以利用Unitywebplayer插件發(fā)布網(wǎng)頁游戲,支持Mac和Windows的網(wǎng)頁瀏覽。它的網(wǎng)頁播放器也被Macwidgets所支持?!扒Ю镏?,始于足下”,尤其是在邁出了坦克大戰(zhàn)的第一步之后,實際上,已經(jīng)走進了軟件開發(fā),尤其是游戲開發(fā)的大門,前面的世界是美麗多彩而又充滿挑戰(zhàn)的。1.2發(fā)展現(xiàn)狀坦克大戰(zhàn)自推出以來,發(fā)展多個版本,并在各個平臺都有衍生作品,得到了眾多玩家的喜愛。正傳系列1980-坦克營(TankBattalion),MSX1985-坦克大戰(zhàn)(BattleCity),FC1991-坦克大戰(zhàn)(BattleCity),GB1994-導彈坦克(MissileTank),FC1996-坦克大戰(zhàn)(BattleCity),SGB2008-3D重制版突擊坦克(TankattheGates),PC2009-坦克大戰(zhàn)online,網(wǎng)頁游戲1.3研究的主要內(nèi)容與方法1、開發(fā)環(huán)境選用了unity3d:unity3d的主要特性有層級式的綜合開發(fā)環(huán)境,可視化編輯,詳細的屬性編輯器和動態(tài)的游戲覽,開發(fā)人員可以在邊開發(fā)的過程中邊看到游戲做出來的效果。2、遇到的問題:在邊學邊開發(fā)的過程中,也遇到了一些問題,子彈射擊的方向不是直線的,對坦克的命中率低。3、解決方法:充分利用網(wǎng)絡的優(yōu)點,利用百度,還有各種論壇向網(wǎng)友咨旬,對得到的方法進行嘗試,最終得以改進。1.4文檔結(jié)構(gòu)安排本論文主要闡述二維平面射擊游戲的設(shè)計與實現(xiàn),全文共分為五章:第一章:緒論。介紹項目大致背景及目標。第二章:系統(tǒng)分析與設(shè)計。項目需求分析及相關(guān)設(shè)計。第三章:系統(tǒng)實現(xiàn)。系統(tǒng)主要功能的實現(xiàn)。第四章:系統(tǒng)測試。測試系統(tǒng)的穩(wěn)定性。第五章:總結(jié)。對項目經(jīng)驗的總結(jié)與心得體會。第2章系統(tǒng)分析與設(shè)計2.1用戶需求分析此次項目所開發(fā)的坦克大戰(zhàn)游戲主要面向:喜歡坦克游戲的玩家喜歡挑戰(zhàn)高難度游戲的玩家此外,游戲開發(fā)出來是面向玩家的,因此游戲本身需要具備:簡單易學運行穩(wěn)定操作簡便2.2游戲規(guī)則游戲最終將運行在Windows系統(tǒng)上,其游戲規(guī)則主要如下:通過W、A、S、D分別控制坦克進行上、下、左、右的移動點擊鼠標左鍵控制射擊玩家只要碰到障礙或被打中即死亡2.3美工需求游戲整體美工需求如下:整體布局清新簡潔游戲色調(diào)為暖色調(diào)游戲中:顯示主角、敵機及障礙物左上角顯示當前分數(shù)顯示游戲背景圖片2.4功能需求坦克大戰(zhàn)是一款經(jīng)典的游戲本游戲在學習繼承前輩的同時嘗試性的進行一些創(chuàng)新下面是對系統(tǒng)主要功能的簡要概述。整體上說,本游戲分為敵我雙方,主戰(zhàn)坦克由玩家控制,敵方坦克能夠智能化的隨機出現(xiàn)在屏幕上,并且移動但是不會發(fā)射子彈。玩家的控制:游戲打開的時候,玩家可以選擇音樂音效的開關(guān)還可以查看積分榜,然后進入游戲,玩家可以通過屏幕上面的虛擬鍵控制坦克的運行,可以通過觸屏來控制坦克的炮筒方向并且打出炮彈,當坦克打中敵方坦克,子彈和地方坦克都死亡,分數(shù)會加一。游戲過程中,玩家不可以暫停游戲,然后再開始游戲。當?shù)褂嫊r結(jié)束時,則游戲結(jié)束。敵方坦克的智能運行:敵方坦克由于需要具有一定的智能性,隨機的出現(xiàn)在屏幕上,并且消失在屏幕以外,撞到主角坦克時,也不會發(fā)生爆炸。使之具有一定的可玩性。敵人可以自動行走,但是應當在以下適當?shù)那闆r下轉(zhuǎn)向:首先是是否超出界面的邊界,其次是是否與地圖障礙物發(fā)生了碰撞,再次是是否與用戶坦克發(fā)生了碰撞。子彈的運行:主戰(zhàn)坦克是有玩家控制打出的,通過控制炮筒的方向,向不同的方向發(fā)射子彈,如果擊中目標就會爆炸消失,如果沒有擊中目標,出了屏幕也會消失。第3章系統(tǒng)實現(xiàn)3.1主角在人機對戰(zhàn)時,主角的主要功能是點擊左右虛擬按鈕,坦克會向左向右移動,但是通過按住按鈕的時間,來控制坦克的移動速度,按住時間長,坦克的速度就會加快,按住的時間短,坦克就會移動的比較慢。通過觸屏來控制坦克炮筒的方向,并且發(fā)射子彈。當子彈打中目標時,子彈和目標都會爆炸,當子彈沒有打中目標時,子彈走出屏幕,子彈消失。該游戲主要是控制在60秒內(nèi),倒計時為零則游戲結(jié)束,打中目標數(shù)就是該次游戲的分數(shù)。publicclassTankController:MonoBehaviour{privateSliderslider;publicTransformShell;privatefloatfireCoolTime=0;privateTransformTurret;privateTransformShellSapwanerPoint;privatefloatcurSpeed,targetSpeed,rotSpeed;privatefloatturretRotSpeed=10.0f;privatefloatmaxForwardSpeed=15.0f;privatefloatmaxBackwardSpeed=-15.0f;voidUpdateControl(){PlaneplayerPlane=newPlane(Vector3.up,transform.position+newVector3(0,0,0));Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);floathitDist=0;if(playerPlane.Raycast(ray,outhitDist)){Vector3rayHitPoint=ray.GetPoint(hitDist);QuaterniontargetPoint=Quaternion.LookRotation(rayHitPoint-transform.position);Turret.transform.rotation=Quaternion.Slerp(Turret.rotation,targetPoint,Time.deltaTime*turretRotSpeed);}if(Input.GetKey(KeyCode.W))targetSpeed=maxForwardSpeed;elseif(Input.GetKey(KeyCode.S))targetSpeed=maxBackwardSpeed;elsetargetSpeed=0;if(Input.GetKey(KeyCode.A))transform.Rotate(0,-rotSpeed*Time.deltaTime,0);elseif(Input.GetKey(KeyCode.D))transform.Rotate(0,rotSpeed*Time.deltaTime,0);curSpeed=Mathf.Lerp(curSpeed,targetSpeed,7.0f*Time.deltaTime);transform.Translate(Vector3.forward*Time.deltaTime*curSpeed);}}3.2敵方坦克敵方坦克在游戲開始以后才開始出現(xiàn),并且沒有什么太大的規(guī)律,都是從屏幕的最右面出現(xiàn),然后消失在屏幕以外或者被子彈擊中消失。敵方坦克走的路線是有軌道的,從屏幕的右上方出現(xiàn)后,會走一段軌跡,在運動過程中如果被子彈打中就會爆炸消失,如果沒有被擊中,則會消失在屏幕以外的地方。voidMove(){transform.Translate(Vector3.forward*Time.deltaTime*speed);}voidFireToPlayerTank(){Quaternionrot=Quaternion.LookRotation(Player.position-transform.position);transform.rotation=Quaternion.Slerp(transform.rotation,rot,rotSpeed*Time.deltaTime);if(Vector3.Distance(transform.position,Player.position)<=10.0f){fireCoolTime+=Time.deltaTime;if(fireCoolTime>=1.0f){fireCoolTime=0;Instantiate(shell,ShellSpawnerPoint.position,rot);}}}3.3子彈publicclassShellMove:MonoBehaviour{ voidStart(){ } voidUpdate(){transform.Translate(Vector3.forward*30*Time.deltaTime);/*子彈射擊速度*/Destroy(this.gameObject,5.0f);/*5s后銷毀*/ }}第4章系統(tǒng)測試4.1測試要點被測特性:對軟件進行功能性測試對軟件進行非功能性測試不被測特性:源代碼,邏輯等;模塊的接口,模塊的錯誤處理,模塊的局部數(shù)據(jù)結(jié)構(gòu),模塊在執(zhí)行時執(zhí)行的獨立路徑,模塊在處理邊界值時的情形;單元(模塊)之間的可用性等4.2測試時間、地點、人員本次測試的時間,地點,人員總結(jié)如下。測試時間:2016.5.20-2016.5.21地點:工作室人員:何成林4.3測試環(huán)境描述本次測試主要是采用黑盒測試,目的是驗證基于Unity3D的平面射擊游戲項目的功能是否已經(jīng)實現(xiàn),具體實現(xiàn)了哪些功能,界面設(shè)計是否和諧,以及運行環(huán)境需求的測試。測試配置環(huán)境如下:操作系統(tǒng):MicrosoftWindows7瀏覽器:IE10.7CPU:AMD2000MHz內(nèi)存:4GB硬盤:500GB4.4功能測試執(zhí)行情況游戲開始界面Start測試用例測試項目名稱:游戲開始界面功能測試用例編號:estCase-Perf-1測試人員:測試時間:2016.5.20測試項目標題:非正常頁面訪問的測試測試內(nèi)容:運行游戲后能進入開始界面測試環(huán)境與系統(tǒng)配置:詳見4.3環(huán)境描述測試進行游戲開始測試次數(shù)10次預期結(jié)果進入了游戲開始界面測試過程直接在Unity中運行項目測試結(jié)果進入了游戲開始界面測試結(jié)論游戲此功能已經(jīng)實現(xiàn)實現(xiàn)限制:在Unity環(huán)境中備注:無玩家坦克Player測試用例測試項目名稱:玩家坦克功能測試用例編號:estCase-Perf-2測試人員:測試時間:2016.5.21測試項目標題:非正常頁面訪問的測試測試內(nèi)容:玩家坦克能正常移動及發(fā)射子彈測試環(huán)境與系統(tǒng)配置:詳見4.3環(huán)境描述測試進行游戲中測試次數(shù)10次預期結(jié)果坦克正常移動及射擊測試過程開始游戲后對操作玩家坦克測試結(jié)果玩家坦克能正常運動并發(fā)射子彈測試結(jié)論游戲此功能已經(jīng)實現(xiàn)實現(xiàn)限制在Unity環(huán)境中備注:無第5章結(jié)束語5.1總結(jié)本次設(shè)計已是大學最后一次對專業(yè)知識的綜合實踐活動,同時也是我所做的工作量最大的一次作業(yè),因此從一開始我對本次畢業(yè)設(shè)計就給予了高度重視。從選題、收集資料、學習相關(guān)技術(shù)到實際編程,我都一絲不茍的對待了。當然其間我也走了不少彎路,有時甚至需要推倒重來,但同時我也多次體會過克服困難后的成就感。首先是編程能力方面得到了一個比較好的加強,其次就是讓我了解了我的不足,一直以來我覺得自己學到的東西挺多的,但是通過這次畢業(yè)設(shè)計下來發(fā)現(xiàn),我所了解的東西真的是滄海一粟,知識真的有太多太多,真的應了那句話,活到老學到老。這次設(shè)計是對大學所學的知識的一種檢驗,設(shè)計中發(fā)現(xiàn)自己的不足,查資料,找老師,問同學,當然主要是自己查資料,當然老師給了我很大的幫助,老師教我該用什么知識點,我然后自己去查。老師給了我一個學習的方向。過程是苦的,結(jié)果是甜的。一分耕耘一分收獲。我的努力得到了回報,老師表揚了我,這給了我很大的鼓舞。通過這次的畢業(yè)設(shè)計,不僅在專業(yè)知識上有了比較好的鞏固,而且更重要的是我的能力得到了提高,比如處理問題的能力,學習能力,等。畢業(yè)設(shè)計過去了,意味著我將踏上新的征程——工作!面對未來,我很自信!同時我還學會了一些編程技巧,而且對調(diào)試的錯誤有進一步的認識,有時候就一個小小的語法錯誤就會導致程序調(diào)試不通過。所以每個字符,每句程序都要認真對待。使用不同的編程環(huán)境,其效率完全不一樣,所以我選擇了Eclipse,它自動找錯/糾錯功能、Debug調(diào)試和代碼自動生成等一些重要的功能大大提高了我的設(shè)計效率。對于設(shè)計論文,一定要注意格式,認識事情都有它的規(guī)則、規(guī)范,不能按個人喜好隨意改變。畢業(yè)設(shè)計跟我們平時上的基礎(chǔ)課或者專業(yè)課不同!它是一個重要課題!要用到很多綜合性的知識!最重要的是讓學生體驗一下做科學研究的整個過程。也是畢業(yè)最重要的一個過程!它最能把理論知識準確運用到實際當中的去!做好了它就是就是一份成功的畢業(yè)設(shè)計了。隨著答辯日子的到來!我的畢業(yè)設(shè)計也快接近了尾聲了。在我還沒有做畢業(yè)設(shè)計以前覺得畢業(yè)設(shè)計只是對這幾年來所學知識的單純性的總結(jié)!但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點太片面和簡單了。通過這次畢業(yè)設(shè)計的編制使我明白了自己原來的知識還是比較欠缺。自己要學習的東西還太多太多!以前總是覺得自己什么東西都會!什么東西都懂!有點眼高手低。通過這次畢業(yè)設(shè)計的收集編制等等!我才明白學習是一個長期積累的過程!在以后的工作和生活當中我們都應該不斷的努力學習!努力的去提高自己知

溫馨提示

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

評論

0/150

提交評論