zangyuanan320的博客

Keep Dreaming!!

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

#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();
}


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zangyuanan320/article/details/51538008
个人分类: C语言
上一篇实现一个函数,判断一个数是不是素数。
下一篇【C语言】编写一个折半查找函数
想对作者说点什么? 我来说一句

骑士飞行棋--一套简单JAVA游戏

2009年09月15日 1.59MB 下载

没有更多推荐了,返回首页

关闭
关闭