C语言迷宫迷雾模式

C语言实现三种模式迷宫

废话先不多说,直接上游戏内图片
在这里插入图片描述在这里插入图片描述在这里插入图片描述


该小迷宫有三种模式,第一种模式是地图全亮的,第二种是可侦察式迷雾地图,第三种是迷雾地图。
由于在这里我画墙用的是小方块和小球( ■ □ ●),所以可能在某些编译器会报错、不识别,不过没有事,重新找字符替代就完事了,但要注意比例。




在这里插入图片描述
实际上坐标轴是这样的,往下走,就是y+,往上走,就是y-,往左走就是x-,往右走就是x+

system("cls"); 			//清屏函数
sleep(1000);				//可延时输出,单位是ms,1000ms=1s
//这个是坐标函数,是用来定义光标的位置的,调用的时候只需输入你想调试的坐标即可
void gotoxy(int x,int y)
{
   
    COORD coord = {
   (short)x, (short)y};
	HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hout, coord);
}
//这个是颜色函数,是用来改变字符颜色的
void color(int color)
{
   
	HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hout, (BYTE)color);			 //得到的数值的范围是0~15 
    
    //0 = 黑色, 1 = 蓝色, 2 = 绿色, 3 = 湖蓝色, 4 = 红色, 5 = 紫色, 6 = 黄色, 7 = 白色,
	//8 = 灰色, 9 = 淡蓝色, 10 = 淡绿色, 11 = 淡浅绿色, 12 = 淡红色, 13 = 淡紫色, 14 = 淡黄色, 15 = 亮白色
	//若 所选范围大于15,则返回默认的颜色 
}

这里是全部的代码

#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>

#define WIDTH 26		//地图宽度 
#define HEIGHT 19		//地图高度 
#define ROAD 0			//路 
#define WALL 1			//墙 
#define EXIT 2			//出口 

void gotoxy(int x,int y);		//坐标函数,用来定义光标位置 
void color(int color);			//颜色函数,可用来改变字符颜色 
void welcome();					//欢迎界面 
void story();					//小剧情 
void printmap();				//打印地图 
void redrawmap(int x, int y);		//迷雾地图(当小球走过已显示的路径的范围时,该区域重新变成迷雾) 
void redrawvision(int x, int y);	//可侦察式迷雾地图(当小球走过已显示的路径的范围时,该区域可走路径为已显示) 
void end_bkb();						//结束界面 
void menu(); 						//提示栏:可选择游戏难度 
void move(int x, int y);			//小球在地图视图全开和地图视图为迷雾模式的移动情况 
void move3(int x, int y);			//小球在可侦察式迷雾地图模式的移动情况 
void schema(int x, int y);			//选择游戏模式(难度) 

int sight;							//它的值可以决定小球周围可查看区域的大小 

//地图 1代表墙,0代表路,2代表出口
int map[HEIGHT][WIDTH]=				 
{
   
    {
   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    {
   1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,1},
    {
   1,0,1,1,1,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,1,1,1},
    {
   1,0,1,0,0,1,0,0,1,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,1,1},
    {
   1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,1,1,0,1,1,1,0,0,1},
    {
   1,0,0,0,0,0,1,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1},
    {
   1,1,0,1,1,0,1,1,1,0,0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1},
    {
   1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1,1},
    {
   1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,1},
    {
   1,0,1,0,1,1
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值