版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第使用C語(yǔ)言實(shí)現(xiàn)三子棋小游戲ret=Is_over(a,ROW,COL);//判斷是否結(jié)束
if(ret!='N')//N這個(gè)字符表示繼續(xù)的意思
{
break;
}
}
if(ret=='*')
{
printf("用戶贏\n");
}
elseif(ret=='#')
{
printf("電腦贏\n");
}
elseif(ret='D')//D表示為平局
{
printf("平局\n");
}
show(a,ROW,COL);
intmain()
intinput=0;
do{
menu();
printf("請(qǐng)選擇-
");
scanf("%d",input);
switch(input)
{
case1:
game();
break;
case2:
printf("退出");
break;
default:
printf("不存在,請(qǐng)重新輸入");
break;
}
}while(input);
return0;
}
three_chress.h
#pragmaonce
#includestdio.h
#includestdlib.h
#includetime.h
#defineROW3
#defineCOL3
voidinit_a(chara[][COL],introw,intcol);//初始化
voidshow(chara[][COL],introw,intcol);//可視化
voidplay_move(chara[][COL],introw,intcol);//用戶下
voidcomputer_move(chara[][COL],introw,intcol);//電腦下
charIs_over(chara[][COL],introw,intcol);//判斷是否結(jié)束
intis_full(chara[][COL],introw,intcol);
二、那么游戲怎么進(jìn)行?我們要先實(shí)現(xiàn)這樣的邏輯:構(gòu)建二維數(shù)組并初始化顯示棋盤信息即可視化讓用戶走并顯示棋盤信息而且要立即判斷用戶是否贏,在判斷時(shí)候我們用字符N來(lái)取表示游戲繼續(xù),如果返回的不是N說(shuō)明游戲結(jié)束。如果沒贏讓電腦走并顯示棋盤信息且判斷電腦是否贏。最后我們用返回字符方式去判斷誰(shuí)贏或者平局。
三、把以上用到的邏輯用函數(shù)去一步一步實(shí)現(xiàn),重點(diǎn)說(shuō)幾個(gè)函數(shù):
1、在play_move函數(shù)里面需要注意的是,下棋所輸入的坐標(biāo)要先去判斷其合法性以及多重性也就是重復(fù)。之后再賦棋子。
2、在computer_move實(shí)現(xiàn)比較簡(jiǎn)單,讓電腦自動(dòng)走、隨機(jī)走,就要想到rand函數(shù),而rand函數(shù)又和srand函數(shù)有,再用他們的性質(zhì)讓是X,Y隨機(jī)生成0到2的值,去賦棋子即可。
3、而Is_over函數(shù)去判斷輸贏就是四種情況:用戶贏;電腦贏;平局;繼續(xù)。
直接比較四個(gè)方向上下兩個(gè)對(duì)角線上的每個(gè)位置是否相等,且不為空。再寫個(gè)判斷是否滿的函數(shù)去判斷是否是平局,最后返回繼續(xù)。這里面返回的都是字符。
如下代碼:
three_chree.c
#include"three_chress.h"
staticintis_full(chara[][COL],introw,intcol)
for(inti=0;irow;i++)
{
for(intj=0;jcol;j++)
{
if(a[i][j]=='')
{
return0;
}
}
}
return1;
voidinit_a(chara[][COL],introw,intcol)
inti=0;
for(i=0;irow;i++)
{
for(intj=0;jcol;j++)
{
a[i][j]='';
}
}
voidshow(chara[][COL],introw,intcol)
inti=0;
for(i=0;irow;i++)
{
for(intj=0;jcol;j++)
{
printf("%c",a[i][j]);
if(jcol-1)
{
printf("|");
}
}
printf("\n");
if(irow-1)
{
for(intj=0;jcol;j++)
{
printf("---");
if(jcol-1)
{
printf("|");
}
}
printf("\n");
}
}
voidplay_move(chara[][COL],introw,intcol)
intx=0;
inty=0;
printf("用戶下\n");
while(1)
{
printf("用戶請(qǐng)輸入:\n");
scanf("%d%d",x,
if(x=1x=rowy=1y=col)
{
if(a[x-1][y-1]=='')
{
a[x-1][y-1]='*';
break;
}
else
{
printf("已被占用,請(qǐng)重新輸入");
}
}
else
{
printf("非法輸入");
}
}
voidcomputer_move(chara[][COL],introw,intcol)
printf("電腦走\(yùn)n");
intx=0;
inty=0;
x=rand()%row;
y=rand()%col;
while(1)
{
if(a[x][y]=='')
{
a[x][y]='#';
break;
}
}
charIs_over(chara[][COL],introw,intcol)//判斷是否結(jié)束
for(inti=0;irow;i++)
{
if(a[i][0]==a[i][1]a[i][1]==a[i][2]a[i][0]!='')
{
returna[i][0];
}
}
for(intj=0;jcol;j++)
{
if(a[0][j]==a[1][j]a[1][j]==a[2][j]a[0][j]!='')
{
returna[0][j];
}
}
if(a[0][0]==a[1][1]a[1][1]==a[2][2]a[0][0]!='')
{
returna[0][0];
}
if(a[0][2]==a[1][1]a[1][1]=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職通信技術(shù)(移動(dòng)通信基礎(chǔ))試題及答案
- 2025年高職中草藥栽培與加工技術(shù)(中藥炮制基礎(chǔ))試題及答案
- 2025年大學(xué)(麻醉學(xué))麻醉心理學(xué)試題及答案
- 2025年中職航空服務(wù)(客艙服務(wù)實(shí)務(wù))試題及答案
- 2025年中職(煙草栽培)煙草大田移栽階段測(cè)試試題及答案
- 2025年大學(xué)醫(yī)學(xué)影像技術(shù)(CT影像診斷)試題及答案
- 2025年中職(農(nóng)產(chǎn)品營(yíng)銷與儲(chǔ)運(yùn))農(nóng)產(chǎn)品儲(chǔ)存試題及答案
- 2025年中職物流類(物流故障處理)試題及答案
- 2025年大學(xué)化學(xué)工程與工藝(化工系統(tǒng)工程)試題及答案
- 2025年中職人工智能類(人工智能基礎(chǔ)常識(shí))試題及答案
- 2025年大學(xué)大一(中國(guó)文化史)歷史發(fā)展階段測(cè)試題及答案
- 豆豆錢解協(xié)議書
- 2025年甘肅省白銀市靖遠(yuǎn)縣石門鄉(xiāng)人民政府選聘專業(yè)化管理村文書(公共基礎(chǔ)知識(shí))綜合能力測(cè)試題附答案解析
- 肝內(nèi)膽管癌護(hù)理查房
- 新生兒護(hù)理技能與并發(fā)癥預(yù)防
- 交易合同都保密協(xié)議
- 北師大版(2024)八年級(jí)上冊(cè)數(shù)學(xué)期末考試模擬強(qiáng)化訓(xùn)練試卷3(含答案)
- 2026年遼寧現(xiàn)代服務(wù)職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)及完整答案詳解1套
- 公立醫(yī)院績(jī)效考核方案細(xì)則
- 2025福建福州工業(yè)園區(qū)開發(fā)集團(tuán)有限公司招聘4人考試備考題庫(kù)及答案解析
- 小學(xué)英語(yǔ)測(cè)試題設(shè)計(jì)思路
評(píng)論
0/150
提交評(píng)論