//五子棋

#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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论