五子棋游戲項目報告_第1頁
五子棋游戲項目報告_第2頁
五子棋游戲項目報告_第3頁
五子棋游戲項目報告_第4頁
五子棋游戲項目報告_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!-1-《軟件技術(shù)基礎(chǔ)》項目報告《軟件技術(shù)基礎(chǔ)》課程項目報告項目名稱:用VC++實現(xiàn)的五子棋游戲?qū)I(yè)班級:G11009項目成員:崔光浩程德武付強(qiáng)付鈺李洪潤尚振興沈婷玉佟承雨周彤姣指導(dǎo)老師:完成時間:2011/10/31-2-《軟件技術(shù)基礎(chǔ)》項目報告一、需求分析............................................................-.................1.1開發(fā)背景................................................................................................................-4-1.2項目目標(biāo)................................................................................................................-4-1.3運(yùn)行環(huán)境................................................................................................................-4-1.4游戲說明................................................................................................................-5-1.5項目任務(wù)書............................................................................................................-5-二、技術(shù)路線.......................................................................................................................-7-2.1總體方案................................................................................................................-7-2.2詳細(xì)設(shè)計................................................................................................................-7-三、工程進(jìn)度.......................................................................................................................-9-3.1前期準(zhǔn)備部分(1-3)天.......................................................................................-9-3.2中期實現(xiàn)功能部分(4-7)天................................................................................-9-3.3后期總結(jié)完善部分(8-10)天..............................................................................-9-四、測試報告.....................................................................................................................-10-4.1第5天:測試棋譜..............................................................................................-10-4.2第6天:基本功能測試......................................................................................-10-4.3第7天:悔棋功能..............................................................................................-11-4.4第8天:測試其他的附加功能...........................................................................-11-4.5第910天:總體測試.......................................................................................-11-五、個人小結(jié).....................................................................................................................-12-六、主要算法.....................................................................................................................-13-1判斷勝負(fù)..................................................................................................................-13--3-《軟件技術(shù)基礎(chǔ)》項目報告2鼠標(biāo)模擬..................................................................................................................-15-摘要五子棋是起源于中國古代的傳統(tǒng)黑白棋種之一?,F(xiàn)代五子棋日文稱之為“連珠”,英譯為“Renju”,英文稱之為“Gobang”或“FIR”(FiveinaRow的縮寫),亦有“連五子”、“五子連”、“串珠”、“五目”、“五目碰”、“五格”等多種稱謂。五子棋不僅能增強(qiáng)思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。五子棋既有現(xiàn)代休閑的明顯特征“短、平、快”,又有古典哲學(xué)的高深學(xué)問“陰陽易理”;它它的棋文化源淵流長,具有東方的神秘和西方的直觀;既有“場”的概念,亦有“點”的連接。它是中西文化的交流點,是古今哲理的結(jié)晶。-4-《軟件技術(shù)基礎(chǔ)》項目報告一、需求分析五子棋是一種兩人對弈的純策略型棋類游戲,是起源于中國古代的傳統(tǒng)黑白棋種之一。發(fā)展于日本,流行于歐美。五子棋容易上手,老少皆宜,而且趣味橫生,引人入勝;不僅能增強(qiáng)思維能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。傳統(tǒng)五子棋的棋子分為黑白兩色,采用圍棋棋盤,棋子放置于棋盤線交叉點上。兩人對局,各執(zhí)一色,輪流下一子,先將橫、豎或斜線的不間斷的一排者為勝。5個同色棋子連成棋類游戲規(guī)則簡單,對外部要求不高,人們可以隨時隨地進(jìn)行對弈。但是,真正能夠精通棋類游戲的人卻不是很多,主要是棋類游戲具有變化莫測的特點,人們經(jīng)常得在在休閑中使自己得到真正的長進(jìn),這或許就是其倍受人們青睞的原因所在!我們將主要通過VC++語言,運(yùn)用面向?qū)ο蟮某绦蛟O(shè)計方法,開發(fā)此款五子棋游戲。力爭使程序短小精悍,簡潔明了;游戲界面優(yōu)美,容易操作;功能豐富,趣味性強(qiáng)?,F(xiàn)在將我們對項目期望實現(xiàn)的目標(biāo)一一介紹:a.能供兩人對弈。b.可以實現(xiàn)經(jīng)典棋局的回放。c.可以悔棋。D.能實現(xiàn)棋局步數(shù)的排名。e.操作方便,容易上手。PC機(jī)均可運(yùn)行該游戲。但是為了能讓大家更好地體驗該款游戲,我們給出如下的最低配置:-5-《軟件技術(shù)基礎(chǔ)》項目報告內(nèi)存32M硬盤4GWindows95MicrosoftVisualC++6.0同時結(jié)合我們開發(fā)該游戲的環(huán)境,我們強(qiáng)烈推薦用戶使用如下的配置:最佳配置:CPU2GHz及以上內(nèi)存256M及以上硬盤80G及以上WindowsXP及以上MicrosoftVisualC++6.0(1)游戲流程:啟動游戲后,顯示主菜單。里面包括開始游戲、讀取游戲、排行榜、關(guān)于游戲、游戲幫助、退出。讀取游戲中包含經(jīng)典棋局的回放和未下完的棋局。排行榜中顯示的是棋局步數(shù)的排名。(2)游戲規(guī)則:(3)特別提示:然后由對方?jīng)Q定是否允許玩家悔棋,在玩家得到對方的響應(yīng)消息(允許或者拒絕)之后,才進(jìn)行悔棋與否的操作。(1)班級:G11009(2)組長:崔光浩(3)成員:尚振興、李洪潤、沈婷玉、程德武、付強(qiáng)、周彤嬌、佟承雨、付鈺(4)項目名稱:五子棋-6-《軟件技術(shù)基礎(chǔ)》項目報告(5)能力,提高智力,而且富含哲理,有助于修身養(yǎng)性。五子棋既有現(xiàn)代休閑的明顯特征“短、平、快”,又有古典哲學(xué)的高深學(xué)問“陰陽易理”。(6)項目分工:程德武:顯示棋盤、顯示幫助、游戲版權(quán)、顯示在線幫助文檔。李洪潤:排行榜全部。付強(qiáng):下棋、經(jīng)典棋局的回放。沈婷玉:構(gòu)造函數(shù)、初始化所有數(shù)據(jù)、析構(gòu)函數(shù)。尚振興:負(fù)責(zé)文檔規(guī)劃。周彤姣:文件的保存和讀取。付鈺:技術(shù)支持。(7)項目進(jìn)度:1-3天:前期準(zhǔn)備,各類資料收集,流程圖,算法等同時完成。4-7天:實現(xiàn)基本功能和附加功能。8-10天:最后測試,最后優(yōu)化。(各類文檔的設(shè)計與編寫穿插于始終)-7-《軟件技術(shù)基礎(chǔ)》項目報告二、技術(shù)路線游戲的簡單流程如下圖:否判斷是否贏是否進(jìn)排行榜是否保存是a.實現(xiàn)玩家的類Player。其中實現(xiàn)各個成員變量的set和get方法,以及構(gòu)造和析構(gòu)函數(shù)。b.實現(xiàn)五子棋的類。其中實現(xiàn)各個功能的函數(shù)如下:1.開始游戲:開始、下棋、悔棋、認(rèn)輸、保存voidstartGame();2.顯示幫助文檔voidshowHelp();3.顯示版權(quán)voidshowEdition();4.顯示棋盤voidshowChessBoard();5.顯示在線在幫助文檔voidshowOnlineHelp();-8-《軟件技術(shù)基礎(chǔ)》項目報告6.顯示菜單voidshowMenu();7.播放歷史棋局voidmovieGoBang();8.讀取排行榜voidsetWinnerHome();9.顯示排行榜voidshowWinnerHome();10.修改排行榜voideditWinnerHome(Player&player);11.保存歷史記錄、保存經(jīng)典、繼續(xù)intsaveHD(char*arr);12.讀取歷史記錄、讀取經(jīng)典、繼續(xù)intloadHD(char*arr);13.鼠標(biāo)模擬1.voidmonitor();2.boolagree(inta);14.悔棋voidrepent();15.判斷五子連線boolfun();16.顯示已保存文檔、有經(jīng)典文檔和繼續(xù)文檔intshowSave(intchoice);-9-《軟件技術(shù)基礎(chǔ)》項目報告三、工程進(jìn)度本次作業(yè)歷時十天時間,總的說起來可以分為三個部分:前期準(zhǔn)備部分(第主要完成方案的討論、資料的收集、流程圖、算法等前期工作,編寫報告中需求分析的一部分和總體方案的一部分及項目任務(wù)書。第1第2-3天:商定算法,將軟件總體分塊,寫出項目任務(wù)書。的剩余部分,完成調(diào)試報告中的單功能調(diào)適。第4天:開始軟件編寫,完成棋盤的設(shè)計部分。完成下棋部分程序的編寫,測試棋盤設(shè)計部分。完成悔棋部分程序的編寫,測試下棋部分程序。第5-6天:完成兩人對弈部分程序的編寫,測試基本功能,測試悔棋部分。第7天:完成附加功能,測試對弈部分情況。完善各項功能,測試附加功能??傮w功能的調(diào)試改進(jìn),完成項目文檔。第8天:功能調(diào)試,優(yōu)化軟件。第9-10天:其它報告剩余部分。-10-《軟件技術(shù)基礎(chǔ)》項目報告四、測試報告第4測試人:程德武基本面貌,希望其是符合我們要求的界面模式!測試過程:運(yùn)行程序以后,彈出了棋局的對話框,整體棋局呈現(xiàn)白色,棋局右邊和程中我們始終發(fā)現(xiàn)一個問題,棋格的位圖沒有按照我們的設(shè)想正確放置,出現(xiàn)了躍出棋盤的怪現(xiàn)象!問題解決:通過反復(fù)推敲程序相關(guān)部分,我們覺得可能是算法有疏漏,于是修改了一下算法。我們將每個棋格的位圖封裝了起來,將其位置作為成員數(shù)據(jù)。再運(yùn)行程序,問題就不再出現(xiàn)了。反復(fù)運(yùn)行程序再也沒有出現(xiàn)異常情況!第5測試人:佟承雨弈功能!測試過程:將程序編譯、鏈接、運(yùn)行后,彈出棋局的對話框,然后開始下棋,我們欣喜,這說明我們設(shè)計下棋程序時的算法準(zhǔn)確無誤!-11-《軟件技術(shù)基礎(chǔ)》項目報告第6測試人:沈婷玉測試內(nèi)容:測試悔棋功能能否正常實現(xiàn)。測試過程:我們測試了悔棋功能,反復(fù)的測試,此功能運(yùn)行良好,能夠一步一步悔棋,直到無子可悔,而且通過記錄觀察,每步的悔棋過程均準(zhǔn)確無誤!第7測試人:李洪潤測試內(nèi)容:我們對排行榜,經(jīng)典棋局回放功能進(jìn)行了測試測試過程:我們開始游戲后,正常下棋取得勝利后,程序默認(rèn)將勝方步數(shù)與排行榜中已存在的玩兒家步數(shù)進(jìn)行比較,滿足條件則進(jìn)入排行榜,否則不進(jìn)入。如果是前五次回放一步,經(jīng)測試無異常。第測試人:崔廣浩測試內(nèi)容:我們將在總體上對程序的運(yùn)行效果和運(yùn)行環(huán)境進(jìn)行測試,以完善所有功能,達(dá)到軟件的最優(yōu)化!測試過程:首先我們測試了軟件對運(yùn)行環(huán)境的要求,我們先在Windowsxp操作系統(tǒng)中運(yùn)行了一遍,結(jié)果并無異常情況出現(xiàn);隨后我們在CPU只有1GHz頻率的硬件系統(tǒng)中運(yùn)行,也并未發(fā)現(xiàn)任何問題!我們基本上可以得出結(jié)論,我們的軟件在一般的軟、硬件環(huán)境下都能正常穩(wěn)定地運(yùn)行,對機(jī)子的配置基本沒有什么要求,適合于廣大的電腦擁有者使用!-12-《軟件技術(shù)基礎(chǔ)》項目報告五、個人小結(jié)通過本次五子棋程序的設(shè)計,我想我學(xué)到了很多東西。我主要是負(fù)責(zé)大報告的設(shè)計VC++編寫程辛苦的幫助我調(diào)試程序,我們參考了很多的資料,像我們《軟件基礎(chǔ)》大作業(yè)中的優(yōu)秀資源,是我在本次大作業(yè)中學(xué)到得很寶貴的經(jīng)驗,對于網(wǎng)絡(luò),我們懂得了不只要用它來實現(xiàn)低級的聊天、看電影、打游戲等功能,我們還要實現(xiàn)獲取有用的信息、學(xué)習(xí)別人先進(jìn)的方法、查閱相關(guān)的電子資料等功能,充分發(fā)揮它的作用。我們這次的作品,雖然只是一個比較簡單游戲的實現(xiàn),但是通過這次合作,我也有很大的收獲。雖然是一個小組,但每個人有不同的看問題的方法,我們在做這個軟件的時候,大家也曾有過意見的分歧,我們也曾因為預(yù)期的功能沒有實現(xiàn)而互相指責(zé),也曾為有一點小小的進(jìn)步而欣喜若狂。一路風(fēng)風(fēng)雨雨,我們畢竟是基本完成了預(yù)期的功能,努力沒有白費(fèi),心里特別的充實,這就是創(chuàng)造的快樂,也是合作的快樂。我還編寫了大作業(yè)的文檔,由于自身能力的有限,我雖然竭盡全力,但總的感覺還是不能讓我滿意,不過,我也從中學(xué)到了一些東西:總的說來,這次作業(yè)中我鍛煉了自己的能力,也培養(yǎng)了團(tuán)隊合作的精神,感謝我的隊友!感謝老師!感謝生活!——尚振興VC++語言來語法的繁瑣,在實現(xiàn)很多功能的實現(xiàn)中花費(fèi)了不少力氣。但是由于知識水平的缺乏,無法使用Delphi,flash等更簡便的手段來實現(xiàn)功能,希望以后可以彌補(bǔ)這一點。其次,缺乏完成大工程的經(jīng)驗,沒有建立一個有效可行的工作計劃。在工作中時而通宵奮戰(zhàn),時而停頓不前,既浪費(fèi)了寶貴的時間,也耗費(fèi)了大量精力,實在得不償失。但值得注意的是,在軟件的開發(fā)中,我也學(xué)到了很多書本上學(xué)不到的經(jīng)驗。首先,我使用了別人開發(fā)的思想,雖然開始很不習(xí)慣,但是上手之后就深深的體會到模塊化開的益處。-13-《軟件技術(shù)基礎(chǔ)》項目報告合默契,共同商討問題,使我們在碰到一個一個的問題后,能快速找到相關(guān)的答案。難能可貴的是,在軟件制作最緊張的時候,大家都義無反顧地放棄了一點休息時間,和團(tuán)隊一起堅持奮斗!所以通過這次實驗的合作,我們小組成員之間更加增進(jìn)了了解,增進(jìn)了團(tuán)結(jié)!——崔光浩六、主要算法以下時詳細(xì)算法中提到的主要函數(shù),其他函數(shù)在程序中。1五子棋的勝負(fù),在于判斷棋盤上是否有一個點,從這個點開始的右、下、右下、左下四個方向是否有連續(xù)的五個同色棋子出現(xiàn),判斷勝負(fù)方向如下圖boolGobang::fun(inta,intb){intarr[8][2]={{-1,-1},{1,1},{-1,0},{1,0},{-1,1},{1,-1},{0,1},{0,-1}};inti;intsum=0;for(i=0;i<8;i+=2)-14-《軟件技術(shù)基礎(chǔ)》項目報告{sum=1;intA=a+arr[i][0];intB=b+arr[i][1];while(A>=0&&A<=N&&B>=0&&B<=N&&chessBoard[A][B]==chessBoard[a][b]){A+=arr[i][0];B+=arr[i][1];sum++;}A=a+arr[i+1][0];B=b+arr[i+1][1];while(A>=0&&A<=N&&B>=0&&B<=N&&chessBoard[A][B]==chessBoard[a][b]){A+=arr[i+1][0];B+=arr[i+1][1];sum++;}if(sum>=5)returntrue;}returnfalse;}-15-《軟件技術(shù)基礎(chǔ)》項目報告2voidGobang::monitor(){charch=getch();switch(ch){case'w':case'W':getMonitor=0;break;case'a':case'A':getMonitor=1;break;case's':case'S':getMonitor=2;break;case'd':case'D':getMonitor=3;break;case'j':case'J':getMonitor=4;-16-《軟件技術(shù)基礎(chǔ)》項目報告break;case'

溫馨提示

  • 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

提交評論