freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

五子棋游戲的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(參考版)

2025-07-01 17:20本頁面
  

【正文】 [4] 潘愛民:《Microsoft Visual C++.NET 技術(shù)內(nèi)幕(第6版)》,清華大學(xué)出版社,1999年10月. [5] 汪曉平、鐘軍:《Visual C++網(wǎng)絡(luò)通信協(xié)議分析與應(yīng)用實(shí)現(xiàn)》,人民郵電出版社,2001年1月. [6] 劉宗田、邢大紅、孫慧杰:《C++編程思想》,機(jī)械工業(yè)出版社,2002年10月.[7] Jesse Liberty著:《21天學(xué)通C++》,人民郵電出版社,2003年5月. [8] 侯捷、孟巖:《C++標(biāo)準(zhǔn)程序庫(kù)》,華中科技大學(xué)出版社,2006年11月. [9] Charles Petzold:《Windows程序設(shè)計(jì)》,北京大學(xué)出版社,2002年1月. [10] 易君:《Visual C++.NET網(wǎng)絡(luò)編程》,中國(guó)鐵道出版社,2003年5月.[11] 李英軍:《深入淺出MFC(第2版)》,機(jī)械工程出版社,2001年2月. [12] 王詠剛:《MSDN for Visual Studio 》,電子工業(yè)出版社,2003年6月.[13]朱戰(zhàn)立,《數(shù)據(jù)結(jié)構(gòu)—使用c語言》西安交通大學(xué)出版社,2005年1月. [14]王為青 劉變紅《C語言高級(jí)編程實(shí)例剖析》人民郵電出版社1996年. 第 26 頁 共 26 頁。但愿人長(zhǎng)久,情誼存永遠(yuǎn)。本篇論文從選題到答辯完成,所有的步驟都有導(dǎo)師的功勞,導(dǎo)師細(xì)細(xì)地講解了每一步的要點(diǎn)要求,傾注了大量的汗水。還有我要感謝那些與我一起走過這四年的人,感謝陪伴了我四年的同學(xué)、朋友,感謝你們的陪伴和你們?yōu)槲姨岢龅慕ㄗh與意見,你們的支持、鼓勵(lì)還有幫助,讓我度過了一個(gè)充實(shí)的大學(xué)四年。感謝他能在百忙之中擠出時(shí)間來審查,批閱我的論文。四年里我們學(xué)會(huì)了很多,比如如何更好的把自己學(xué)到的知識(shí)應(yīng)用于實(shí)際,如何更好的與他人相處,如何更好的待人接物,還有很多或許是你自己都沒有發(fā)現(xiàn)的,但確實(shí)已經(jīng)改變的地方,這四年我們每個(gè)人都有了一顆玲瓏心,雖不能面面俱到,但已經(jīng)可以處理一些不是特別繁瑣的事情。有時(shí)候當(dāng)你遇到你無法解決的困難時(shí),你需要打破常規(guī)方法,另辟蹊徑,從其他角度多番嘗試,總會(huì)有方法實(shí)現(xiàn)的。在此次畢業(yè)設(shè)計(jì)中,我意識(shí)到把理論知識(shí)轉(zhuǎn)化成實(shí)際操作的重要性,因?yàn)榧词鼓阍僭趺床W(xué),如果無法轉(zhuǎn)換成實(shí)際的成果,別人就不會(huì)知道你,認(rèn)可你。}經(jīng)過幾個(gè)月的努力實(shí)驗(yàn),終于及時(shí)完成了本次的畢業(yè)設(shè)計(jì)與論文,至此已經(jīng)完成了任務(wù)書的全部要求,成功的實(shí)現(xiàn)了游戲的開始,游戲的設(shè)置與游戲幫助等問題。 } } gotoxy(0,0)。 getch()。 if(color==1) MessageBox(GetHWnd(), 白棋贏!, 注意!, MB_OK)。 printf( )。 !regret) {// 有人贏 textcolor(TEXTS)。 } if(win(chessboard,(color+1) % 2) amp。 renew(chessboard,)。 } } else { // 如果沒有按熱鍵,則在光標(biāo)位置下子 chessboard[][].step=i++。 else if(i==2) { i=1。 // 如果按了退出熱鍵則返回 if(regret){ // 如果按了悔棋熱鍵則調(diào)用悔棋函數(shù) beback(chessboard,i)。 // 電腦走棋 renew(chessboard,lastx,lasty)。,amp。 lasty=。 // 清空悔棋標(biāo)志 if(i1){ // 第一子必須下在棋盤中央 if(color!=puter || human) getmove(chessboard)。 else printf(白棋下)。 printf( 第%03d手,,i)。) { // 行棋主循環(huán) gotoxy(0,0)。 // 打印棋盤 for(i=1。 // 清屏 printf(\n)。 // 光標(biāo)居中 quit=false。 =7。j15。i15。 case 3:return。 defenttrend=2。 case 2: puter=1。 defenttrend=1。 // 選擇誰是先手 switch(getchoose(1,3)) { case 1: puter=0。 // 電腦執(zhí)黑還是執(zhí)白 NODE chessboard[15][15]={{0,0}}。 // 黑棋先走 int lastx,lasty。 system(mode con cols=44 lines=22)。 } } }bool vshuman。 //對(duì)手是人 case 3: printf(\n)。 //對(duì)手是計(jì)算機(jī) case 2:Vs(true)。 // 輸出主菜單 switch(getchoose(1,3)) { case 1:Vs(false)。 // 初始化隨機(jī)種子 for(。具體實(shí)現(xiàn)程序如下(僅部分主要代碼):void main(){// 主函數(shù) system(title 歡樂五子棋 ——王勇制作)。每個(gè)模塊程序編寫完成之后相互之間是獨(dú)立的,需要把它們按邏輯結(jié)構(gòu)聯(lián)系在一起,以形成一個(gè)整體,使之可以運(yùn)行完善由。 // 如果下了225步還沒人贏棋則平局 MessageBox(GetHWnd(), 和棋!, 注意!, MB_OK)。 return。 else MessageBox(GetHWnd(), 黑棋贏!, 注意!, MB_OK)。 gotoxy(0,0)。 gotoxy(0,0)。amp。當(dāng)棋盤上有棋子落下以后,電腦需立即判斷是否已經(jīng)產(chǎn)生輸贏,如果沒有產(chǎn)生輸贏則在棋盤動(dòng)態(tài)信息顯示處顯示該黑(或白)方下子,如果已經(jīng)產(chǎn)生輸贏則在盤動(dòng)態(tài)信息顯示處顯示白(或黑)方勝利!此時(shí)按任意鍵即可重新開始游戲。 color=(color+1) % 2。 if(i2) i=2。具體實(shí)現(xiàn)程序如下(僅部分主要代碼): if(quit) return。 *y=maxj。 maxj=j。 // 選擇后面的點(diǎn),則幾率權(quán)值回復(fù) max=value[i][j]。} else if(max= =value[i][j]){ // 如果出現(xiàn)相同價(jià)值的最大點(diǎn) if(rand()%(probability+1)probability) // 隨機(jī)決定選取哪一個(gè) probability++。 maxj=j。/*棋盤上某一點(diǎn)的最終價(jià)值為棋盤上該點(diǎn)的防守總價(jià)值乘以防守指數(shù)加上該點(diǎn)的的進(jìn)攻總價(jià)值乘以進(jìn)攻指數(shù)*/ if(maxvalue[i][j]) { max=value[i][j]。j15。i15。 defenttrend=2。 defenttrend=1。 if(maxjvaluedefent[i][j]) maxj=valuedefent[i][j]。k8。j++) { if(chessboard[i][j].step0) continue。i++) // 計(jì)算棋盤上各點(diǎn)的進(jìn)攻價(jià)值 for(j=0。 // 記錄防守價(jià)值的最大值 } for(i=0。k++) valuedefent[i][j]+=value_qx1(chessboard,i,j,k,color)。 for(k=0。j15。i15。 // 棋盤上各點(diǎn)的進(jìn)攻價(jià)值 int valuedefent[15][15]={{0}}。 // 幾率參數(shù) int value[15][15]={0}。 // 價(jià)值最大值所對(duì)應(yīng)的坐標(biāo) int i,j,k。 } void AI(NODE chessboard[][15], int *x, int *y, int color){ // AI的主要函數(shù),將思考后的結(jié)果返回給*x和*y int max=0。i++) if(macth2(chessboard,x,y,dirt,i,color)) return qx2[i].value。 for(i=0。 } return true。) continue。 qx2[kind].qx[k]==39。 amp。 if(c==39。 else c=39。 else if(chessboard[x][y].step0) c=39。 chessboard[x][y].color==color) c=39。 if(chessboard[x][y].step0 amp。 y+=direction[dirt][1]。(unsigned)kstrlen(qx2[kind].qx)。 y=direction[dirt][1]。k=pqx2[kind].qx。)。 p=strchr(qx2[kind].qx,39。 char c。 return 0。iqx1_num。 } int value_qx1(NODE chessboard[][15], int x, int y, int dirt, int color) { // 計(jì)算顏色為color的點(diǎn)8個(gè)方向上的防守權(quán)值之和 int i。 if(c!=qx1[kind].qx[k]) return(false)。x39。amp。039。039。139。239。amp。 if(!inside(x,y)) return(false)。k++) { x+=direction[dirt][0]。 } for(k=0。k++) { x=direction[dirt][0]。 for(k=0。x39。 char *p。 // 攻擊防御平衡權(quán)值 bool macth1(NODE chessboard[][15], int x, int y, int dirt, int kind, int color) {/* 匹配在顏色為color的點(diǎn)(x,y),在dirt方向上的第kind種防守棋形,成功返回true,否則返回false */ int k。本模塊采用的是評(píng)估權(quán)值的方法,當(dāng)電腦落子時(shí),首先調(diào)用防守棋型函數(shù),通過函數(shù)來計(jì)算棋盤上的所有位置的防守權(quán)值的大小,若防守值的最大值比較大時(shí),就在權(quán)值最大的位置落子,然后玩家落子,如此循環(huán),實(shí)現(xiàn)棋局的進(jìn)行,若是防守值的最大值比較小時(shí),就調(diào)用進(jìn)攻棋型函數(shù),然后,然后比較最大進(jìn)攻值與最大防守值的大小,在值比較大的位置落子,即為最優(yōu)落子位置,若是進(jìn)攻值與防守值大小相等,則優(yōu)先防守,即在防守值最大的位置落子[8]。本模塊采用的是評(píng)估權(quán)值的方法,當(dāng)電腦落子時(shí),首先調(diào)用進(jìn)攻棋型函數(shù),通過函數(shù)來計(jì)算當(dāng)黑子(電腦落子)落下后,該子所在位置的八個(gè)方向的權(quán)值大大小,若進(jìn)攻值的最大值比較大時(shí),就在權(quán)值最大的位置落子,然后玩家落子,如此循環(huán),實(shí)現(xiàn)棋局的進(jìn)行,若是進(jìn)攻值的最大值比較小時(shí),就調(diào)用防守棋型函數(shù),然后計(jì)算棋盤上的所有位置的防守權(quán)值的大小,然后比較最大進(jìn)攻值與最大防守值得大小,在值比較大的位置落子,即為最優(yōu)落子位置,若是進(jìn)攻值與防守值大小相等,則優(yōu)先進(jìn)攻,即在進(jìn)攻值最大的位置落子。 textcolor(TEXTS)。 print
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1