关闭

【好玩的棋盘游戏】编写一个玩家操作的函数和电脑能够操作的两人棋盘游戏,哪边有三个相连的胜出

93人阅读 评论(0) 收藏 举报
分类:
#include <stdio.h>
#include <stdlib.h>
char arr[3][3];
void print()
{
	int t;
	for(t=0;t<3;t++)
	{
		printf("%c|%c|%c|",arr[t][0],arr[t][1],arr[t][2]);
		printf("\n_|_|_|\n");
	}
}
void init()
{
	int i,j;
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			arr[i][j]=' ';
		}
	}
}
void player_move()
{
	int x,y;
	printf("请输入您下棋的坐标!");
	scanf("%d%d",&x,&y);
	x--;
	y--;
	if(arr[x][y]!=' ' )
	{
		printf("该位置已被占用,请重新输入!!!\n");
		player_move();
	}
	else 
		arr[x][y]='X';
}
int computer()
{
	int i, j;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            if (arr[i][j] == ' ' )
            {
            	arr[i][j]='0';
                break;
            }
        }
        break;
    }
}
char check()
{
	int i;
	for(i=0;i<3;i++)
	{
		if(arr[i][0]==arr[i][1]&&arr[i][1]==arr[i][2])
		{
			return arr[i][0];
		}
	}
	for(i=0;i<3;i++)
	{
		if(arr[0][i]==arr[1][i]&&arr[1][i]==arr[2][i])
		{
			return arr[0][i];
		}
	}
	if(arr[0][0]==arr[1][1]&&arr[1][1]==arr[2][2])
	{
		return arr[0][0];
	}
	if(arr[0][2]==arr[1][1]&&arr[1][1]==arr[2][0])
	{
		return arr[0][2];
	}
	else 
	{
		return ' ';
	}
}
int main()
{
	char none;
	printf("欢迎来到棋盘游戏!\n");
	init();
	do
	{
		print();
		player_move();
		none=check();
		if(none!=' ')
			break;
		computer();
		if(none!=' ')
			break;
	}while(none==' ');
	if(none=='X')
	{
		printf("恭喜您赢了!\n");
	}
	else 
	{
		printf("电脑赢了!\n");
	}
	print();
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14203次
    • 积分:197
    • 等级:
    • 排名:千里之外
    • 原创:109篇
    • 转载:7篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论