五子棋游戏.docx

上传人:b****1 文档编号:2406735 上传时间:2023-05-03 格式:DOCX 页数:20 大小:16.78KB
下载 相关 举报
五子棋游戏.docx_第1页
第1页 / 共20页
五子棋游戏.docx_第2页
第2页 / 共20页
五子棋游戏.docx_第3页
第3页 / 共20页
五子棋游戏.docx_第4页
第4页 / 共20页
五子棋游戏.docx_第5页
第5页 / 共20页
五子棋游戏.docx_第6页
第6页 / 共20页
五子棋游戏.docx_第7页
第7页 / 共20页
五子棋游戏.docx_第8页
第8页 / 共20页
五子棋游戏.docx_第9页
第9页 / 共20页
五子棋游戏.docx_第10页
第10页 / 共20页
五子棋游戏.docx_第11页
第11页 / 共20页
五子棋游戏.docx_第12页
第12页 / 共20页
五子棋游戏.docx_第13页
第13页 / 共20页
五子棋游戏.docx_第14页
第14页 / 共20页
五子棋游戏.docx_第15页
第15页 / 共20页
五子棋游戏.docx_第16页
第16页 / 共20页
五子棋游戏.docx_第17页
第17页 / 共20页
五子棋游戏.docx_第18页
第18页 / 共20页
五子棋游戏.docx_第19页
第19页 / 共20页
五子棋游戏.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

五子棋游戏.docx

《五子棋游戏.docx》由会员分享,可在线阅读,更多相关《五子棋游戏.docx(20页珍藏版)》请在冰点文库上搜索。

五子棋游戏.docx

五子棋游戏

#include

#include

#include

#include

#include

intq[28][28];

intx,y;

intspace,choice;

intgotoxy(intx,inty)

{

COORDcd;

cd.X=x;cd.Y=y;

returnSetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),cd);

}

inttextcolor(shortiColor)

{

HANDLEhd=GetStdHandle(STD_OUTPUT_HANDLE);

CONSOLE_SCREEN_BUFFER_INFOcsbInfo;

GetConsoleScreenBufferInfo(hd,&csbInfo);

returnSetConsoleTextAttribute(hd,iColor|(csbInfo.wAttributes&~0xF));

}

intGameover()

{

gotoxy(3,22);

printf("是否继续(y/n),Yes/No?

");

choice=_getch();

if(choice=='y'||choice=='Y')

return1;

elseif(choice=='n'||choice=='N')

return0;

return-1;

}

voidDelay()

{

inti,j;

for(i=0;i<3000;i++)

for(j=0;j<9000;j++);

}

intStartpicture()

{

inti,j,k;

system("cls");

for(i=0,k=100;i<=100,k>=0;i++,k--)

{

textcolor(4);

gotoxy(15,6);

printf("五子棋游戏");

gotoxy(18,10);

printf("%%%d",i);

gotoxy(10,12);

for(j=1;j<=i/10;j++)

printf("■");

for(j=k/10;j>=1;j--)

printf("□");

Delay();

}

return0;

}

intHumanstep()

{

intch;

space=0;

ch=_getch();

if(ch=='w'||ch=='W')

{

if(y-1<4)

y=23;

else

--y;

}

if(ch=='s'||ch=='S')

{

if(y+1>23)

y=4;

else

++y;

}

if(ch=='a'||ch=='A')

{

if(x-1<4)

x=23;

else

--x;

}

if(ch=='d'||ch=='D')

{

if(x+1>23)

x=4;

else

++x;

}

if(ch==''&&q[x][y]==0)

{

q[y][x]=1;

space=1;

}

return0;

}

voidInitialize()

{

inti,j;

for(i=0;i<27;i++)

for(j=0;j<27;j++)

q[i][j]=0;

x=y=13;

}

voidDrawpicture()

{

inti,j;

for(i=4;i<24;i++)

{

for(j=4;j<24;j++)

{

if(i==y&&j==x)

{

textcolor(15);

if(q[i][j]==1)

printf("■");

elseif(q[i][j]==2)

printf("□");

else

printf("◎");

}

elseif(q[i][j]==2)

{

textcolor(12);

printf("●");

}

elseif(q[i][j]==1)

{

textcolor(10);

printf("●");

}

else

{

textcolor

(2);

if(i==4&&j==4)

printf("┏");

elseif(i==4&&j==23)

printf("┓");

elseif(i==23&&j==4)

printf("┗");

elseif(i==23&&j==23)

printf("┛");

elseif(i==4)

printf("┳");

elseif(j==4)

printf("┣");

elseif(j==23)

printf("┫");

elseif(i==23)

printf("┻");

else

printf("╋");

}

}

printf("\n");

}

gotoxy(45,1);

printf("五子棋游戏之人机对战");

gotoxy(45,4);

printf("w:

向上s:

向下a:

向左d:

向右");

gotoxy(45,6);

printf("空格键下棋");

gotoxy(45,10);

printf("天子门客制作");

}

intIswin(intw,inti,intj)

{

intm,n;

intflag=1;

for(n=0;n<5;n++)///shangxia

{

flag=1;

for(m=4;m>=0;m--)

{

if(q[i-m+n][j]!

=w)

flag=0;

}

if(flag)

return1;

}

/////////////////////////////////////

for(n=0;n<5;n++)

{

flag=1;

for(m=4;m>=0;m--)

{

if(q[i][j-m+n]!

=w)

flag=0;

}

if(flag)

return1;

}

///////////////////////////////////////////

for(n=0;n<5;n++)///shangxia

{

flag=1;

for(m=4;m>=0;m--)

{

if(q[i-m+n][j-m+n]!

=w)

flag=0;

}

if(flag)

return1;

}

/////////////////////////////////////////////

for(n=0;n<5;n++)

{

flag=1;

for(m=4;m>=0;m--)

{

if(q[i-m+n][j+m-n]!

=w)

flag=0;

}

if(flag)

return1;

}

return0;

////////////////////////////////////////

}

intComputerthink()

{

inti,j;

for(i=4;i<=23;i++)

for(j=4;j<=23;j++)

{

///////////////gongji/////////////////////////////////////////自己四字了,攻击

if(q[i][j]==2&&q[i][j+1]==2&&q[i][j+2]==2&&q[i][j+3]==2&&q[i][j+4]==0)

{

q[i][j+4]=2;

x=j+4;

y=i;

return0;

}

elseif(q[i][j]==2&&q[i+1][j]==2&&q[i+2][j]==2&&q[i+3][j]==2&&q[i+4][j]==0)

{

q[i+4][j]=2;

x=j;

y=i+4;

return0;

}

elseif(q[i][j]==2&&q[i+1][j+1]==2&&q[i+2][j+2]==2&&q[i+3][j+3]==2&&q[i+4][j+4]==0)

{

q[i+4][j+4]=2;

x=j+4;

y=i+4;

return0;

}

elseif(q[i][j]==2&&q[i+1][j-1]==2&&q[i+2][j-2]==2&&q[i+3][j-3]==2&&q[i+4][j-4]==0)

{

q[i+4][j-4]=2;

x=j-4;

y=i+4;

return0;

}

}

////////////////duifang3////////////////////////////////////对方3子了,防御

for(i=4;i<=23;i++)

for(j=4;j<=23;j++)

{

if(q[i][j]==1&&q[i][j+1]==1&&q[i][j+2]==1&&q[i][j+3]==0)

{

q[i][j+3]=2;

x=j+3;

y=i;

return0;

}

elseif(q[i][j]==0&&q[i][j+1]==1&&q[i][j+2]==1&&q[i][j+3]==1)

{

q[i][j]=2;

x=j;

y=i;

return0;

}

elseif(q[i][j]==1&&q[i+1][j]==1&&q[i+2][j]==1&&q[i+3][j]==0)

{

q[i+3][j]=2;

x=j;

y=i+3;

return0;

}

elseif(q[i][j]==0&&q[i+1][j]==1&&q[i+2][j]==1&&q[i+3][j]==1)

{

q[i][j]=2;

x=j;

y=i;

return0;

}

elseif(q[i][j]==1&&q[i+1][j+1]==1&&q[i+2][j+2]==1&&q[i+3][j+3]==0)

{

q[i+3][j+3]=2;

x=j+3;

y=i+3;

return0;

}

elseif(q[i][j]==0&&q[i+1][j+1]==1&&q[i+2][j+2]==1&&q[i+3][j+3]==1)

{

q[i][j]=2;

x=j;

y=i;

return0;

}

elseif(q[i][j]==1&&q[i+1][j-1]==1&&q[i+2][j-2]==1&&q[i+3][j-3]==0)

{

q[i+3][j-3]=2;

x=j-3;

y=i+3;

return0;

}

elseif(q[i][j]==0&&q[i+1][j-1]==1&&q[i+2][j-2]==1&&q[i+3][j-3]==1)

{

q[i][j]=2;

x=j;

y=i;

return0;

}

elseif(q[i][j]==1&&q[i-1][j-1]==1&&q[i-2][j-2]==1&&q[i-3][j-3]==0)

{

q[i-3][j-3]=2;

x=j-3;

y=i-3;

return0;

}

elseif(q[i][j]==0&&q[i-1][j-1]==1&&q[i-2][j-2]==1&&q[i-3][j-3]==1)

{

q[i][j]=2;

x=j;

y=i;

return0;

}

}

///////////////////////////////////////////////////自己三字了,使之变四字

for(i=4;i<=23;i++)

for(j=4;j<=23;j++)

{

if(q[i][j]==2&&q[i][j+1]==2&&q[i][j+2]==2&&q[i][j+3]==0)

{

q[i][j+3]=2;

x=j+3;

y=i;

return0;

}

elseif(q[i][j]==2&&q[i+1][j]==2&&q[i+2][j]==2&&q[i+3][j]==0)

{

q[i+3][j]=2;

x=j;

y=i+3;

return0;

}

elseif(q[i][j]==2&&q[i+1][j+1]==2&&q[i+2][j+2]==2&&q[i+3][j+3]==0)

{

q[i+3][j+3]=2;

x=j+3;

y=i+3;

return0;

}

elseif(q[i][j]==2&&q[i+1][j-1]==2&&q[i+2][j-2]==2&&q[i+3][j-3]==0)

{

q[i+3][j-3]=2;

x=j-3;

y=i+3;

return0;

}

elseif(q[i][j]==0&&q[i+1][j-1]==2&&q[i+2][j-2]==2&&q[i+3][j-3]==2)

{

q[i][j]=2;

x=j;

y=i;

return0;

}

}

///////////ziji/2222/////////////////////////////////////////////自己二字了使之变三字

for(i=4;i<=23;i++)

for(j=4;j<=23;j++)

{

if(q[i][j]==2&&q[i][j+1]==2&&q[i][j+2]==0)

{

q[i][j+2]=2;

x=j+2;

y=i;

return0;

}

elseif(q[i][j]==2&&q[i+1][j]==2&&q[i+2][j]==0)

{

q[i+2][j]=2;

x=j;

y=i+2;

return0;

}

elseif(q[i][j]==2&&q[i+1][j+1]==2&&q[i+2][j+2]==0)

{

q[i+2][j+2]=2;

x=j+2;

y=i+2;

return0;

}

elseif(q[i][j]==2&&q[i+1][j-1]==2&&q[i+2][j-2]==0)

{

q[i+2][j-2]=2;

x=j-2;

y=i+2;

return0;

}

elseif(q[i][j]==2&&q[i+1][j+1]==0&&q[i+2][j+2]==2)

{

q[i+1][j+1]=2;

x=j+1;

y=i+1;

return0;

}

}

//////////11111/zijidezi////////////////////////////////自己一字使之二字

for(i=4;i<=23;i++)

for(j=4;j<=23;j++)

{

if(q[i][j]==2&&q[i+1][j]==0)

{

q[i+1][j]=2;

x=j;

y=i+1;

return0;

}

elseif(q[i][j]==2&&q[i][j+1]==0)

{

q[i][j+1]=2;

x=j+1;

y=i;

return0;

}

elseif(q[i][j]==2&&q[i+1][j+1]==0)

{

q[i+1][j+1]=2;

x=j+1;

y=i+1;

return0;

}

}

////////////////////////////////////////////只有一字是下棋

for(i=4;i<=23;i++)

for(j=4;j<=23;j++)

{

if(q[i][j]==1&&q[i+1][j]==0)

{

q[i+1][j]=2;

x=j;

y=i+1;

return0;

}

elseif(q[i][j]==1&&q[i][j+1]==0)

{

q[i][j+1]=2;

x=j+1;

y=i;

return0;

}

}

return0;

}

voidComputerstep()

{

Computerthink();

system("cls");

Drawpicture();

}

intmain()

{

loop:

Startpicture();

Initialize();

while

(1)

{

system("cls");

Drawpicture();

/////////////////////////////////////////

Humanstep();

if(Iswin(1,y,x))

{

textcolor(11);

gotoxy(3,21);

printf("\\(^o^)/你赢了,好棒!

!

\n");

if(Gameover())

gotoloop;

else

exit(0);

}

//////////////////////////

if(space)

{

Computerstep();

if(Iswin(2,y,x))

{

textcolor(11);

gotoxy(3,21);

printf("O(∩_∩)O哈哈!

!

你输了诶!

\n");

if(Gameover())

gotoloop;

else

exit(0);

}

}

}

return0;

}

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2