标签:函数封装
#include<stdio.h>
#include<stdlib.h>
int main()
{
void empty(char arr[][3]);
void print(char arr[][3]);
void player(char[][3]);
void conplay(char[][3]);
char check(char arr[][3]);
char arr[3][3];
char key;
printf("游戏开始");
printf("\n");
empty(arr);
print(arr);
do
{
player(arr);
key=check(arr);
if(key!=‘ ‘)
break;
conplay(arr);
key=check(arr);
print(arr);
}while(key==‘ ‘);
if(key==‘X‘)
{
print(arr);
printf("玩家胜出\n");
}
else
{
print(arr);
printf("电脑胜出\n");
}
return 0;
}
void empty(char arr[][3])
{
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
arr[i][j]=‘ ‘;
}
void print(char arr[][3])
{
int i;
for(i=0;i<3;i++)
{
printf(" %c | %c | %c ",arr[i][0],arr[i][1],arr[i][2]);
printf("\n");
if(i!=2)
printf("---|---|---");
printf("\n");
}
}
void player(char arr[][3])
{
int i,j;
printf("请输入所要下的位置:");
scanf("%d%d",&i,&j);
if(i>3||j>3)
{
printf("输入错误,再重新输入\n");
player(arr);
}
if(arr[i-1][j-1]!=‘ ‘)
{
printf("此位置已被填充,请重新输入");
player(arr);
}
else
arr[i-1][j-1]=‘X‘;
}
void conplay(char arr[][3])
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(arr[i][j]==‘ ‘)
arr[i][j]=‘O‘;
else
continue;
return 0;
}
}
}
char check(char arr[][3])
{
int i;
for(i=0;i<3;i++)
{
if(arr[i][0]==arr[i][1]&&arr[i][0]==arr[i][2])
return arr[i][1];
else if(arr[1][i]==arr[2][i]&&arr[1][i]==arr[0][i])
return arr[1][i];
else if(arr[0][0]==arr[1][1]&&arr[1][1]==arr[2][2])
return (arr[0][0]);
else if(arr[2][0]==arr[1][1]&&arr[1][1]==arr[0][2])
return (arr[2][0]);
}
return ‘ ‘;
}本文出自 “小止” 博客,请务必保留此出处http://10541556.blog.51cto.com/10531556/1679293
标签:函数封装
原文地址:http://10541556.blog.51cto.com/10531556/1679293