C语言版井字棋Word文档下载推荐.docx

上传人:b****8 文档编号:22623419 上传时间:2023-02-04 格式:DOCX 页数:21 大小:16.28KB
下载 相关 举报
C语言版井字棋Word文档下载推荐.docx_第1页
第1页 / 共21页
C语言版井字棋Word文档下载推荐.docx_第2页
第2页 / 共21页
C语言版井字棋Word文档下载推荐.docx_第3页
第3页 / 共21页
C语言版井字棋Word文档下载推荐.docx_第4页
第4页 / 共21页
C语言版井字棋Word文档下载推荐.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言版井字棋Word文档下载推荐.docx

《C语言版井字棋Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言版井字棋Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。

C语言版井字棋Word文档下载推荐.docx

}elseif(player=='

2'

3'

Help();

getch();

system("

cls"

continue;

4'

return0;

}else{

printf("

\n\n\t\t输入错误请重新输入!

Sleep(1000);

}

voidHelp(){

\n\n\n\n\n\n\n\n\n\t\t\t帮助\n\n\n"

\t'

W'

上移,'

S'

下移,'

A'

左移,'

D'

右移\n\n"

\t\t

游戏中按

'

退出"

\n\n\n\n\t\t

按任意键退出

"

intPlay(charplayer,intchoice){//棋战

charget;

charsymbol;

intc=0;

//Judge得出的结果

while

(1){

//每次循环清屏一次

Display();

){//玩家下棋

while

(1){//确定要下的地址

if((get=getch())!

='

'

if(get=='

}elseif((get=='

w'

||get=='

)&

&

choice-3>

=1){

Clear(choice);

choice=choice-3;

}elseif((get=='

s'

)&

choice+3<

=9){

choice=choice+3;

a'

(choice+2)/3==(choice+1)/3){

choice-=1;

d'

(choice-1)/3==choice/3){

choice+=1;

Block(choice);

else{

if(a[((choice-1)/3)*10+2][((choice-1)%3)*21+4]!

该地址已有其他棋子!

break;

}//while结束

b++;

Black(choice);

player='

0'

;

symbol='

#'

}//if结束

else{//电脑下棋

choice=Found();

White(choice);

*'

if((c=Judge(choice,symbol))!

=0){//判断输赢

if(c==2)

c=0;

End(symbol);

voidInit(){//初始化棋盘

intx=0,y=0;

inti='

for(x=0;

x<

31;

x++)

{

for(y=0;

y<

64;

y++)

if((y==Funcy

(1)||y==Funcy

(2)||y==Funcy(3)||y==Funcy

(2)+Funcy(3)))

if(x==Funcx

(1)||x==Funcx(4)||x==Funcx(7)||x==Funcx(4)+Funcx(7))

a[x][y]='

+'

else

|'

elseif(x==Funcx

(1)||x==Funcx(4)||x==Funcx(7)||x==Funcx(4)+Funcx(7))

-'

//for(x=1;

=7;

x=x+3)//在每个格子的左上角增加序号,范围1~9

//{

//for(y=1;

=3;

//a[(Funcx(x)+1)][(Funcy(y)+1)]=i;

//i++;

//}

voidDisplay(){//打印棋盘

%c"

a[x][y]);

voidBlock(intchoice){//增加选择框

intx,y;

for(x=Funcx(choice)+1;

Funcx(choice)+10;

for(y=Funcy(choice)+2;

Funcy(choice)+20;

if(x==Funcx(choice)+1||x==Funcx(choice)+9)

if(y==Funcy(choice)+2||y==Funcy(choice)+19)

elseif(y<

Funcy(choice)+7||y>

Funcy(choice)+14)

elseif(x<

Funcx(choice)+4||x>

Funcx(choice)+6)

voidClear(intchoice){//清空选择框

intx,y,i;

for(i=1;

i<

=9;

i++){

if(a[Funcx(choice)+1][Funcy(choice)+2]=='

i!

=choice){

voidBlack(choice){//增加黑棋

for(x=Funcx(choice)+2;

Funcx(choice)+9;

for(y=Funcy(choice)+4;

Funcy(choice)+18;

if(x==Funcx(choice)+2||x==Funcx(choice)+8)

elseif(y==Funcy(choice)+4||y==Funcy(choice)+17)

voidWhite(choice){//增加白棋

intx;

intd=4;

=Funcx(choice)+8;

a[x][Funcy(choice)+d]='

a[x][Funcy(choice)+20-d]='

d=d+2;

intJudge(intchoice,charsymbol){//

判断输赢

返回值

0为无结果

1为获胜,2

为平局

if(

(a[Funcx(choice)+2][Funcy(choice)+4]==a[Funcx(choice+3)+2][Funcy(choice)+4]

a[Funcx(choice+3)+2][Funcy(choice)+4]==a[Funcx(choice+6)+2][Funcy(choice)+4])

||

(a[Funcx(choice)+2][Funcy(choice)+4]==a[Funcx(choice)+2][Funcy(choice+1)+4]

a[Funcx(choice)+2][Funcy(choice+1)+4]==a[Funcx(choice)+2][Funcy(choice+2)+4])

a[Funcx(5)+2][Funcy(5)+4]==symbol

(a[Funcx

(1)+2][Funcy

(1)+4]==a[Funcx(5)+2][Funcy(5)+4]

a[Funcx(5)+2][Funcy(5)+4]==a[Funcx(9)+2][Funcy(9)+4])

(a[Funcx(3)+2][Funcy(3)+4]==a[Funcx(5)+2][Funcy(5)+4]

a[Funcx(5)+2][Funcy(5)+4]==a[Funcx(7)+2][Funcy(7)+4])

return1;

if(b==9)

return2;

intFuncx(intchoice){//将标号变换为行号

return(((choice-1)/3)%3)*10;

intFuncy(intchoice){//将标号变换为列号

return((choice-1)%3)*21;

voidEnd(charsymbol){//结束

if(symbol=='

\t\t\t电脑胜利!

\n\n"

elseif(symbol=='

\t\t\t玩家胜利!

\t\t\t平局!

b=0;

\t\t\t按任意键返回菜单"

intFound(){//返回第一个没有棋子的地址的编号

inti;

i++)

if(a[Funcx(i)+2][Funcy(i)+4]=='

returni;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1