|
|
@ -54,6 +54,8 @@ void startgame() //
|
|
|
|
system("cls");
|
|
|
|
system("cls");
|
|
|
|
printf(" ~游戏结束~");//结束游戏
|
|
|
|
printf(" ~游戏结束~");//结束游戏
|
|
|
|
jifenban();////////调用另一个文件的计分板函数/////////
|
|
|
|
jifenban();////////调用另一个文件的计分板函数/////////
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -67,13 +69,17 @@ void startgame() //
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
while(1)
|
|
|
|
while(1)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(strcmp(p[x][y]," ")==0)//判断棋盘位置是否已有棋子
|
|
|
|
if(x>=0&&x<=18&&y>=0&&y<=18)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if(strcmp(p[x][y]," ")==0)//判断棋盘位置是否已有棋子
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strcpy(p[x][y],"●");//没有则下黑棋
|
|
|
|
strcpy(p[x][y],"●");//没有则下黑棋
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
printf(" 您不能在此位置落子,请重新输入坐标:");//已有棋子则提示用户重新落子
|
|
|
|
printf(" 您不能在此位置落子,请重新输入坐标:");//已有棋子则提示用户重新落子
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else printf(" 输入的坐标超过了棋盘范围");
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
system("cls");
|
|
|
|
system("cls");
|
|
|
@ -99,13 +105,17 @@ void white() //
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
while(1)
|
|
|
|
while(1)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(strcmp(p[x][y]," ")==0)//判断此位置是否有棋
|
|
|
|
if(x>=0&&x<=18&&y>=0&&y<=18)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strcpy(p[x][y],"○");//没有则下白棋
|
|
|
|
if(strcmp(p[x][y]," ")==0)//判断棋盘位置是否已有棋子
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
strcpy(p[x][y],"○");//没有则下黑棋
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
printf(" 您不能在此位置落子,请重新输入坐标:");//有棋则提示重新输入
|
|
|
|
printf(" 您不能在此位置落子,请重新输入坐标:");//已有棋子则提示用户重新落子
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else printf(" 输入的坐标超过了棋盘范围");
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
system("cls");
|
|
|
|
system("cls");
|
|
|
@ -227,14 +237,14 @@ void white() //
|
|
|
|
else
|
|
|
|
else
|
|
|
|
winner=2;
|
|
|
|
winner=2;
|
|
|
|
strcpy(p[x][y],"赢");
|
|
|
|
strcpy(p[x][y],"赢");
|
|
|
|
i=1;
|
|
|
|
i=1;count=1;
|
|
|
|
while(strcmp(color,p[x-i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<5)
|
|
|
|
while(strcmp(color,p[x-i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<=5)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strcpy(p[x-i][y],"赢");
|
|
|
|
strcpy(p[x-i][y],"赢");
|
|
|
|
i++;count++;
|
|
|
|
i++;count++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
i=1;
|
|
|
|
i=1;
|
|
|
|
while(strcmp(color,p[x+i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<5)
|
|
|
|
while(strcmp(color,p[x+i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<=5)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strcpy(p[x+i][y],"赢");
|
|
|
|
strcpy(p[x+i][y],"赢");
|
|
|
|
i++;count++;
|
|
|
|
i++;count++;
|
|
|
@ -254,14 +264,14 @@ void white() //
|
|
|
|
else
|
|
|
|
else
|
|
|
|
winner=2;
|
|
|
|
winner=2;
|
|
|
|
strcpy(p[x][y],"赢");
|
|
|
|
strcpy(p[x][y],"赢");
|
|
|
|
i=1;
|
|
|
|
i=1;count=1;
|
|
|
|
while(strcmp(color,p[x+i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<5)
|
|
|
|
while(strcmp(color,p[x+i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<=5)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strcpy(p[x+i][y],"赢");
|
|
|
|
strcpy(p[x+i][y],"赢");
|
|
|
|
i++;count++;
|
|
|
|
i++;count++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
i=1;
|
|
|
|
i=1;
|
|
|
|
while(strcmp(color,p[x-i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<5)
|
|
|
|
while(strcmp(color,p[x-i][y])==0&&x>=0&&x<19&&y>=0&&y<19&&count<=5)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
strcpy(p[x-i][y],"赢");
|
|
|
|
strcpy(p[x-i][y],"赢");
|
|
|
|
i++;count++;
|
|
|
|
i++;count++;
|
|
|
@ -420,27 +430,27 @@ void white() //
|
|
|
|
int i,j;
|
|
|
|
int i,j;
|
|
|
|
system("color e2"); //更改屏幕为浅黄色,字体为绿色。
|
|
|
|
system("color e2"); //更改屏幕为浅黄色,字体为绿色。
|
|
|
|
printf("\n\n\n\n\n\n\n\n\n\n\n");
|
|
|
|
printf("\n\n\n\n\n\n\n\n\n\n\n");
|
|
|
|
printf(" ●● ●● ●●●●● ●●●●● ●●●●●●●●●●●\n");/*欢迎界面*/
|
|
|
|
printf(" ●● ●● ●●●●● ●●●●● ●●●●●●●●●●●\n");/*欢迎界面*/
|
|
|
|
for(i=0;i<5;i++)
|
|
|
|
for(i=0;i<5;i++)
|
|
|
|
printf(" ●● ●● ●● ●● ●●\n");
|
|
|
|
printf(" ●● ●● ●● ●● ●●\n");
|
|
|
|
printf(" ●●●●●●●●●●● ●● ●● ●●\n");
|
|
|
|
printf(" ●●●●●●●●●●● ●● ●● ●●\n");
|
|
|
|
for(i=0;i<3;i++)
|
|
|
|
for(i=0;i<3;i++)
|
|
|
|
printf(" ●● ●● ●● ●● ●●\n");
|
|
|
|
printf(" ●● ●● ●● ●● ●●\n");
|
|
|
|
printf(" ●● ●● ●●●●●●● ●●\n");
|
|
|
|
printf(" ●● ●● ●●●●●●● ●●\n");
|
|
|
|
printf(" ●● ●● ●●●●●● ●●\n\n");
|
|
|
|
printf(" ●● ●● ●●●●●● ●●\n\n");
|
|
|
|
printf(" 欢迎来到湖南工业大学五子棋游戏\n\n");
|
|
|
|
printf(" 欢迎来到湖南工业大学五子棋游戏\n\n");
|
|
|
|
printf(" 五子棋的简介:两个人一起玩的游戏。谁率先在棋盘上连成连续五个线型\n");/*游戏简介*/
|
|
|
|
printf(" 五子棋的简介:两个人一起玩的游戏。谁率先在棋盘上连成连续五个线型\n");/*游戏简介*/
|
|
|
|
printf(" 的同色棋子,谁就赢得比赛,线型包括直线型和斜45°线型。\n\n");
|
|
|
|
printf(" 的同色棋子,谁就赢得比赛,线型包括直线型和斜45°线型。\n\n");
|
|
|
|
printf(" *******************************小艺、小羊联合出品***********************************\n");
|
|
|
|
printf(" *******************************小艺、小羊联合出品***********************************\n");
|
|
|
|
printf(" 【寒 星 溪 月 疏 星 首,花 残 二 月 并 白 莲。】\n");
|
|
|
|
printf(" 【寒 星 溪 月 疏 星 首,花 残 二 月 并 白 莲。】\n");
|
|
|
|
printf(" 【雨 月 金 星 追 黑 玉,松 丘 新 宵 瑞 山 腥。】\n");
|
|
|
|
printf(" 【雨 月 金 星 追 黑 玉,松 丘 新 宵 瑞 山 腥。】\n");
|
|
|
|
printf(" 【星 月 长 峡 恒 水 流,白 莲 垂 俏 云 浦 岚。】\n");
|
|
|
|
printf(" 【星 月 长 峡 恒 水 流,白 莲 垂 俏 云 浦 岚。】\n");
|
|
|
|
printf(" 【黑 玉 银 月 倚 明 星,斜 月 明 月 堪 称 朋。】\n");
|
|
|
|
printf(" 【黑 玉 银 月 倚 明 星,斜 月 明 月 堪 称 朋。】\n");
|
|
|
|
printf(" 【二 十 六 局 先 弃 二,直 指 游 星 斜 彗 星。】\n");
|
|
|
|
printf(" 【二 十 六 局 先 弃 二,直 指 游 星 斜 彗 星。】\n\n");
|
|
|
|
printf(" ---这首诗,送给少侠。。。\n\n");/*一首关于五子棋的诗,送给游戏者。*/
|
|
|
|
printf(" ---这首诗,送给少侠。。。\n\n");/*一首关于五子棋的诗,送给游戏者。*/
|
|
|
|
printf(" 少侠,请来一局吧。\n\n");
|
|
|
|
printf(" 少侠,请来一局吧。\n\n");
|
|
|
|
printf(" 人人对战\n\n");
|
|
|
|
printf(" 人人对战\n\n");
|
|
|
|
printf(" 少侠,请开始您的游戏:1.开始游戏 2.退出游戏 您的选择是:");/*让用户选择游戏的开始或者退出游戏*/
|
|
|
|
printf(" 少侠,请开始您的游戏:1.开始游戏 2.退出游戏\n\n 您的选择是:");/*让用户选择游戏的开始或者退出游戏*/
|
|
|
|
scanf("%s",&choice);
|
|
|
|
scanf("%s",&choice);
|
|
|
|
while(1){
|
|
|
|
while(1){
|
|
|
|
if(choice=='1'||choice=='2')
|
|
|
|
if(choice=='1'||choice=='2')
|