中國象棋項目報告_第1頁
中國象棋項目報告_第2頁
中國象棋項目報告_第3頁
中國象棋項目報告_第4頁
中國象棋項目報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、小組項目報告模板項目名稱中國象棋完成時間2016/4/20版本號:V 1.1項目組長楊安東小組成員成員分工自評成績(A/B/C)楊安東(軟1506)設(shè)計類、代碼實現(xiàn) A闕建明(軟1506)設(shè)計類、代碼實現(xiàn)、程序調(diào)試、bug修改 A劉金池(軟1506)設(shè)計類、代碼實現(xiàn)、UML圖、程序調(diào)試 A劉健良(軟1506)設(shè)計類、代碼實現(xiàn)、程序調(diào)試 A需求分析 一款能夠控制棋子移動、擁有判別棋子走法是否符合規(guī)則、人機對弈等功能。概要設(shè)計功能測試源碼地址:項目小結(jié)在項目分析設(shè)計及類結(jié)構(gòu)構(gòu)建的過程中發(fā)現(xiàn)有多種方式實現(xiàn)棋盤和棋子的關(guān)聯(lián)(將棋盤的每個位置都置為棋子,實際有子的賦予顏色和名稱,其它為空子;或者在棋子中

2、添加Point屬性,記錄其位置.但是發(fā)現(xiàn)很多都與現(xiàn)實中的對弈有很大差別)經(jīng)過一番討論之后我們決定將棋盤的每個位置都設(shè)為Chess類的指針,其上無子時為空指針,有子時指向確定子。在排版輸出時發(fā)現(xiàn)兩方棋子區(qū)分度不高,一開始我們采用紅方均用繁體字,黑方軍用簡體字的方式,但發(fā)現(xiàn)還是不好辨認(rèn),且炮并沒有對應(yīng)的繁體字,后來利用百度找到了改變輸出顏色的方法,完善了一下互動界面。在老師的建議下我們將Player改為抽象類,派生出了Person_player和AI_player,為AI預(yù)留了接口,還咋其中添加了記錄玩家剩余棋子數(shù)的成員變量等完善用戶體驗。個人感悟:闕建明:在項目開始之間并沒有想過會那么快實現(xiàn),雖

3、然沒有添加上AI,但我相信隨著學(xué)習(xí)的深入我們還可以進(jìn)一步改進(jìn)。從這次的項目開發(fā)過程中我體會到前期設(shè)計的重要性,一個優(yōu)秀的程序員并不僅局限于代碼實現(xiàn)能力,還在與前期的需求分析,項目框架的設(shè)計及程序的可擴展性設(shè)計。在前期討論的時候我們進(jìn)行了分工,在明確自己要做什么的情況下程序?qū)崿F(xiàn)的進(jìn)度快了許多,這讓我體會到團隊分工所帶來的效率,如何合理的分配工作看來也是一個團隊leader所必備的品質(zhì)。在第一次項目報告提交后老師對我們的成果給予了一定的肯定,也指出了我們的很多不足,我發(fā)現(xiàn)我們的設(shè)計中還是有很多的局限性和不可擴展性,也忽視了很多用戶體驗方面的優(yōu)化,如果這是一個成型的產(chǎn)品或許我們就要體驗一番因為用戶該

4、需求就整個程序重頭再來的悲劇了,這讓我再一次感受到前期設(shè)計的重要性。下次再做項目的時候一定要多花時間和隊友們認(rèn)真分析需求,全面地考慮代碼復(fù)用性、程序的可擴展性及用戶的體驗,盡量讓設(shè)計出的代碼易于維護,易于優(yōu)化。楊安東:在作業(yè)的計劃階段,大家坐在一起進(jìn)行了討論,為了高效率,在討論時我們依次發(fā)言,選定題目為雙人象棋,具體實現(xiàn)首先面臨的是分類問題,棋盤類,玩家類,棋類,根據(jù)實際情況,將棋盤設(shè)定為棋的二維指針數(shù)組,棋的屬性包含棋的行走方法和以棋為原點的可走位置。玩家包含移動棋子和吃子。在過程中體會到,團隊合作的高效率需要聆聽的心,團隊合作的力量是巨大的,從計劃到完成,一共花費8個小時。團隊合作也是快樂

5、的,可以體會到配合之間的和諧與碰撞。這次大作業(yè)給了我一次珍貴的經(jīng)驗與回憶。劉金池: 以前沒接觸過UML類圖,所以首先參考了大象:Thinking in UML,掌握了基本的概念和UML圖的格式符號,然后下載了umlstar,上網(wǎng)看完教程后開始制作,發(fā)現(xiàn)成員函數(shù)及參數(shù)設(shè)置非常不方便,表示繼承關(guān)系時有些線對不齊,上貼吧發(fā)帖求救,被建議換一個軟件,于是采用了微軟的Visio繪圖,再次上網(wǎng)看了教程,生成項目后設(shè)置成員函數(shù)和參數(shù)變得容易很多,做完圖后發(fā)現(xiàn)表示繼承時折線對不齊等問題嚴(yán)重影響UML圖的美觀,而且出現(xiàn)了新問題:不能表示虛函數(shù),于是在知乎上提問,一些有經(jīng)驗的人推薦我使用Enterprise Ar

6、chitect,這個軟件就很專業(yè)了,表示繼承關(guān)系時折線問題解決了(自動對齊),子類繼承時布局也美觀了很多,虛函數(shù)也可以設(shè)置成斜體,于是類圖就做好了。 收獲:一、討論和分工很重要,我負(fù)責(zé)編的基類和派生類,開始的時候Chess類沒設(shè)置judge函數(shù),而是放到派生類中定義,調(diào)用時非常不方便,給隊友編寫move函數(shù)帶來不便,于是就在Chess類中定義了虛函數(shù),使用很方便。體會到好的方法會帶來的便捷。二、通過敲代碼加深了我對C+封裝性和多態(tài)性的理解,寫代碼能力得到了提升。三、學(xué)到了一些基本UML知識,并且會用軟件制作簡單的UML圖,有一些圖還是不會做比如行為模型、狀態(tài)圖、活動圖,這次做圖歷時一深刻體會到了好的軟件帶來了極大的便捷,第一次用umlstar是花了兩個小時才做完,后來用Enterprise Architect時只用了半小時,圖片還更美觀。我的自學(xué)能力得到了提高。劉健良: C+大作業(yè)的主要內(nèi)容是設(shè)計一款游戲,由于剛開始只想到了設(shè)計方面,所以并沒有考慮代碼實現(xiàn)。后來發(fā)現(xiàn)需要代碼的實現(xiàn)而工作量又比較大之后,最好的選擇便是組成小組,共同完成。由于我加入得較晚,并沒有參與前期的討論,對游戲類型的選定與分工沒有很多參與,只是在各個方面都幫忙,特別是代碼的細(xì)節(jié)。不過受自身能力所限,一些較為困難的部分依舊要依靠隊友。關(guān)于游戲方面,主要便是棋盤類

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論