//五子棋
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
int checkerboard[8][8] = {0};
bool judgment = true;
int print_checkerboard();
int play(int count_num);
int gameover();
int clean();
int main()
{
int row = 0;
int column = 0;
int count_num = 1;
printf("输入时应该以数字加字母组合(如:1A)\n") ;
print_checkerboard();
while(judgment)
{
count_num = play(count_num);
}
return 0;
}
int print_checkerboard()
{
int row = 0;
int column = 0;
printf(" 1 2 3 4 5 6 7 8\n");
printf(" ━━━━━━━━━━━━\n");
for(column = 0; column < 8; column++)
{
printf("%c",column+65);
for(row = 0; row < 8; row++)
{
printf("│%c",checkerboard[column][row]);
}
printf("│\n");
printf(" ━━━━━━━━━━━━\n");
}
}
int play(int count_num)
{
int record_row = 0;
int record_column = 0;
printf("play%d:",(count_num % 2) == 0 ? 2 : 1);
scanf("%d%c",&record_row,&record_column);
record_column = record_column - 65;
record_row = record_row - 1;
if((count_num % 2) == 0)
{
checkerboard[record_column][record_row] = 42;
}
else
{
checkerboard[record_column][record_row] = 64;
}
gameover();
system("CLS");
print_checkerboard();
count_num = count_num+1;
return(count_num);
}
int gameover()
{
int rule_column = 0;
int rule_row = 0;
for(rule_column = 0; rule_column < 8; rule_column++)
{
for(rule_row = 0; rule_row < 8; rule_row++)
{
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column-1][rule_row-1] && checkerboard[rule_column-1][rule_row-1] == checkerboard[rule_column-2][rule_row-2]
&& checkerboard[rule_column-2][rule_row-2] == checkerboard[rule_column+1][rule_row+1] && checkerboard[rule_column+1][rule_row+1] == checkerboard[rule_column+2][rule_row+2]
&& checkerboard[rule_column][rule_row] == 42)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play2获胜");
int clean();
exit(0);
}
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column-1][rule_row+1] && checkerboard[rule_column-1][rule_row+1] == checkerboard[rule_column-2][rule_row+2]
&& checkerboard[rule_column-2][rule_row+2] == checkerboard[rule_column+1][rule_row-1] && checkerboard[rule_column+1][rule_row-1] == checkerboard[rule_column+2][rule_row-2]
&& checkerboard[rule_column][rule_row] == 42)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play2获胜");
int clean();
exit(0);
}
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column][rule_row+1] && checkerboard[rule_column][rule_row+1] == checkerboard[rule_column][rule_row+2]
&& checkerboard[rule_column][rule_row+2] == checkerboard[rule_column][rule_row-1] && checkerboard[rule_column][rule_row-1] == checkerboard[rule_column][rule_row-2]
&& checkerboard[rule_column][rule_row] == 42)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play2获胜");
int clean();
exit(0);
}
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column+1][rule_row] && checkerboard[rule_column+1][rule_row] == checkerboard[rule_column+2][rule_row]
&& checkerboard[rule_column+2][rule_row] == checkerboard[rule_column-1][rule_row] && checkerboard[rule_column-1][rule_row] == checkerboard[rule_column-2][rule_row]
&& checkerboard[rule_column][rule_row] == 42)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play2获胜");
int clean();
exit(0);
}
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column-1][rule_row-1] && checkerboard[rule_column-1][rule_row-1] == checkerboard[rule_column-2][rule_row-2]
&& checkerboard[rule_column-2][rule_row-2] == checkerboard[rule_column+1][rule_row+1] && checkerboard[rule_column+1][rule_row+1] == checkerboard[rule_column+2][rule_row+2]
&& checkerboard[rule_column][rule_row] == 64)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play1获胜");
int clean();
exit(0);
}
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column-1][rule_row+1] && checkerboard[rule_column-1][rule_row+1] == checkerboard[rule_column-2][rule_row+2]
&& checkerboard[rule_column-2][rule_row+2] == checkerboard[rule_column+1][rule_row-1] && checkerboard[rule_column+1][rule_row-1] == checkerboard[rule_column+2][rule_row-2]
&& checkerboard[rule_column][rule_row] == 64)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play1获胜");
int clean();
exit(0);
}
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column][rule_row+1] && checkerboard[rule_column][rule_row+1] == checkerboard[rule_column][rule_row+2]
&& checkerboard[rule_column][rule_row+2] == checkerboard[rule_column][rule_row-1] && checkerboard[rule_column][rule_row-1] == checkerboard[rule_column][rule_row-2]
&& checkerboard[rule_column][rule_row] == 64)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play1获胜");
int clean();
exit(0);
}
if(checkerboard[rule_column][rule_row] == checkerboard[rule_column+1][rule_row] && checkerboard[rule_column+1][rule_row] == checkerboard[rule_column+2][rule_row]
&& checkerboard[rule_column+2][rule_row] == checkerboard[rule_column-1][rule_row] && checkerboard[rule_column-1][rule_row] == checkerboard[rule_column-2][rule_row]
&& checkerboard[rule_column][rule_row] == 64)
{
judgment = false;
system("CLS");
print_checkerboard();
printf("play1获胜");
int clean();
exit(0);
}
}
}
}
int clean()
{
int column = 0;
int row = 0;
for(column = 0; column < 8; column++)
{
for(row = 0; row < 8; row++)
{
checkerboard[column][row] = 0;
}
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复