【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《C语言 棋盘游戏 源代码》,欢迎阅读!
# include
# include
char matrix[3][3];/*定义游戏棋盘*/ char check(void); void init_matrix(void); void get_player_move(void); void disp_matrix(void); int main(){char done;
printf("This is the game of Tic Tac Toe.\n"); done = ' '; init_matrix(); do{
disp_matrix(); get_player_move();
done = check();/*检测输赢*/ if(done!= ' ')break;/*赢了*/ done = check();/*检测输赢*/ }while (done == ' ');
if(done=='X') printf("You won!\n"); else printf("Computer won!\n"); disp_matrix();/*显示棋子的位置*/
1 / 3
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 get_player_move(void){int x,y; printf("Enter coordinates for your X: ");
scanf("%d%d",&x,&y); x--;y--;
if(matrix[x][y] !=' '){printf("Invalid move,try again.\n"); get_player_move();}else matrix[x][y]='X';}/*计算机下*/ for(i=0;i<3;i++){for (j=0;j<3;j++) if(matrix[i][j]== ' ')break;
if(matrix[i][j]== ' ')break;}if(i*j==9){printf("draw\n"); exit (0);}else
matrix[i][j]='O';}/*在屏幕上显示棋盘*/ void disp_matrix(void){int t;
for(t=0;t<3;t++){printf("%c|%c|%c",matrix[t][0],matrix[t][1],matrix[t][2]); if(t!=2)printf("\n-|-|-\n");}printf("\n");}/*看谁是赢着*/
2 / 3
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 ' ';}
3 / 3
本文来源:https://www.wddqxz.cn/e08cb586e55c3b3567ec102de2bd960591c6d9fe.html