QT五子棋游戲設計課程設計報告_第1頁
QT五子棋游戲設計課程設計報告_第2頁
QT五子棋游戲設計課程設計報告_第3頁
QT五子棋游戲設計課程設計報告_第4頁
QT五子棋游戲設計課程設計報告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2013-2014學年秋季學期《Windows程計》課告學 院: 計與院序 號: 56姓 名: 周雷學 號: 2232指師: 王安慧完成時間 2014年05月29日0目錄一、課程設計的目的.0課程設計的內容及要求.0關鍵技術及相關原理介紹.0系統(tǒng)的總體設計.1設計思路及關鍵問題的解決方法2設計模塊分類.31.塊32.塊...53.塊...6判斷輸贏模塊.6判斷命令模塊10運行結果截屏.120一、課程設計的目的棋始。復好及。二、課程設計的內容及要求功。用QT軟,使用C+。三、關鍵技術及相關原理介紹屬。統(tǒng)判。了QT進設對界較理和。0四、系統(tǒng)的總體設計統(tǒng)入塊 斷塊 出塊命塊 輸塊是是是否否否悔從退棋新出開始圖1:系統(tǒng)功能模塊圖圖1是系統(tǒng)的總體模塊圖,依據(jù)系統(tǒng)的不同功能包含3模的。1五、設計思路及關鍵問題的解決方法設計過程說明:開始示盤手棋OO五否 棋連YES了結束圖2:圖圖2析。首先只能進行“人人對戰(zhàn),有玩家自己決定誰先手,然后輸入棋子位置后系統(tǒng)“標簽的形式將棋子顯示在棋盤上在下棋后系統(tǒng)會開始判斷用戶是否有“五子相連(遵守五子棋的游戲規(guī)則,如果有五個棋子相連說明用戶獲勝,這時候系統(tǒng)會提示“你獲勝了。主要靠判斷模塊判斷是否有獲勝的當然在判斷后可以悔棋系統(tǒng)會自動回到前一步。2六、設計模塊分類基本分為:輸入模塊、輸出模塊、判斷模塊1.輸入模塊將用戶輸入的數(shù)據(jù)記錄,并輸入給程序。錄。:tdMw::mon(Qt*){tt=1;x;x(x/0*0;y;y(y/0*0;f(r[y/0[x/50]=1||cr[y/50[x/0=2;/簽e{l[j[1=wQl(ts);f(1+p%2==0){l[j[1(x,y,50,50;l[j[1(":");r[y/0[x/50]=1;f(n=0)l[j[1;f(1=9{j;}}e{l[j[1(x,y,50,50;l[j[1(":");r[y/0[x/50]=2;f(n=0)l[j[1;f(j1==9){j;}3}k=check(color[j][j1],y/50,x/50);if(k==1){player=newQMediaPlayer();player->setMedia(QUrl::fromLocalFile("/E:/qt_data/music/勁樂團-卡.mp3));player>play();QMessageBoxwarninthi,tr"haha",tr" 你 獲 勝啦!)QMessageBoYe);wi=1;}i(j=9)j=0;elsej++;}}42.輸出模塊。主要是棋盤函數(shù)以及棋子的顯示,這里棋子用“標簽”顯示。圖3:棋子圖3用QT成面子盤格不網(wǎng)格線叉。棋部碼:tvdMandw::paintEven(Qnt*e)//棋函數(shù){tQierpie(ths);pnrtn(Qt::blck);fr(i=0;i<=10;i++){pnrai(0,50*i,500,50*i);}fr(i=0;i<=10;i++){pnrai(50*i,0,50*i,500);}}53.判斷模塊判斷模塊分為判斷命令模塊和判斷輸贏模塊。判斷輸贏模塊判斷輸贏模塊是整個程序的核心部分它的主要功能是實現(xiàn)對五子棋的輸贏的判斷。開始下棋四個方向判斷是否有五條上YES平O換戶 YES直O(jiān)YES上OO YES下贏圖4:判斷輸贏模塊流程圖 結束6判斷輸贏模塊的具體工作原理由圖4可以清晰直觀的看到。棋上五后。系水示子斜戶。程。:tMw:(it,it,itp)/連{l=1;t;r(t=0<10-)/*橫連/{f(r=cr[{l;f(l=5)n1;}ek;};r(i-1;i=0;i-)/*橫連/{f(r=cr[{l;f(l=5)n1;}ek;};;l=1;r(i=0;i<0;i+)/*豎連/{f(r=cr[{7l++;if(l==5)return1;}elsebreak;}k=m;k1=p;for(i=m-1;i>=0;i--)/*豎向下判斷是否五子相連*/{if(color[k][p]==color[--k][k1]){l++;if(l==5)return1;}elsebrea;}k=m;k1=p;l=1;if(m<=9-p)t=m;elset=9-p;for(i=0;i<t;i++)/*13度向上判斷是否五子相*/{if(colo[m][p]=colo[--k][++k1]){l++;if(l==5)return1;}elsebrea;}k=m;k1=p;if(p<=9-m)t=p;elset=9-m;for(i=t-1;i>=0;i--)/*13度向下判斷是否五子相*/{if(color[m][p]=colo[++k][--k1]){l++;if(l==5)}else}k=m;k1=p;l=1;if(m<p)t=m;

return1;brea;8elset=p;for(i=0;i<t;i++)/*45度向上判斷是否五子相連*/{if(color[m][p]==color[--k][--k1]){l++;if(l==5)return1;}elsebreak;}k=m;k1=p;if(p<m)t=9-m;elset=9-p;for(i=t-1;i>=0;i--)/*4度向上判斷是否五子相*/{if(colo[m][p]=colo[++k][++k1]){l++;if(l==5)return1;}elsebreak;}if(l!=5)return0;}9判斷命令模塊主要是判斷退出、從新開始、悔棋。強:開始棋YES換戶 從開始?OOYES五子在線

獲勝YES O O棋 結束圖5圖圖5。果在會10,,用。:dw)/碼{l[j[1-1;r[y/0[x/0=0;f(p=0)p=1;

溫馨提示

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

評論

0/150

提交評論