玩转c语言——c语言小游戏 迷宫小游戏(附源码)_c语言迷宫游戏代码

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

	}



---


**这个小游戏的器官大致就是这样**


**以下就是整个小游戏的源码**



#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
int main()
{
char a[100][100] = { “######”,
"#o # ",
“# ## #”,
“# # #”,
“## #”,
“######” };
int i, x = 1, y = 1;//p,q存储迷宫出口的位置
for (i = 0; i < 6; i++)
puts(a[i]);
char ch;
while (x != 1 || y != 5)
{
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’;
}
}

	system("cls");
	if(x==1&&y==5)
	printf("成功过关\n");
	for (i = 0; i < 6; i++)
		puts(a[i]);
}
	return 0;

}


![](https://img-blog.csdnimg.cn/3146ec5c7e0d4617a67cd582fb86a461.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAMjY1NDUwMTIyOA==,size_20,color_FFFFFF,t_70,g_se,x_16)


![](https://img-blog.csdnimg.cn/2dec926a81ae417d8f2e76f19961bd7b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAMjY1NDUwMTIyOA==,size_20,color_FFFFFF,t_70,g_se,x_16)


 这就是最后的运行结果,走出迷宫后会出现**成功过关**四个字


我们也可以对走过的步数进行计数;


定义一个count;每移动一次;count++



#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
int main()
{
char a[1000][1000] = {“##########”,
"#o # # ",
“# ## ## ##”,
“# # ##”,
“## ## ##”,
“##########” };
int i, x = 1, y = 1;
int count=0;
for (i = 0; i < 11; i++)
puts(a[i]);
char ch;
while (x != 1|| y != 9)
{
ch = _getch();
count++;
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’;
}
}

	system("cls");
	if (x == 1 && y == 9)
		printf("成功过关\n");
	for (i = 0; i < 6; i++)
		puts(a[i]);
}
printf("你一共走了%d步", count);
Sleep(5000);
return 0;

}



![](https://img-blog.csdnimg.cn/d6023da9ed4d45a5af9d99159b8ef283.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAMjY1NDUwMTIyOA==,size_20,color_FFFFFF,t_70,g_se,x_16)


 最后的结果中会出现你总共移动的步数




 **tips:**


 **我们可以将迷宫改动的复杂一点,来提高游戏体验感;由你们自己改造迷宫**


**我们也可以对走的步数进行计数,以此来比较谁到达终点的效率高**


好了,学会了就可以快乐游戏了; 




**升级版来了(增加了步数统计和登陆界面,游戏菜单等)**



#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
int main()
{
printf(" 小球球走迷宫小游戏 \n\n");

printf("______________________________________________________________________________________________________________________\n");

printf("							开始游戏  1\n\n");

printf("							游戏音量  2\n\n");

printf("							游戏设置  3\n\n");

printf("							关闭游戏  4\n\n");

int k;
scanf_s("%d",&k);
system("cls");
if(k==1) 
{
	printf("使用adsw控制上下左右移动\n\n\n"); 
char a[100][100] = { "######",
					"#o #  ",
					"# ## #",
					"#  # #",
					"##   #",
					"######" };
int i, x = 1, y = 1;//p,q存储迷宫出口的位置
for (i = 0; i < 6; i++)
	puts(a[i]);
char ch;
int count=0;
while (x != 1 || y != 5)
{
	ch = _getch();
	count++;
	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';
		}
	}

	system("cls");
	
	if(x==1&&y==5)
	
	printf("成功过关\n\n\n");
	
	for (i = 0; i < 6; i++)
	
		puts(a[i]);
		
}
printf("你一共走了%d步\n\n",count);
}
else if(k==4)

printf("游戏结束\n\n");

else if(k==2)

printf("打开qq音乐,放战歌,乌拉...\n\n\n");

 else if(k==3)
 
printf("请联系作者,并告诉他你想要的游戏设置,访问CSDN——2654501228\n\n\n"); 

system("pause"); 

	return 0;

}




![img](https://img-blog.csdnimg.cn/img_convert/77b3807974ee3ffeb34db716f89809a4.png)
![img](https://img-blog.csdnimg.cn/img_convert/258bb9df9023902cbfa99e2e4d436b9b.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**


		return 0;
}

[外链图片转存中…(img-Yyo2j7IJ-1715885325659)]
[外链图片转存中…(img-Y1d764El-1715885325659)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值