#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <string.h>
#define ROW 2
#define COL 2
void menu(){
printf("******************\n");
printf("****开始游戏->1****\n");
printf("****游戏介绍->2****\n");
printf("****退出游戏->0****\n");
printf("******************\n");
};
void InitBoard(char instruct[ROW][COL],char elements[ROW][COL], int row,int col){
int i, j;
for(i=0;i<row;i++){
for(j=0;j<col;j++){
instruct[i][j]='-';
elements[i][j]=' ';
}
}
};
void Display(char instruct[ROW][COL],char elements[ROW][COL],int row,int col){
int i, j;
for(i=0;i<row;i++){
for(j=0;j<col;j++){
printf(" %c ",elements[i][j]);
if(j<col-1)
printf("|");
}
printf("\n");
for(j=0;j<col;j++){
printf("%c%c%c",instruct[i][j],instruct[i][j],instruct[i][j]);
if(j<col-1)
printf("|");
}
printf("\n");
}
};
void player1(int x,int y,char elements[ROW][COL]){
if(elements[x-1][y-1]==' ')
elements[x-1][y-1]='#';
else{
printf("位置已被占用,请重新输入坐标:");
scanf("%d,%d",&x,&y);
while(x>COL||x<0||y>COL||y<0){
printf("输入错误,请重新输入坐标:");
scanf("%d,%d",&x,&y);
};
player1(x,y,elements);
};
};
void player2(int x,int y,char elements[ROW][COL]){
if(elements[x-1][y-1]==' ')
elements[x-1][y-1]='@';
else{
printf("位置已被占用,请重新输入坐标:");
scanf("%d,%d",&x,&y);
while(x>COL||x<0||y>COL||y<0){
printf("输入错误,请重新输入坐标:");
scanf("%d,%d",&x,&y);
};
player2(x,y,elements);
};
};
void game(){
int x,y,num=0;
char instruct[ROW][COL]={0};
char elements[ROW][COL]={};
InitBoard(instruct,elements,ROW,COL);
Display(instruct,elements,ROW,COL);
while(num!=COL*ROW){
printf("玩家1下棋,请输入坐标:");
scanf("%d,%d",&x,&y);
while(x>COL||x<0||y>COL||y<0){
printf("输入错误,请重新输入坐标:");
scanf("%d,%d",&x,&y);
};
player1(x,y,elements);
Display(instruct,elements,ROW,COL);
num+=1;
if(num>=COL*ROW)
break;
printf("玩家2下棋,请输入坐标:");
scanf("%d,%d",&x,&y);
while(x>COL||x<0||y>COL||y<0){
printf("输入错误,请重新输入坐标:");
scanf("%d,%d",&x,&y);
};
player2(x,y,elements);
Display(instruct,elements,ROW,COL);
num+=1;
if(num>=COL*ROW)
break;
};
printf("游戏结束!!!");
};
void introduction(){
printf("该游戏为内测玩家使用,井字棋.\n");
};
int main()
{
int input,k=0;
do{
menu();
printf("请输入你选择的序号:");
scanf("%d",&input);
switch (input) {
case 1:
game();
k=1;
break;
case 2:
introduction();
break;
case 0:
break;
default:
break;
}
if(k)
break;
}while(input);
}