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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論