C语言小游戏-走迷宫

几周不见,甚是想念
今天我们将学习一个小游戏-走迷宫,你可以通过键盘上的w s a d四个按键来控制小球上下左右移动,从而走出迷宫.

1.自定义迷宫

首先我们总得来自定义一个迷宫吧,先来搞个简单的迷宫

char a[50][50] = {
    "######",
				  "#O #  ",
				  "# ## #",
				  "#  # #",
				  "##   #",
				  "######" };

大写字母O表示小球,迷宫定义好后,我们就要想办法输出到屏幕上,那么是不是想到用printf呢?但是在这,我们用另一个函数puts,那么就是这样

for (i = 0; i <= 5; i++)
	puts(a[i]);

puts(a[i])表示输出每一行的字符串。我们是不是得把小球的初始位置和出口的位置存下来啊,不妨就用x,y,p,q存下来

int x=1,y=1,p=1,q=5;

那现在我们是不是就要想办法来控制小球呢,我们来看下面

2.控制小球移动

那第一步是不是向下移动呢,我们要按s键,也就是我们输入了s这个字符,那么就要读取这个字符s,读取字符有四种方法:

scanf("%c",&ch);
ch=getchar();
ch=getche();
ch=getch();

scanf我们很熟悉,那么其他3个有什么区别呢,我们该使用哪一个呢,区别如下:
getchar()读取一个字符,输入后等待用户按回车键结束,显示输入的字符;
getche()读取一个字符,输入后立即获取字符,显示输入的字符;
getch()读取一个字符,输入后立即获取字符,不显示输入的字符。
这样说相信大家能懂,那么我们在这里是不是选择最后一个ch=getch()这个语句呢.
那怎么让小球向下移动一步呢,上代码

if (ch == 's')
{
   
	if (a[x + 1][y] != '#')
	{
   
		a[x][y] = ' ';
		x++;
		a[x][y] = 'O';
	}
}

仔细看看分析分析,你肯定看得懂,那么以此类推

if (ch == 'w')
{
   
	if (a[x - 1][y] != '#')
	{
   
		a[x][y] = ' ';
		x--;
		a[x][y] = 'O';
	}
}
if (ch == 'a')
{
   
	if (a[x][y - 1] != '#')
	{
   
		a[x][y] = ' ';
		y--;
		a[x][y] = 'O';
	}
}
if (ch == 'd')
{
   
	if (a[x][y + 1] != '#')
	{
   
		a[x][y] = ' ';
		y++;
		a[x][y] = 'O';
	}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值