版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、-. z黑白棋C語言程序編輯#includegraphics.h/*圖形系統(tǒng)頭文件*/#defineLEFT0*4b00/*光標(biāo)左鍵值*/#defineRIGHT0*4d00/*光標(biāo)右鍵值*/#defineDOWN0*5000/*光標(biāo)下鍵值*/#defineUP0*4800/*光標(biāo)上鍵值*/#defineESC0*011b/*ESC鍵值*/#defineENTER0*1c0d/*回車鍵值*/inta88=0,key,score1,score2;/*具體分?jǐn)?shù)以及按鍵與存放棋子的變量*/charplayone3,playtwo3;/*兩個人的得分轉(zhuǎn)換成字符串輸出*/voidplaytoplay(v
2、oid);/*人人對戰(zhàn)函數(shù)*/voidDrawQp(void);/*畫棋盤函數(shù)*/voidSetPlayColor(int*);/*設(shè)置棋子第一次的顏色*/voidMoveColor(int*,inty);/*恢復(fù)原來棋盤狀態(tài)*/intQpChange(int*,inty,intz);/*判斷棋盤的變化*/voidDoScore(void);/*處理分?jǐn)?shù)*/voidPrintScore(intn);/*輸出成績*/voidplayWin(void);/*輸出勝利者信息*/*主函數(shù)*/voidmain(void)intgd=DETECT,gr;initgraph(&gd,&gr,c:tc);/*
3、初始化圖形系統(tǒng)*/DrawQp();/*畫棋盤*/playtoplay();/*人人對戰(zhàn)*/getch();closegraph();/*關(guān)閉圖形系統(tǒng)*/voidDrawQp()/*畫棋盤*/inti,j;score1=score2=0;/*棋手一開場得分都為0*/setbkcolor(BLUE);for(i=100;i=64-score1-score2)/*如果嘗試超過空格數(shù)則停步*/MoveColor(*,y);fillellipse(*,y,15,15);break;elsecontinue;/*如果按鍵無效*/DoScore();/*分?jǐn)?shù)的改變*/break;/*棋盤變化了,則輪對方走
4、棋*/else/*已經(jīng)有棋子就繼續(xù)按鍵*/continue;else/*四個方向按鍵的判斷*/if(key=LEFT&*120)/*左方向鍵*/MoveColor(*,y);fillellipse(*,y,15,15);SetPlayColor(t);*-=40;fillellipse(*,y,15,15);elseif(key=RIGHT&*80)/*右方向鍵*/MoveColor(*,y);fillellipse(*,y,15,15);SetPlayColor(t);*+=40;fillellipse(*,y,15,15);elseif(key=UP&y120)/*上方向鍵*/MoveCo
5、lor(*,y);fillellipse(*,y,15,15);SetPlayColor(t);y-=40;fillellipse(*,y,15,15);elseif(key=DOWN&y400)/*下方向鍵*/MoveColor(*,y);fillellipse(*,y,15,15);SetPlayColor(t);y+=40;fillellipse(*,y,15,15);if(key=ESC)/*完畢游戲*/break;if(score1+score2)=64|score1=0|score2=0)/*格子已經(jīng)占滿或一方棋子為0判斷勝負(fù)*/playWin();/*輸出最后結(jié)果*/break;
6、t=t%2+1;/*一方走后,改變棋子顏色即輪對方走*/cc=0;/*計數(shù)值恢復(fù)為0*/*endwhile*/voidSetPlayColor(intt)/*設(shè)置棋子顏色*/if(t%2=1)setfillstyle(SOLID_FILL,15);/*白色*/elsesetfillstyle(SOLID_FILL,8);/*灰色*/voidMoveColor(int*,inty)/*走了一步后恢復(fù)原來格子的狀態(tài)*/if(y100)/*如果是從起點出發(fā)就恢復(fù)藍(lán)色*/setfillstyle(SOLID_FILL,BLUE);else/*其他情況如果是1就恢復(fù)白色棋子,2恢復(fù)黑色棋子,或恢復(fù)藍(lán)色棋
7、盤*/switch(a(*-120)/40(y-120)/40)case1:setfillstyle(SOLID_FILL,15);break;/*白色*/case2:setfillstyle(SOLID_FILL,8);break;/*黑色*/default:setfillstyle(SOLID_FILL,BLUE);/*藍(lán)色*/intQpChange(int*,inty,intt)/*判斷棋盤的變化*/inti,j,k,kk,ii,jj,yes;yes=0;i=(*-120)/40;/*計算數(shù)組元素的行下標(biāo)*/j=(y-120)/40;/*計算數(shù)組元素的列下標(biāo)*/SetPlayColor(
8、t);/*設(shè)置棋子變化的顏色*/*開場往8個方向判斷變化*/if(j6)/*往右邊*/for(k=j+1;k8;k+)if(aik=aij|aik=0)/*遇到自己的棋子或空格完畢*/break;if(aik!=0&k8)for(kk=j+1;kkk&k1)/*判斷左邊*/for(k=j-1;k=0;k-)if(aik=aij|!aik)break;if(aik!=0&k=0)for(kk=j-1;kkk&k=0;kk-)aikk=aij;fillellipse(120+i*40,120+kk*40,15,15);if(kk!=j-1)yes=1;if(i6)/*判斷下邊*/for(k=i+1
9、;k8;k+)if(akj=aij|!akj)break;if(akj!=0&k8)for(kk=i+1;kkk&k1)/*判斷上邊*/for(k=i-1;k=0;k-)if(akj=aij|!akj)break;if(akj!=0&k=0)for(kk=i-1;kkk&k=0;kk-)akkj=aij;fillellipse(120+kk*40,120+j*40,15,15);if(kk!=i-1)yes=1;if(i1&j=0&kk=0&kkk&k=0;ii-,jj+)aiijj=aij;fillellipse(120+ii*40,120+jj*40,15,15);if(ii!=i-1)y
10、es=1;if(i1)/*左下*/for(k=i+1,kk=j-1;k=0;k+,kk-)if(akkk=aij|!akkk)break;if(akkk!=0&k=0)for(ii=i+1,jj=j-1;iik&k1&j1)/*左上*/for(k=i-1,kk=j-1;k=0&kk=0;k-,kk-)if(akkk=aij|!akkk)break;if(akkk!=0&k=0&kk=0)for(ii=i-1,jj=j-1;iik&k=0;ii-,jj-)aiijj=aij;fillellipse(120+ii*40,120+jj*40,15,15);if(ii!=i-1)yes=1;if(i6&j6)/*右下*/for(k=i+1,kk=j+1;kk8&kk8;k+,kk+)if(akkk=aij|!akkk)break;if(akkk!=0&kk8&k8)for(ii=i+1,jj=j+1;iik&k8;ii+,jj+)aiijj=aij;fillellipse(120+ii*40,120+jj*40,15,15);if(ii!=i+1)yes=1;returnyes;/*返回是否改變過棋子顏色的標(biāo)記*/voidDoScore()/*處理分?jǐn)?shù)*/inti,j;score1=s
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- CCAA - 2015年03月建筑施工領(lǐng)域?qū)I(yè)答案及解析 - 詳解版(70題)
- 河北省保定市六校聯(lián)考2025-2026學(xué)年高一上學(xué)期1月期末考試語文試題(含答案)
- 2025-2026學(xué)年學(xué)年度第一學(xué)期期末質(zhì)量監(jiān)測高二英語科試題(含答案)
- 養(yǎng)老院消防演練制度
- 養(yǎng)老院定期體檢制度
- 智能垃圾桶生產(chǎn)建設(shè)項目環(huán)評報告
- 老年終末期跌倒預(yù)防的多靶點干預(yù)策略
- 冷空氣影響期間交通安全管理規(guī)定
- 2025年阜陽潁上縣城鄉(xiāng)水務(wù)有限公司招聘考試真題
- 海鹽采收工安全宣傳水平考核試卷含答案
- 2026貴州省省、市兩級機關(guān)遴選公務(wù)員357人考試備考題庫及答案解析
- 手術(shù)區(qū)消毒和鋪巾
- 兒童心律失常診療指南(2025年版)
- 北京通州產(chǎn)業(yè)服務(wù)有限公司招聘備考題庫必考題
- (正式版)DBJ33∕T 1307-2023 《 微型鋼管樁加固技術(shù)規(guī)程》
- 2026年基金從業(yè)資格證考試題庫500道含答案(完整版)
- 2025年寵物疫苗行業(yè)競爭格局與研發(fā)進(jìn)展報告
- 綠化防寒合同范本
- 2025年中國礦產(chǎn)資源集團(tuán)所屬單位招聘筆試參考題庫附帶答案詳解(3卷)
- 氣體滅火系統(tǒng)維護(hù)與保養(yǎng)方案
- GB/T 10922-202555°非密封管螺紋量規(guī)
評論
0/150
提交評論