C++制作简易迷宫!

我又双叒叕来啦!

        最近有一个人向我挑衅:

开始喽!

        先搞主要部分:

                主框架搞上:

#include <bits/stdc++.h>    //万能头文件
#include <conio.h>          //getch调用
#include <windows.h>        //Sleep等调用
using namespace std;

int main()
{

	return 0;
}

        整一些变量:

char a[10][20] = {"##################",
				  "#O  #   ###   # ##",
				  "## ## #  # ##### #",
				  "#  # ###   #  ## #",
				  "##   #   #  #   ##",
				  "###    ### ### ###",
				  "########    ##  ##",
				  "##########       P",
				  "##################"};
int x, y/*人物坐标*/, p = 7, q = 17/*终点坐标*/, i/*循环变量*/;	
char ch;	//按键控制

        定义一个Game函数:

                框架:

void Game()
{
    
}

                打印地图:

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

               方向键控制:

ch = getch();

               方向键控制判断: 

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

                请注意:

  

           弄上循环:

while(1)
{

}

         搞上判断:

		if (y == zy && x == zx)
		{
			a[zy][zx] = 'O';
			system("color 0e");
			printf("\nYou Win !!! \n\n");
			_getch();
			break;
		}

总代码:

#include <bits/stdc++.h>    //万能头文件
#include <conio.h>          //getch调用
#include <windows.h>        //Sleep等调用
using namespace std;
char a[10][20] = {"##################",
				  "#O  #   ###   # ##",
				  "## ## #  # ##### #",
				  "#  # ###   #  ## #",
				  "##   #   #  #   ##",
				  "###    ### ### ###",
				  "########    ##  ##",
				  "##########       P",
				  "##################"};
int x = 1, y = 1/*人物坐标*/, p = 7, q = 17/*终点坐标*/, i/*循环变量*/;	
char ch;	//按键控制
void Game(int zy, int zx)
{
	printf("## 快乐星空 - 姬霓版迷宫 ##\n\n");
	for(i = 0; i <= 8; i++)
		puts(a[i]);
	while(1)
	{
		ch = getch();
		if (ch == 'a')
		{
			if (a[y][x - 1] != '#')
			{
				a[y][x] = ' ';
				x--;
				a[y][x] = 'O';
			}
		}
		if (ch == 'd')
		{
			if (a[y][x + 1] != '#')
			{
				a[y][x] = ' ';
				x++;
				a[y][x] = 'O';
			}
		}
		if (ch == 'w')
		{
			if (a[y - 1][x] != '#')
			{
				a[y][x] = ' ';
				y--;
				a[y][x] = 'O';
			}
		}
		if (ch == 's')
		{
			if (a[y + 1][x] != '#')
			{
				a[y][x] = ' ';
				y++;
				a[y][x] = 'O';
			}
		}
		if (y == zy && x == zx)
		{
			a[zy][zx] = 'O';
			system("color 0e");
			printf("\nYou Win !!! \n\n");
			_getch();
			break;
		}
		system("cls");
		printf("## 快乐星空 - 姬霓版迷宫 ##\n\n");
		for(i = 0; i <= 8; i++)
			puts(a[i]);
	}	
}
int main()
{
	Game(p,q);
	return 0;
}

 制作效果:

      

Bye~ 

         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐星空Maker

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值