|
|
|
@ -0,0 +1,71 @@
|
|
|
|
|
#include<stdio.h>
|
|
|
|
|
#include<stdlib.h>
|
|
|
|
|
int store[][3]={'_','_','_','_','_','_','_','_','_'},i,j,flag=1;
|
|
|
|
|
void print_map()
|
|
|
|
|
{
|
|
|
|
|
char boundary='|';
|
|
|
|
|
getchar();
|
|
|
|
|
system("cls");
|
|
|
|
|
for(i=0;i<3;i++)
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
for(j=0;j<3;j++)
|
|
|
|
|
{
|
|
|
|
|
printf("%c%c",boundary,store[i][j]);
|
|
|
|
|
if(j==2)
|
|
|
|
|
{
|
|
|
|
|
putchar(boundary);
|
|
|
|
|
putchar('\n');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int number_mend(int x)
|
|
|
|
|
{
|
|
|
|
|
switch(x)
|
|
|
|
|
{
|
|
|
|
|
case 1:x=3;break;
|
|
|
|
|
case 3:x=1;break;
|
|
|
|
|
default:;
|
|
|
|
|
}
|
|
|
|
|
return x;
|
|
|
|
|
}
|
|
|
|
|
void scan_number()
|
|
|
|
|
{
|
|
|
|
|
int x,y;
|
|
|
|
|
printf("请输入要走的棋格行号和列号:");
|
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
|
printf("%d,%d",x,y) ;
|
|
|
|
|
x=number_mend(x);
|
|
|
|
|
while(x>3||x<=0||y>3||y<=0||store[x-1][y-1]!='_')
|
|
|
|
|
{
|
|
|
|
|
printf("非法输入,请重新输入\n");
|
|
|
|
|
getchar();
|
|
|
|
|
scanf("%d%d",&x,&y);
|
|
|
|
|
x=number_mend(x);
|
|
|
|
|
}
|
|
|
|
|
if(flag%2!=0)
|
|
|
|
|
{
|
|
|
|
|
store[x-1][y-1]='O';
|
|
|
|
|
print_map();
|
|
|
|
|
flag++;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
store[x-1][y-1]='X';
|
|
|
|
|
print_map();
|
|
|
|
|
flag++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int main()
|
|
|
|
|
{
|
|
|
|
|
int count;
|
|
|
|
|
printf("这是一个井字棋游戏!选择下棋顺序并回车即可进入游戏\n");
|
|
|
|
|
printf("是否先走(Y/N)\n");
|
|
|
|
|
print_map();
|
|
|
|
|
for(count=0;count<10;count++)
|
|
|
|
|
scan_number();
|
|
|
|
|
return 0;
|
|
|
|
|
}
|