闖關(guān)大冒險游戲的設(shè)計與實現(xiàn)-畢業(yè)設(shè)計_第1頁
闖關(guān)大冒險游戲的設(shè)計與實現(xiàn)-畢業(yè)設(shè)計_第2頁
闖關(guān)大冒險游戲的設(shè)計與實現(xiàn)-畢業(yè)設(shè)計_第3頁
闖關(guān)大冒險游戲的設(shè)計與實現(xiàn)-畢業(yè)設(shè)計_第4頁
闖關(guān)大冒險游戲的設(shè)計與實現(xiàn)-畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

XX大學(xué)XX學(xué)院XX大學(xué)XX學(xué)院本科畢業(yè)論文(設(shè)計)中文題目闖關(guān)大冒險游戲的設(shè)計與實現(xiàn)英文題目Thedesignandrealizationofadventuregame選題編號xgx230809012114系(部)專業(yè)學(xué)生姓名學(xué)號指導(dǎo)教師完成時間XX大學(xué)XX學(xué)院摘要游戲的開發(fā)與制作是現(xiàn)目前互聯(lián)網(wǎng)行業(yè)比較熱門的話題,無論是在游戲制作的自媒體行業(yè)還是在游戲平臺中發(fā)布游戲,都有比較火熱的市場。在游戲開發(fā)與制作的過程中,可以融入我國的優(yōu)秀文化,同時也可以起到一定的教育作用。游戲開發(fā)完成后可以讓玩家在游玩游戲的過程中能鍛煉自身的邏輯思維能力,同時也讓一些玩家對游戲制作開發(fā)或計算機(jī)語言產(chǎn)生的學(xué)習(xí)興趣。在本游戲的制作與開發(fā)的過程中C語言與C++相結(jié)合,用其在VisualStudio上進(jìn)行前端的開發(fā),前端開發(fā)過程中實現(xiàn)了游戲封面的設(shè)計與功能實現(xiàn),玩家賬號的登錄與注冊,關(guān)卡選擇,進(jìn)行游戲后背景圖片﹑UI和對應(yīng)關(guān)卡的地圖的加載,在關(guān)卡中的人物移動,物品拾取和攻擊和受擊的觸發(fā),以及游戲內(nèi)的返回上一界面等功能的實現(xiàn),當(dāng)角色進(jìn)入游戲后一段時間或到達(dá)某個位置之后將會進(jìn)行怪物的加載,對怪物進(jìn)行攻擊后,怪物會觸發(fā)受擊動畫,當(dāng)怪物體力損失殆盡后會觸發(fā)死亡動畫,怪物靠近角色會觸發(fā)攻擊動畫。后端使用C和C++相結(jié)合,VisualStudio與MySQL數(shù)據(jù)庫相結(jié)合實現(xiàn)玩家登錄時的賬號和密碼核對的功能,以及玩家在注冊過程中輸入信息保存到數(shù)據(jù)庫和對玩家游玩游戲時所產(chǎn)生的信息變化進(jìn)行上傳和保存。關(guān)鍵詞:游戲設(shè)計;C語言;MySQL;VisualStudio

AbstractThedevelopmentandproductionofgamesisahottopicintheinternetindustryatpresent.Whetheritisintheself-mediaindustryofgameproductionorinthegameplatform,thereisarelativelyhotmarket.Intheprocessofgamedevelopmentandproduction,canbeintegratedintoourexcellentculture,butalsocanplayacertaineducationalrole.Afterthecompletionofthegamecanletplayersintheprocessofplayingthegamecanexercisetheirownlogicalthinkingability,butalsoletsomeplayerstothegamedevelopmentorcomputerlanguagelearninginterest.Intheprocessofmakinganddevelopingthegame,ClanguageiscombinedwithC++,andthefront-endisdevelopedonVisualStudio.Intheprocessofdevelopingthefront-end,thedesignandfunctionofthegamecoverarerealized,loginandRegistrationofplayers'accounts,levelselection,loadingofbackgroundimages,UIandmapofthecorrespondinglevel,movementofcharactersinthelevel,pickingupofitemsandtriggeringofattacksandattacks,aswellastherealizationoffunctionssuchasreturningtothepreviousinterfaceinthegame,whenthecharacterentersthegameforaperiodoftimeorarrivesatacertainlocation,itwillloadthemonster.Afterattackingthemonster,themonsterwilltriggerahitanimation,deathanimationwillbetriggeredwhenthemonsterisphysicallyexhausted,andattackanimationwillbetriggeredwhenthemonsterapproachesthecharacter.Back-enduseCandC++combination,VisualStudioandMySQLdatabasecombinedtoachievetheplayerloginaccountandpasswordcheckfunction,aswellastheplayerintheregistrationprocess,inputinformationissavedtothedatabaseandtheinformationchangesproducedwhentheplayerplaysthegameareuploadedandsaved.關(guān)鍵詞:GameDesign;C;MySQL;VisualStudio

目錄TOC\o"1-3"\h\u47031緒論 -1-211071.1研究背景 -1-244341.2國內(nèi)外研究現(xiàn)狀 -1-105461.2.1國內(nèi)研究現(xiàn)狀 -1-123931.2.2國外研究現(xiàn)狀 -2-23861.3本文研究內(nèi)容 -2-79671.3.1論文結(jié)構(gòu) -2-306071.3.2研究方法及手段 -3-282652系統(tǒng)分析 -4-246552.1可行性分析 -4-170042.1.1經(jīng)濟(jì)可行性分析 -4-7872.1.2技術(shù)可行性分析 -4-84072.1.3操作可行性分析 -4-108372.2需求分析 -4-81122.2.1關(guān)鍵技術(shù) -4-70522.2.2業(yè)務(wù)流程分析 -5-81562.2.3功能需求分析 -6-184832.2.4性能需求分析 -9-62782.2.5數(shù)據(jù)需求分析 -9-204732.2.6接口需求分析 -9-253552.2.7將來可能有的需求分析 -10-96093系統(tǒng)設(shè)計 -11-130893.1架構(gòu)設(shè)計 -11-293293.2功能模塊設(shè)計 -11-13563.2.2數(shù)據(jù)庫表的設(shè)計 -12-319764系統(tǒng)實現(xiàn) -17-240314.1開發(fā)環(huán)境 -17-76874.2功能模塊實現(xiàn) -17-176884.2.1登錄模塊 -17-100374.2.2地圖選擇模塊 -19-43844.2.3用戶操作模塊 -20-82054.2.4游戲加載和存儲模塊 -24-217405系統(tǒng)測試 -28-313105.1測試計劃 -28-172405.1.1測試目的 -28-279275.1.2測試范圍 -28-40875.1.3測試方法 -28-314725.1.4測試重點 -28-254435.1.5兼容性測試 -29-3535.2系統(tǒng)核心模塊功能測試 -29-263905.2.1登錄測試 -29-260735.2.2注冊測試 -30-197375.2.3地圖選擇測試 -31-212995.2.4人物移動測試 -31-66595.2.5背包功能測試 -32-215455.2.6設(shè)置功能測試 -32-276835.2.7角色技能釋放功能測試 -34-149485.2.8背景功能測試 -35-42985.2.9物品存儲功能測試 -36-325266總結(jié)與展望 -37-2696.1總結(jié) -37-289576.2展望 -37-27004參考文獻(xiàn) -38-26272致謝 -39-XX大學(xué)XX學(xué)院1緒論1.1研究背景游戲的開發(fā)與制作是現(xiàn)目前互聯(lián)網(wǎng)行業(yè)比較熱門的話題,可以推動人工智能與動畫制作等方面的進(jìn)步,同時游戲也可以做為新的文化載體以弘揚我國的傳統(tǒng)文化,現(xiàn)在國內(nèi)有不少游戲宣傳我國的文化如原神,黑神話悟空等。在國內(nèi)游戲發(fā)展方向偏向于教育化。本次的選題的意義是想通過在游戲中的劇情進(jìn)行一些優(yōu)良的文化或者民間故事進(jìn)行展現(xiàn),由此讓年輕人們可以對傳統(tǒng)文化或者他們當(dāng)?shù)貎?yōu)秀的習(xí)俗進(jìn)行了解、產(chǎn)生興趣。1.2國內(nèi)外研究現(xiàn)狀1.2.1國內(nèi)研究現(xiàn)狀通過知網(wǎng)國內(nèi)有關(guān)游戲開發(fā)與制作論文的數(shù)量來看,存在著增長且逐漸趨于平穩(wěn)的趨勢。通過論文的研究方向的占比來看,我國國內(nèi)游戲開發(fā)與制作趨向于向教育方面發(fā)展,例如如何刺激學(xué)生產(chǎn)生學(xué)習(xí)的興趣、如何進(jìn)行情景教育等。通過研究的學(xué)術(shù)方向占比來看,教育方面占比達(dá)95%,其中對C語言的教育占比較高,游戲開發(fā)與制作對于C語言來講,有利于教學(xué)與實踐教學(xué)相結(jié)合實現(xiàn)課程立體化﹑多樣化發(fā)展,對實現(xiàn)C語言教學(xué)創(chuàng)新方面有積極作用。在對C語言教學(xué)活動進(jìn)行拓展的過程中,則需要在闖關(guān)游戲趣味化設(shè)計下,激發(fā)學(xué)生對C語言內(nèi)容的關(guān)注,并在C語言課程教學(xué)中,引入闖關(guān)游戲模式中并對教學(xué)進(jìn)行改革與優(yōu)化,實現(xiàn)學(xué)生的創(chuàng)新能力提升方面有現(xiàn)實意義[1]。再加上C語言是較為底層的高級語言,由于其標(biāo)準(zhǔn)簡單規(guī)范,在多個領(lǐng)域均較為流行,很適合想要游戲制作與開發(fā)的新手進(jìn)行學(xué)習(xí)。在國內(nèi)游戲制作與開發(fā)的研究中。出于教學(xué)目的,大部分學(xué)生在學(xué)習(xí)完C語言后,不能進(jìn)一步探究,對基本的數(shù)據(jù)結(jié)構(gòu)與算法感覺枯燥。為解決這個問題,目前已有部分高校以游戲引擎等與現(xiàn)實緊密結(jié)合的內(nèi)容為導(dǎo)向,提升學(xué)生的編程語言學(xué)習(xí)興趣[2]。出于推進(jìn)游戲開發(fā)的傳播,可以制作游戲開發(fā)過程的相關(guān)視頻,讓有興趣的觀眾可以去進(jìn)行游戲開發(fā)的學(xué)習(xí),從而對游戲開發(fā)以及我國的代碼編程進(jìn)行推動。在教育方面除了上述的教育思路外,在課堂上的應(yīng)用也有不少,將闖關(guān)游戲理念融入C語言程序教育活動中,等同于將理論和現(xiàn)實相結(jié)合,在一定程度上實現(xiàn)教育資源的高效配置,從而也使整個教學(xué)課程呈現(xiàn)立體化﹑多樣化特征。在這種模式,對當(dāng)前傳統(tǒng)的教學(xué)模式進(jìn)行改革,使學(xué)生能夠充分享受課堂上的樂趣,促進(jìn)學(xué)生的發(fā)展空間[3]。同時也可以通過游戲劇情,以及游戲處于不同關(guān)卡時的難度和收獲量的把控讓游玩者有興趣將游戲玩下去,借此可以宣傳我國的一些優(yōu)秀文化和精神。綜上所述現(xiàn)在我國國內(nèi)現(xiàn)狀為將游戲與教育相結(jié)合以提升學(xué)生對學(xué)習(xí)的興趣與激情為總趨勢。1.2.2國外研究現(xiàn)狀從知網(wǎng)國外論文數(shù)量上來看19年在游戲方面達(dá)到了一個高峰,但在近幾年有明顯下滑的趨勢。從國外的研究方向來看相比于國內(nèi)研究的方向更加的多樣,除了對于教育上進(jìn)行應(yīng)用以外,還對美術(shù)、建筑等方面進(jìn)行了應(yīng)用。從占比上來看對于游戲在文化方面上的研究占比極大,由此可以看出在國外多樣的研究方向以外,國外將電子游戲居多歸類于文化宣傳類,就比如荒野大鏢客﹑GTA系列﹑刺客信條等都是宣傳美國某個時代的文化風(fēng)格的游戲,將其作為文化傳播的一個載體,除此之外國外研究游戲方面還有游戲制作軟件或者輔助程序,就比如easyX,標(biāo)準(zhǔn)的C時沒有圖形庫的,圖形庫都是第三方拓展,比如TC2.0的graphics等等,easyX圖形庫給老師和學(xué)生提供了一個很好的教學(xué)和學(xué)習(xí)平臺,它融合了VC方便的開發(fā)平臺和TC的簡單繪圖功能[13]。由此可以降低想要使用C語言進(jìn)行游戲開發(fā)的門檻的同時也可以提升使用C語言產(chǎn)出游戲的質(zhì)量,讓游戲制作者們可以花費更多的時間去研究其他方面,比如打磨游戲動畫播放的細(xì)節(jié),UI界面的展示,游戲bug的調(diào)整等等。綜上所述國外對于游戲的研究方面主要是文化宣傳,以及制作輔助工具,降低游戲開發(fā)過程中的代碼量,來獲取更多時間在其他方面進(jìn)行打磨。1.3本文研究內(nèi)容1.3.1論文結(jié)構(gòu)本文主要分為以下幾個部分第一部分是緒論部分,系統(tǒng)的開發(fā)背景,意義和系統(tǒng)狀況等,詳細(xì)講述了系統(tǒng)的用處,對本篇論文進(jìn)行總結(jié)。第二部分系統(tǒng)分析,本章主要是對系統(tǒng)可行性、系統(tǒng)性能、還有系統(tǒng)功能需求進(jìn)行分析。第三部分系統(tǒng)設(shè)計,對系統(tǒng)系統(tǒng)功能和數(shù)據(jù)庫等進(jìn)行詳細(xì)講解。第四部分系統(tǒng)的實現(xiàn),主要對首頁、登錄界面、注冊頁面、游戲設(shè)置、退出游戲、關(guān)卡選擇、人物操作、打開背包、物品拾取、物品裝備、NPC管理系統(tǒng)的實現(xiàn)。第五部分系統(tǒng)的測試,在系統(tǒng)編碼實現(xiàn)后,就需要對系統(tǒng)進(jìn)行檢測,檢測的方法有黑盒測試和白盒測試兩種方式,本網(wǎng)站采用的是黑白盒測試方法對不同組的數(shù)據(jù)進(jìn)行功能模塊測試。第六部分總結(jié)與心得體會,在論文最后結(jié)束章節(jié)總結(jié)了開發(fā)這個系統(tǒng)和撰寫論文時候自己的總結(jié)、感想,包括致謝。1.3.2研究方法及手段1、文獻(xiàn)研究法文獻(xiàn)研究法通過查閱國內(nèi)外的相關(guān)資料,分析我國游戲設(shè)計與開發(fā)與其他國家的游戲設(shè)計與開發(fā)的發(fā)展現(xiàn)狀與差異。選取具有代表性的典型案例進(jìn)行深入剖析,并結(jié)合當(dāng)前我國游戲制作開發(fā)的特點,提出我國游戲制作與開發(fā)的問題以及可以設(shè)想的解決方案。2、比較分析法比較分析法從不同角度探討了兩者之間的差異和聯(lián)系。運用多種統(tǒng)計方法,對各種游戲項目,近幾年來的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行收集整理,通過對大部分知名公司游戲?qū)Ρ确治觯热珧v訊,網(wǎng)易,米哈游等,得出現(xiàn)在國內(nèi)游戲設(shè)計可能存在的問題,以及有待改善的地方,讓游戲能更加好的展現(xiàn)在我們的眼前,使其更具實際意義。3、經(jīng)驗總結(jié)法通過多年對游戲的實踐經(jīng)驗了解,由此根據(jù)經(jīng)驗來改進(jìn)所需要用到的軟件或者步驟,更好的完成項目的要求。

2系統(tǒng)分析2.1可行性分析2.1.1經(jīng)濟(jì)可行性分析外設(shè)所需成本,因單機(jī)游戲不需要有服務(wù)器,將其與一些聯(lián)機(jī)類的游戲相比不需要服務(wù)器的租用或購買成本以及服務(wù)器的維修成本,游戲開發(fā)過程所需成本主要是使用編程軟件開發(fā)上的人力成本以及人物模型和地圖的構(gòu)建,因此不會在設(shè)計游戲中花費太多金錢上的成本,更多是時間上的成本。因此在經(jīng)濟(jì)成本上是可行的。2.1.2技術(shù)可行性分析本科專業(yè)是計算機(jī)科學(xué)與技術(shù),對編程大致思路有一定的培養(yǎng),對算法也有一定的學(xué)習(xí),C語言的基本代碼和操作都是清晰的,對于游戲的畫面和劇情可以通過多次測試磨合修改來得到較好的狀況。所使用的編程軟件操作都是比較熟悉的,因此在技術(shù)上是可行的。2.1.3操作可行性分析游戲前端方面操作符合國內(nèi)游戲的操作方式,因此用戶游戲的操作上手體驗不會有多少隔閡。游戲操作淺顯易懂,綜上所述,用戶從操作上是可行的。首先游戲制作是屬于合法產(chǎn)業(yè),游戲劇情是借鑒優(yōu)秀的傳統(tǒng)名著和一些優(yōu)秀的神話,對神話進(jìn)行二創(chuàng)不會存在版權(quán)糾紛,因此法律上是可行的。2.2需求分析2.2.1關(guān)鍵技術(shù)游戲制作中使用的是C和C++語言在visualstudio上進(jìn)行編碼,使用easyX包對游戲的框架進(jìn)行制作,使用MySQL進(jìn)行數(shù)據(jù)庫的制作。1、VisualStudio簡介:VisualStudio是一個具有基本完整的開發(fā)工具集,它包含了整個軟件生命周期中所需的大部分開發(fā)工具,如UML工具、代碼管控工具、集成開發(fā)環(huán)境(IDE)等等。所編寫的目標(biāo)代碼適用于微軟支持的所有平臺,包括MicrosoftWindows、WindowsMobile、WindowsCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。2、MySql數(shù)據(jù)庫簡介:Mysql的語言是非結(jié)構(gòu)化的,用戶可以在數(shù)據(jù)上進(jìn)行工作。MySQL因為其速度、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要\t"/item/MySQL%E6%95%B0%E6%8D%AE%E5%BA%93/_blank"事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。并且因為Mysql的語言和結(jié)構(gòu)比較簡單,但是功能和存儲信息量很強大,所以得到了普遍的應(yīng)用。Mysql數(shù)據(jù)庫在編程過程中的作用是很廣泛的,為用戶進(jìn)行數(shù)據(jù)查詢帶來了方便。Mysql數(shù)據(jù)庫的應(yīng)用因其靈活性強,功能強大,所以在實現(xiàn)某功能時只需要一小段代碼,而不像其他程序需要編寫大段代碼??傮w來說,Mysql數(shù)據(jù)庫的語言相對要簡潔很多。數(shù)據(jù)流程分析主要就是數(shù)據(jù)存儲的儲藏室,它是在計算機(jī)上進(jìn)行的,而不是現(xiàn)實中的儲藏室。數(shù)據(jù)的存放是按固定格式,而不是無序的,其定義就是:長期有固定格式,可以共享的存儲在計算機(jī)存儲器上。數(shù)據(jù)庫管理主要是數(shù)據(jù)存儲、修改和增加以及數(shù)據(jù)表的建立。為了保證系統(tǒng)數(shù)據(jù)的正常運行,一些有能力的處理者可以進(jìn)行管理而不需要專業(yè)的人來處理。數(shù)據(jù)表的建立,可以對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行調(diào)整,數(shù)據(jù)的重新組合及重新構(gòu)造,保證數(shù)據(jù)的安全性。介于數(shù)據(jù)庫的功能強大等特點,本系統(tǒng)的開發(fā)主要應(yīng)用了Mysql進(jìn)行對數(shù)據(jù)的管理。2.2.2業(yè)務(wù)流程分析本游戲的大致業(yè)務(wù)流程為:打開游戲,有賬號選擇游戲登入,輸入正確的賬號密碼登入游戲,沒有游戲賬號的選擇賬號注冊,游戲登入之后地圖上的關(guān)卡選擇,選擇完關(guān)卡之后進(jìn)入游戲,游戲中用戶操作角色打怪闖關(guān)和npc交互了解完整游戲主線。圖2.1業(yè)務(wù)流程圖2.2.3功能需求分析在對基于C語言編碼的橫板闖關(guān)類游戲進(jìn)行設(shè)計之前需要對系統(tǒng)的功能進(jìn)行獲取和分析,明確系統(tǒng)所應(yīng)包含的功能點,分析每個功能所包含的信息以及流程。不斷查閱網(wǎng)絡(luò)相關(guān)資料,明確了用戶的基本需求。通過不斷的市場調(diào)研和討論,最終包含:游戲登錄、關(guān)卡選擇、游戲游玩、賬號注冊、游戲設(shè)置、退出戲,及系統(tǒng)基本的登錄注銷,其中,游戲注冊可對游戲賬號數(shù)據(jù)庫增加賬號;游戲內(nèi)的拾取情況回對數(shù)據(jù)庫中的背包和賬號物品信息的增刪改查;賬號登錄對游戲數(shù)據(jù)庫的賬號和密碼進(jìn)行調(diào)用并比較,游戲內(nèi)容包括用戶對角色的位移操作,攻擊操作,技能操作等;位移操作包含了對角色移動跳躍等操作;技能操作包含了對怪物擊飛,造成傷害等功能。以下對系統(tǒng)的管理業(yè)務(wù)需求和功能進(jìn)行詳細(xì)的介紹和分析:1、游戲登錄游戲登錄是將用戶輸入的賬號和密碼與游戲數(shù)據(jù)庫中的賬號與密碼進(jìn)行對比如果正確則進(jìn)入游戲,錯誤則報賬號或密碼有誤。由于登錄使用的是郵箱進(jìn)行登錄和注冊因此在登錄時有一個格式判斷,如果不為郵箱則返回賬號不為郵箱。圖2.2登錄流程圖2、游戲注冊游戲注冊是在用戶沒有游戲賬號時想要游玩游戲時需要執(zhí)行的操作,游戲注冊為輸入郵箱賬號,輸入密碼,確定密碼三個步驟,走完三個步驟就完成了注冊,然后就將郵箱和密碼保存到用戶賬號的數(shù)據(jù)庫中。圖2.3注冊流程圖3、游戲設(shè)置游戲設(shè)置主要用于設(shè)置游戲中的音量大小。4、游戲登出游戲登出直接退出游戲。5、關(guān)卡選擇關(guān)卡選擇是進(jìn)入游戲后會加載出來一張地圖,在地圖上可以選擇關(guān)卡,關(guān)卡是否解鎖就用到了后端數(shù)據(jù)庫,如果用戶數(shù)據(jù)庫中該賬號關(guān)卡解鎖了的就放入數(shù)字1,未解鎖就放入數(shù)字0。然后在地圖選擇代碼中數(shù)字為1即執(zhí)行該關(guān)卡地圖的加載,如果為0則不進(jìn)行關(guān)卡地圖加載。圖2.4關(guān)卡選擇流程圖6、游戲內(nèi)部操作用戶通過鍵盤對角色進(jìn)行操作,在擊殺怪物時,怪物會概率掉落物品,拾取非藥品的物品可以存儲在背包之中,然后記錄在用戶數(shù)據(jù)庫之中。圖2.5游戲運作流程圖2.2.4性能需求分析1、用戶輸入注冊的信息:賬號名、郵箱號、密碼、用戶性別等。2、游戲角色信息:生命值、法力值、攻擊力、防御力、體力值,法力值,重生點的坐標(biāo)等。3、生成的怪物信息:生命值、攻擊力、防御力、特殊攻擊方式等。2.2.5數(shù)據(jù)需求分析1、用戶數(shù)據(jù)需求分析:注冊時的郵箱密碼性別等。2、游戲賬號數(shù)據(jù)需求分析:賬號對應(yīng)可選擇關(guān)卡,賬號郵箱和密碼,賬號是否為異常賬號,賬號裝備數(shù)據(jù)等。2.2.6接口需求分析用戶接口分析:使用用戶令牌通過WebAPI接口訪問數(shù)據(jù)。此方法可以有效識別身份,并返回用戶界面的用戶相關(guān)數(shù)據(jù),例如:密碼或用戶名、用戶真實姓名、性別以及其他用戶身份數(shù)據(jù)。一種是使用安全簽名發(fā)送數(shù)據(jù)。對于以這種方式發(fā)送的數(shù)據(jù),URL連接的簽名參數(shù)由某些安全規(guī)則加密。在接收到數(shù)據(jù)后,服務(wù)器還將通過相同規(guī)則的安全加密。在確認(rèn)中間的數(shù)據(jù)沒有被篡改后,可以修改數(shù)據(jù)。2.2.7將來可能有的需求分析1、窗口的美化對于游戲的UI界面后續(xù)會需要優(yōu)化,比如游戲內(nèi)圖標(biāo)更加清晰,游戲角色的圖片更加清晰使操作手感更加絲滑。2、用戶的評測用戶對游戲的bug或者不流暢的地方這些用戶提出的建議方面進(jìn)行調(diào)整讓用戶有更好的使用體驗。

3系統(tǒng)設(shè)計3.1架構(gòu)設(shè)計為了更好的去理清本系統(tǒng)整體思路,對該系統(tǒng)以結(jié)構(gòu)圖的形式表達(dá)出來,設(shè)計實現(xiàn)2D橫板闖關(guān)類游戲的功能結(jié)構(gòu)圖如圖3.1所示:圖3.1系統(tǒng)架構(gòu)圖3.2功能模塊設(shè)計根據(jù)前面的分析,本系統(tǒng)的模塊架構(gòu)圖如圖3.2所示。圖3.2模塊架構(gòu)圖3.2.1概念模型設(shè)計為了更好地滿足游戲中的信息的實時存儲,避免信息的丟失,系統(tǒng)設(shè)計采用Mysql8.0關(guān)系數(shù)據(jù)庫。充分利用存儲在數(shù)據(jù)庫系統(tǒng)中的信息,具有較高的信息訪問效率和信息安全性,為系統(tǒng)數(shù)據(jù)庫功能的實現(xiàn)奠定了良好的設(shè)計基礎(chǔ)。經(jīng)過分析設(shè)計,系統(tǒng)所需數(shù)據(jù)表有角色數(shù)據(jù)表、小怪?jǐn)?shù)據(jù)表、背包信息表、地圖選擇狀態(tài)表、用戶賬號信息表。3.2.2數(shù)據(jù)庫表的設(shè)計本系統(tǒng)使用的數(shù)據(jù)庫是MySQL數(shù)據(jù)庫,這是因為MySQL是支持多種語言與操作系統(tǒng),同時它也支持多線程,對CPU資源的利用同樣也是十分充分,并且它的SQL查詢算法,同樣也為系統(tǒng)查詢數(shù)據(jù)提供了十分巨大的便利,顯著地提升了查詢的速度,還便于數(shù)據(jù)的管理與檢查。本系統(tǒng)的數(shù)據(jù)庫名稱為gamedatabase,用以存儲在系統(tǒng)中所需要使用和處理的數(shù)據(jù)信息以及一些定義規(guī)則。根據(jù)以上的分析,下面將給出本系統(tǒng)的數(shù)據(jù)庫表,如圖3.3所示。圖3.3數(shù)據(jù)庫E-R圖1、user表即用戶的所有信息表,表里包括郵箱號,密碼,昵稱,性別,在系統(tǒng)中可以通過該表實現(xiàn)對賬戶的游戲登錄,如圖3.4所示與如表3.1所示。圖3.4user表E-R圖表3.1用戶信息表user序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認(rèn)值說明1idint11是否ID2usernamevarchar255否賬號3passwordvarchar255否密碼續(xù)表3.1用戶信息表user4mailvarchar255否郵箱5sexvarchar255是性別 6level_idint255否.1關(guān)卡ID2、role表即游戲角色的所有信息表,表里包括角色名,攻擊力,生命值,法力值和體力值,在系統(tǒng)中可以通過該表實現(xiàn)對敵人造成傷害,沖刺以及角色死亡等功能,如圖3.5所示與如表3.2所示。圖3.5role表E-R圖表3.2角色信息表role序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認(rèn)值說明1namevarchar255是否姓名2hitint16否攻擊力3liveint10否生命值4magicint10是法力值5lvint10是等級3、monster表即游戲怪物的所有信息表,表里包括怪物名稱,怪物的攻擊力,生命值以及怪物使用攻擊技能攻擊玩家的時間間隔,在系統(tǒng)中可以通過該表實現(xiàn)對游戲角色造成傷害,被游戲角色擊殺以及指定物品掉落等功能,如圖3.6所示,如表3.3所示。圖3.6monster表E-R圖表3.3怪物信息表monster序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認(rèn)值說明1namevarchar255是否姓名2hitint16否攻擊力3liveint10否生命值4timeint10否攻擊間隔時間5e_idint10否掉落物ID4、equipment表即游戲裝備的所有信息表,表里包括裝備名稱,裝備所增加的攻擊力,生命值,防御力,暴擊率,在系統(tǒng)中可以通過該表實現(xiàn)對游戲角色增強屬性,美化游戲角色立繪等功能如圖3.7所示與如圖3.4所示。圖3.7equipment表E-R圖表3.4裝備信息表equipment序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認(rèn)值說明1equipmentvarchar255是否裝備名2hitint16是攻擊力3liveint10是生命值4protectint10是防御力5criticalint3否暴擊率

4系統(tǒng)實現(xiàn)4.1開發(fā)環(huán)境本2D橫板闖關(guān)類游戲基于C和C++開發(fā),數(shù)據(jù)庫選用MySQL開源數(shù)據(jù)庫,對于運行環(huán)境要求相對較低,如表4.1所示。表4.1系統(tǒng)所需軟、硬件環(huán)境硬件環(huán)境軟件環(huán)境CPU:2.40GHz操作系統(tǒng):Windows10以上版本內(nèi)存:8GB數(shù)據(jù)庫:MySQL8.0;JDK版本:1.8硬盤:512GBVisualStudio+easyX4.2功能模塊實現(xiàn)4.2.1登錄模塊1、登錄功能賬號登錄模塊實現(xiàn)的思想:后端將郵箱和密碼發(fā)給前端的login中,用戶輸入郵箱和密碼發(fā)送給后端,后端取出login中的郵箱和密碼進(jìn)行對比,如果郵箱或者密碼錯誤,直接返回字符串“賬號或者密碼錯誤”,如果賬號和密碼正確,繼續(xù)查找是該用戶的存在狀態(tài)是否正常,如果存在狀態(tài)正常,則進(jìn)入游戲,如果用戶存在不正常,則返回“該用戶存在異常,請更換賬戶登錄”。2、注冊功能賬號注冊模塊實現(xiàn)的思想:前端將用戶輸入的郵箱和密碼發(fā)給后端的user表中,前端利用sql語句對user表中的賬戶,密碼和昵稱進(jìn)行添加,如果郵箱在表中已經(jīng)存在,直接返回字符串“該賬號已經(jīng)存在請重新輸入”,如果賬號在表中不存在,則往user表里添加賬號,密碼和昵稱,并返回字符串“注冊成功”,如圖4.1與4.2所示。圖4.1登錄注冊模塊部分代碼圖4.2游戲主界面模塊實現(xiàn)圖4.2.2地圖選擇模塊1、關(guān)卡選擇功能關(guān)卡選擇模塊實現(xiàn)的思想:前端將用戶通過鼠標(biāo)點擊地圖關(guān)卡,將點擊關(guān)卡的信息發(fā)給后端的choice表中,后端將該關(guān)卡的鎖閉情況返回給前端,如果關(guān)卡未激活,則輸出字符串“請通關(guān)前置關(guān)卡”,如果關(guān)卡為已激活,則直接進(jìn)入關(guān)卡如圖4.3所示與如圖4.4所示。圖4.3關(guān)卡選擇模塊部分代碼圖4.4關(guān)卡選擇模塊實現(xiàn)圖4.2.3用戶操作模塊1、移動操作 通過ExMessage結(jié)構(gòu)體來獲取鍵盤的按鍵輸入,在GameObject.cpp文件中實現(xiàn)在獲取用戶鍵盤按鍵后在游戲窗口角色做出對應(yīng)反饋,如圖4.5所示。圖4.5角色運動模塊部分代碼2、背包功能 通過ExMessage結(jié)構(gòu)體來獲取鼠標(biāo)移動位置的輸入,在GameObject.cpp文件中bag函數(shù)實現(xiàn)在獲取用戶鼠標(biāo)位置在背包圖標(biāo)上且鼠標(biāo)點擊后在游戲窗口彈出背包界面,在背包界面左半部分顯示角色屬性,右半界面為裝備界面,可以在右半界面更換裝備,如圖4.6所示與如圖4.7所示。圖4.6背包功能模塊部分代碼圖4.7背包模塊圖像實現(xiàn)3、設(shè)置功能通過ExMessage結(jié)構(gòu)體來獲取鼠標(biāo)移動位置的輸入,在GameObject.cpp文件中的set函數(shù)中通過代碼來實現(xiàn)當(dāng)鼠標(biāo)移動到圖標(biāo)上且點擊圖標(biāo)會出現(xiàn)設(shè)置界面,在設(shè)置界面中分別會繼續(xù)游戲,返回地圖兩個按鈕,以方便玩家退出和返回地圖提升體驗感,如圖4.8所示。圖4.8設(shè)置功能模塊部分代碼4、角色普通攻擊功能通過ExMessage結(jié)構(gòu)體來獲取鍵盤的按鍵輸入,在GameObject.cpp文件的hit函數(shù)中用代碼來實現(xiàn)角色對怪物的攻擊,通過獲取當(dāng)前角色的x,y坐標(biāo)與怪物的x和y的坐標(biāo)進(jìn)行比較,如果怪物在角色的攻擊范圍內(nèi)且玩家在此使按下了攻擊鍵,就會觸發(fā)怪物受傷的動畫,怪物擊飛和怪物扣血,如圖4.9所示。圖4.9攻擊功能模塊部分代碼5、角色技能功能通過ExMessage結(jié)構(gòu)體來獲取鍵盤的按鍵輸入,在GameObject.cpp文件的skills函數(shù)中的代碼實現(xiàn)技能的釋放,在用戶按下設(shè)計好的按鍵就會觸發(fā)角色技能動畫,根據(jù)用戶按下的按鍵不同會觸發(fā)不同的技能動畫,如圖4.10所示。圖4.10技能功能模塊部分代碼6、角色拾取功能 通過獲取角色腳所在的x,y坐標(biāo)和掉落物圖形所占矩形的左上角x和y坐標(biāo)與右下角的x和y坐標(biāo),當(dāng)角色腳所在的x和y坐標(biāo)大于掉落物所在矩形的左上角的x和y坐標(biāo)且小于右下角的x和y坐標(biāo)就會觸發(fā)拾取動畫。4.2.4游戲加載和存儲模塊1、背景加載 通過在Game.cpp文件中進(jìn)行圖片的加載,在GameObject.cpp文件中的level系列函數(shù)中進(jìn)行背景圖片的放置。2、游戲地圖加載在Game.cpp文件中進(jìn)行圖片的加載,在GameObject.cpp文件中的level系列函數(shù)中進(jìn)行背景圖片的放置,因為地圖要覆蓋在背景之上所以地圖加載要在背景加載之后,如圖4.11所示。圖4.11圖片加載功能模塊部分代碼3、怪物加載在Game.cpp文件中進(jìn)行圖片的加載,在GameObject.cpp文件中使用struct創(chuàng)建一個怪物的結(jié)構(gòu)體,然后使用自定義的createmonster函數(shù)創(chuàng)建怪物,用updatemonster函數(shù)來更新怪物的狀態(tài),用drawmonster函數(shù)在level系列函數(shù)中將怪物在地圖中畫出來如圖4.12所示與如圖4.13所示。圖4.12怪物結(jié)構(gòu)體功能模塊部分代碼圖4.13怪物加載功能模塊部分代碼4、角色加載在Game.cpp文件中進(jìn)行角色系列圖片的加載,在GameObject.cpp文件中createuser函數(shù)對角色進(jìn)行創(chuàng)建,使用jump,walk等函數(shù)完成角色基礎(chǔ)運動,如圖4.14所示與如圖4.15所示。5、背包物品存儲在Game.cpp文件中進(jìn)行背包圖標(biāo)和背包內(nèi)部的圖片進(jìn)行加載,在GameObject.cpp文件中的bag函數(shù)將背包的圖標(biāo)進(jìn)行繪制以及當(dāng)鼠標(biāo)在背包圖標(biāo)上時且進(jìn)行了點擊操作時會彈出背包界面。然后當(dāng)用戶在進(jìn)行拾取物品之后就會將物品貼圖添加到背包中去,然后修改背包數(shù)據(jù)庫中當(dāng)前格是否裝有物品的數(shù),如果裝有數(shù)為0則說明此格可以裝備東西,如果不為0則不能,如果背包中的所有格的裝備數(shù)全不為0則說明背包已裝滿。圖4.14游戲加載模塊部分代碼圖4.15角色運動和UI模塊實現(xiàn)圖

5系統(tǒng)測試5.1測試計劃5.1.1測試目的為了使游戲運行起來更加流暢,用戶體驗更加舒暢,代碼之間不存在過多惡性bug。同時也要讓自身代碼相比之前更加的簡潔明了。運行原理清晰明了,安全性較高,封裝性好。5.1.2測試范圍游戲登錄時是否能分辨輸入的格式,游戲登陸時是否的郵箱是否存在于數(shù)據(jù)庫之中,在登錄異常賬號時是否能正常阻攔其登錄。游戲注冊時能否確定郵箱已經(jīng)在數(shù)據(jù)庫中存在,發(fā)現(xiàn)存在后返回的字符串是否正確。在地圖選擇的時候是否能夠正確顯示該用戶已解鎖關(guān)卡,在點擊未解鎖關(guān)卡是否正常彈出“請解鎖前置關(guān)卡”的提示。進(jìn)入游戲后操縱角色得到的反饋是否正確,角色受擊,死亡,跳躍等的動畫展現(xiàn)是否正確。怪物死亡,移動,攻擊的動畫展現(xiàn)是否正確,角色和怪物的基礎(chǔ)傷害展現(xiàn)是否正確,怪物的掉落物和掉落動畫展現(xiàn)是否正確。5.1.3測試方法了解軟件測試的內(nèi)容和任務(wù),是軟件測試工作的基本要求。在軟件開發(fā)過程中,測試?yán)擒浖|(zhì)量最基本和最重要的部分,一個好的測試?yán)龖?yīng)該擁有以下幾點:一是清晰明了,易于理解。二是方便操作。軟件測試的計劃是為了達(dá)到這些要求而制定的一系列活動和步驟。在軟件開發(fā)過程中,對軟件進(jìn)行全面而深入地測試,對于提升軟件質(zhì)量有著十分重要的意義。但是由于軟件測試工作是比較復(fù)雜而又耗時的工作,因此單元測試、集成測試、白盒測試等測試在開發(fā)、需求的階段都不能完全實現(xiàn)。因此,出于時間和資源等實際原因,2D橫板闖關(guān)類小游戲?qū)H進(jìn)行頁面、功能和性能的測試。系統(tǒng)測試是軟開發(fā)過程必不可少的一個環(huán)節(jié)。與“調(diào)試”不同,軟件測試為了識別系統(tǒng)中可能出現(xiàn)的錯誤,將軟件放置在設(shè)置好的特定的測試環(huán)境中,對系統(tǒng)進(jìn)行一系列操作,根據(jù)結(jié)果來判斷該系統(tǒng)是否符合要求的流程。系統(tǒng)測試主要驗證系統(tǒng)功能和結(jié)構(gòu)的穩(wěn)定性。在本章中,對“2D橫板闖關(guān)類小游戲”系統(tǒng)的登錄注冊、地圖選擇、頁面UI展示、怪物運動和游戲內(nèi)人物運動、攻擊、技能、拾取、物品裝備等功能進(jìn)行了功能測試。5.1.4測試重點測試主要是為了提升用戶的體驗感,因此測試的重點在于登錄和注冊界面是否簡潔以及沒有什么大的錯誤。地圖的選擇不能出現(xiàn)卡死不動的情況,戲內(nèi)的操作需要角色不要卡頓,動作比較流暢,操作過程中不存在明顯的卡頓。5.1.5兼容性測試本系統(tǒng)使用的是C和C++編程,在VisualStudio上編碼,使用easyX圖庫來制作的項目因此,該項目可以在Windows系統(tǒng)上適配。因為游戲制作的目的是做PC端游戲因此游戲適配主要是以PC端為主。5.2系統(tǒng)核心模塊功能測試5.2.1登錄測試登錄測試,對登錄信息的驗證,登錄測試主要是針對網(wǎng)絡(luò)中的一些常見的登錄情況進(jìn)行測試。以下是基于2D橫板闖關(guān)類小游戲登錄需求的登錄測試如下表5.1所示。表5.1登錄測試用例表所屬模塊登錄模塊用例作者向泰瑞B(yǎng)UG編號BUG-001測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)使用數(shù)據(jù)庫中有的賬號和密碼進(jìn)行登錄,看是否能成功登錄。(2)使用數(shù)據(jù)庫中有的郵箱密碼輸入錯誤看是否會顯示密碼錯誤。(3)使用格式錯誤的郵箱看是否會顯示郵箱格式錯誤。前驅(qū)條件(1)進(jìn)入游戲目錄界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲按鈕預(yù)期結(jié)果效果一致;登錄接口效果良好;登錄接口文字清晰合理,無錯別字;符合日常使用習(xí)慣;簡潔美觀。實際結(jié)果(1)效果相差不大;(2)登錄接口效果尚可;(3)登錄接口文字清晰,無錯別字;(4)符合日常使用習(xí)慣;(5)簡潔。測試結(jié)論系統(tǒng)能夠正確處理登錄和注冊的場景,測試通過5.2.2注冊測試當(dāng)用戶注冊游戲賬戶時,需要用到郵箱號,在注冊時網(wǎng)站將判斷這個郵箱號格式是否正確,如果格式不正確,則提示郵箱格式錯誤,如果正確,則判斷郵箱號是否存在。如果存在就會提醒用戶這個郵箱賬號已經(jīng)注冊了。如果沒有注冊過,就可以正常注冊,登錄界面上顯示了用戶所需填寫的各項信息。用戶給自己取一個用戶名、選擇性別、輸入密碼。輸入密碼后,需要再次確認(rèn)密碼,如果這兩個密碼不相同,頁面則會出現(xiàn)提示“兩次輸入的密碼不一致”。當(dāng)用戶將這兩個密碼更改為兩個相同的密碼時,輸入正確后,點擊“注冊”按鈕就成功注冊,系統(tǒng)將賬號存儲在數(shù)據(jù)庫中,如表5.2所示。表5.2注冊測試用例表所屬模塊注冊模塊用例作者向泰瑞B(yǎng)UG編號BUG-002測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)使用數(shù)據(jù)庫中有的賬號進(jìn)行注冊,看是否會提示該郵箱已被注冊。(2)使用格式正確但沒有在數(shù)據(jù)庫中的郵箱,看是否會顯示該郵箱未注冊。(3)使用格式正確且在數(shù)據(jù)庫中的郵箱但密碼錯誤,看是否會提示密碼錯誤。前驅(qū)條件(1)進(jìn)入游戲目錄界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊注冊按鈕。預(yù)期結(jié)果(1)效果一致;(2)注冊頁面效果良好;(3)注冊頁面文字清晰合理,無錯別字;(4)符合日常使用習(xí)慣;(5)簡潔美觀。實際結(jié)果(1)效果相差不大;(2)注冊頁面效果尚可;(3)注冊頁面文字清晰,無錯別字;(4)符合日常使用習(xí)慣;(5)簡潔。續(xù)表5.2注冊測試用例表測試結(jié)論系統(tǒng)注冊模塊在不同情況中,大體上效果相同,測試通過。5.2.3地圖選擇測試當(dāng)用戶登錄游戲賬戶進(jìn)入游戲后,在關(guān)卡選擇界面時,需要獲取鼠標(biāo)坐標(biāo)和動作,以及根據(jù)數(shù)據(jù)庫中該賬號的關(guān)卡是否解鎖進(jìn)行判定,因此地圖選擇測試如表5.3所示。表5.3地圖選擇測試用例表所屬模塊地圖選擇模塊用例作者向泰瑞B(yǎng)UG編號BUG-003測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)選擇該賬號已解鎖的關(guān)卡,看是否會直接加載進(jìn)入該關(guān)卡之中。(2)選擇該賬號沒有解鎖的關(guān)卡,看是否會提示該關(guān)卡沒有解鎖。(3)用鼠標(biāo)點擊非關(guān)卡區(qū)域,看是否沒會加載入關(guān)卡。(4)在選擇該用戶沒有解鎖的關(guān)卡之后再選擇已解鎖的關(guān)卡看是否能正常進(jìn)入選擇關(guān)卡。前驅(qū)條件(1)進(jìn)入地圖選擇界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲,然后進(jìn)入地圖選擇關(guān)卡。預(yù)期結(jié)果(1)效果一致;(2)地圖選擇界面效果良好;(3)地圖選擇界面圖片顯示清晰合理;(4)符合日常使用習(xí)慣;(5)簡潔美觀。實際結(jié)果(1)效果相差不大;(2)地圖選擇界面效果尚可;(3)地圖選擇界面圖片顯示清晰合理;(4)符合日常使用習(xí)慣;(5)簡潔。測試結(jié)論地圖選擇模塊在不同情況中,大體上效果相同,測試通過。5.2.4人物移動測試當(dāng)用戶選擇完關(guān)卡進(jìn)入關(guān)卡后,在游戲界面時,需要獲取用戶鍵盤操作,根據(jù)當(dāng)前獲取的鍵盤操作來做出相應(yīng)的反饋,因此人物移動測試如表5.4所示。表5.4人物移動測試用例表所屬模塊人物移動模塊用例作者向泰瑞B(yǎng)UG編號BUG-004測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)進(jìn)行按鍵輸入看能否進(jìn)行正確的動作反饋。(2)在按鍵松開后能否立即停止之前動作。(3)長按按鍵看人物動畫是否可以正常播放前驅(qū)條件(1)進(jìn)入關(guān)卡界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲,然后進(jìn)入地圖選擇關(guān)卡,進(jìn)入關(guān)卡。預(yù)期結(jié)果(1)效果一致;(2)人物移動效果良好;(3)人物移動過程中無卡頓;(4)按鍵設(shè)置符合日常使用習(xí)慣;(5)人物動作反饋表現(xiàn)簡潔美觀。實際結(jié)果(1)效果較為一致;(2)人物移動效果良好;(3)人物移動過程中無明顯卡頓;(4)按鍵設(shè)置符合日常使用習(xí)慣;(5)人物動作反饋表現(xiàn)簡潔。測試結(jié)論人物移動測試在不同情況中,表現(xiàn)效果與預(yù)期相似,測試通過。5.2.5背包功能測試當(dāng)選擇游戲關(guān)卡進(jìn)入游戲關(guān)卡之后,在游戲界面時,需要獲取鼠標(biāo)坐標(biāo)和動作,來確定用戶是否需要打開背包,以及根據(jù)數(shù)據(jù)庫中該賬號的背包已有的物品數(shù)來加載背包中的物品,因此背包功能測試如表5.5所示。表5.5背包功能測試用例表所屬模塊背包功能模塊用例作者向泰瑞B(yǎng)UG編號BUG-005測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無續(xù)表5.5背包能測試用例表用例描述(1)選擇背包中沒有物品的賬號,將鼠標(biāo)放于背包圖標(biāo)上,然后點擊看是否能正常打開。(2)選擇背包中擁有物品的賬號,打開背包,看背包中的物品是否能正確的加載出來。(3)點擊非背包圖標(biāo)的區(qū)域,看是否會錯誤的加載出背包界面。前驅(qū)條件(1)進(jìn)入游戲界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲,然后進(jìn)入地圖選擇關(guān)卡,進(jìn)入關(guān)卡界面,點擊背包圖標(biāo)。預(yù)期結(jié)果(1)效果一致;(2)背包界面展示效果良好;(3)背包界面圖片和物品圖片顯示清晰合理;(4)簡潔美觀。實際結(jié)果(1)效果相差不大;(2)背包界面展示效果尚可;(3)背包界面圖片和物品圖片顯示清晰合理;(4)簡潔。測試結(jié)論背包功能模塊,展示效果較好,測試通過。5.2.6設(shè)置功能測試當(dāng)用戶進(jìn)入游戲后,在游戲界面時,需要獲取鼠標(biāo)坐標(biāo)和動作,當(dāng)鼠標(biāo)坐標(biāo)在設(shè)置圖標(biāo)上然后點擊就會彈出設(shè)置界面,在設(shè)置界面可以選擇返回游戲,返回地圖和設(shè)置音量,因此地圖選擇測試如表5.6所示。表5.6設(shè)置功能測試用例表所屬模塊設(shè)置功能模塊用例作者向泰瑞B(yǎng)UG編號BUG-006測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)將鼠標(biāo)移到設(shè)置圖標(biāo)上點擊,看是否能顯示設(shè)置界面。(2)在設(shè)置界面點擊返回游戲,看是否會退出設(shè)置界面,繼續(xù)游戲流程續(xù)表5.6設(shè)置功能測試用例表(3)在設(shè)置界面點擊返回地圖,看是否會退出游戲界面,返回到關(guān)卡選擇界面。前驅(qū)條件(1)進(jìn)入游戲界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲,然后進(jìn)入地圖選擇關(guān)卡,進(jìn)入關(guān)卡界面,點擊設(shè)置圖標(biāo)。預(yù)期結(jié)果(1)效果一致;(2)設(shè)置界面顯示效果良好;(3)設(shè)置界面按鈕顯示清晰合理;(4)符合日常使用習(xí)慣;(5)簡潔美觀。實際結(jié)果(1)效果相差不大;(2)設(shè)置界面顯示效果尚可;(3)設(shè)置界面按鈕顯示清晰合理;(4)符合日常使用習(xí)慣;(5)簡潔。測試結(jié)論設(shè)置功能模塊在不同情況中,大體上與設(shè)想效果相同,測試通過。5.2.7角色技能釋放功能測試當(dāng)用戶登錄游戲賬戶進(jìn)入游戲后,在游戲界面時,需要獲取鍵盤按鍵信息,當(dāng)用戶按下特定按鍵會觸發(fā)技能動畫,扣除不同的藍(lán)量,對怪物造成傷害,因此角色普通攻擊功能測試如表5.7所示。表5.7角色技能釋放功能測試用例表所屬模塊角色技能釋放功能模塊用例作者向泰瑞B(yǎng)UG編號BUG-008測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)按下技能鍵,是否會觸發(fā)釋放技能動畫。(2)按下其他按鍵,會不會錯誤的觸發(fā)技能動畫。(3)按下技能鍵,看是否會扣除藍(lán)量(4)按下不同技能鍵看是否會扣除不同藍(lán)量。前驅(qū)條件(1)進(jìn)入游戲界面。續(xù)表5.7角色技能釋放功能測試用例表操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲,然后進(jìn)入地圖選擇關(guān)卡,進(jìn)入關(guān)卡,載入游戲界面,按下技能按鍵。預(yù)期結(jié)果(1)效果一致;(2)角色技能攻擊表現(xiàn)效果良好;(3)角色技能動畫圖片顯示清晰合理;(4)技能按鍵符合日常使用習(xí)慣;(5)動畫簡潔美觀。實際結(jié)果(1)效果相差不大;(2)角色技能攻擊表現(xiàn)效果尚可;(3)角色技能動畫圖片顯示清晰合理;(4)技能按鍵符合日常使用習(xí)慣;(5)動畫簡潔。測試結(jié)論角色技能攻擊動畫和按鍵交互良好,測試通過。5.2.8背景功能測試當(dāng)用戶登錄游戲賬戶進(jìn)入游戲后,在游戲界面時,加載背景圖片與UI界面,因此背景功能測試如表5.8所示。表5.8背景放置功能測試用例表所屬模塊背景放置功能模塊用例作者向泰瑞B(yǎng)UG編號BUG-010測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)進(jìn)入游戲,看是否能夠加載出游戲背景圖片和UI界面。(2)再次加載看背景圖片關(guān)卡地圖和UI圖片是否加載順序正確。(3)長期打開游戲界面,看是否游戲背景加載依舊正常。前驅(qū)條件(1)進(jìn)入游戲界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲,然后進(jìn)入地圖選擇關(guān)卡,進(jìn)入關(guān)卡,載入游戲界面。預(yù)期結(jié)果(1)效果一致;(2)背景圖片加載表現(xiàn)效果良好;(3)背景圖片顯示清晰合理;(4)頁面簡潔美觀。續(xù)表5.8背景功能放功能測試用例表實際結(jié)果(1)效果相差不大;(2)背景圖片加載表現(xiàn)效果還行;(3)背景圖片顯示清晰合理;(4)頁面簡潔。測試結(jié)論頁面效果良好,測試通過。5.2.9物品存儲功能測試當(dāng)用戶登錄游戲賬戶進(jìn)入游戲,游戲界面后,加載完背景圖片與UI界面以及關(guān)卡地圖加載后,在進(jìn)行角色的物品拾取操作之后,物品貼圖會進(jìn)入背包空缺地方,并將數(shù)據(jù)庫中記錄背包位是否為空的記錄數(shù)進(jìn)行更改,因此物品存儲加載功能測試如表5.9所示。表5.9物品存儲加載功能測試用例表所屬模塊物品存儲功能模塊用例作者向泰瑞B(yǎng)UG編號BUG-010測試人員向泰瑞測試日期2023年4月5日測試類型功能測試測試工具無用例描述(1)拾取物品之后是否會進(jìn)入背包。(2)進(jìn)入背包后,是否進(jìn)行了數(shù)據(jù)庫的更改。(3)消耗品選擇丟棄或使用是否會從背包消失且改變數(shù)據(jù)庫。前驅(qū)條件(1)進(jìn)入游戲界面。操作步驟(1)進(jìn)入游戲目錄界面,點擊登錄游戲,然后進(jìn)入地圖選擇關(guān)卡,進(jìn)入關(guān)卡,載入游戲界面。預(yù)期結(jié)果(1)效果一致;(2)拾取物品和加載背包中的貼圖表現(xiàn)效果良好;(3)背包中的貼圖顯示清晰合理。實際結(jié)果(1)效果較好;(2)拾取物品和加載背包中的貼圖表現(xiàn)效果一般;(3)背包中的貼圖顯示清晰合理。測試結(jié)論物品存儲效果表現(xiàn)良好,測試通過。

6總結(jié)與展望6.1總結(jié)本次畢業(yè)設(shè)計項目完成正常游戲的登錄和注冊功能,關(guān)卡選擇功能,游戲游玩功能等,本項目的優(yōu)點是使用了C和C++作為游戲開發(fā)語言,可以在各平臺上適用,再者使用VisualStudio作為代碼實現(xiàn)工具,使用MySql進(jìn)行數(shù)據(jù)的存儲。同時在完成本次項目的收獲了許多技巧,對于C語言的系

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論