三连棋游戏 C语言源代码 网络提供 自行修改编译通过

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//三连棋游戏(两人轮流在一有九格方盘上划加字或圆圈, 谁先把三个同一记号排成横线、直线、斜线, 即是胜者)

//由网络提供,自行修改,在vc6.0++中,复制即可编译通过

//我的QQ号码:354441467 交流交流编程!

# include

# include

char matrix[3][3];

void init_matrix(void);

void disp_matrix(void);

void get_player_move(void);

void get_computer_move(void);

char check(void);

int main(void)

{

char done;

done = ' ';

init_matrix();

do

{

disp_matrix();

get_player_move();

done = check();

if (done != ' ')

{

break;

}

get_computer_move();

done = check();

}

while (done==' ');

disp_matrix();

if (done=='X')

{

printf("you win\n");

}

else

{

printf("computer win\n");

}

return 0;

}

void init_matrix(void)

{

int i, j;

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

{

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

{

matrix[i][j] = ' ';

}

}

}

void disp_matrix(void)

{

int i;

printf("|-|-|-|\n");

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

{

printf("|%c|%c|%c|", matrix[i][0], matrix[i][1], matrix[i][2]);

printf("\n|-|-|-|\n");

}

}

void get_player_move(void)

{

int val_x, val_y;

int x, y;

printf("Enter coordinates for your X:");

scanf("%d,%d", &val_x, &val_y);

x = val_x - 1;

y = val_y - 1;

if (matrix[x][y] != ' ')

{

printf("Invalid move,try again.\n");

get_player_move();

}

else

{

matrix[x][y]='X';

}

}

void get_computer_move(void)

{

int i, j;

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

{

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

{

if (matrix[i][j] == ' ')

{

break;

}

}

break;

} //一定要跳出循环

if (i*j==9)

{

printf("draw\n");

exit(0);

}

else

{

matrix[i][j] = 'Y';

}

}

char check(void)

{

int i;

/*检查横行*/

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

{

if (matrix[i][0]==matrix[i][1] && matrix[i][0]==matrix[i][2])

{

return matrix[i][0];

}

}

/*检查竖行*/

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

{

if (matrix[0][i]==matrix[1][i] && matrix[0][i]==matrix[2][i])

{

return matrix[0][i];

}

}

/*检查对角线*/

if(matrix[0][0]==matrix[1][1] && matrix[1][1]==matrix[2][2])

{

return matrix[0][0];

}

if(matrix[0][2]==matrix[1][1]&&matrix[1][1]==matrix[2][0])

{

return matrix[0][2];

}

return ' ';

}

相关文档
最新文档