迷宫程序

      通过W、S、A、D四个按键分别控制上、下、左、右移动,Q退出程序,利用数组自己设定了一个简单的迷宫图,并通过for循环利用puts显示,通过system("cls");刷新屏幕显示。

#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;
class Maze
{
private:
	int x, y, xout, yout;
	char ch;
	char a[100][100] = { "**********",
		"*O       *",
		"**  ******",
		"***      *",
		"* ****** *",
		"*     ** *",
		"* ***    *",
		"* *   ****",
		"* ********",
		"* ********",
	};//竖着的是x,横着的是y
public:
	void Run();
};


void Maze::Run()
{
	x = 1; y = 1; xout = 9; yout = 1;
	for (int i = 0; i <= 10; i++)
	{
		puts(a[i]); //用于打印显示a中的数据
	}
	while (x != xout || y != yout)//如果未走到终点则继续走,或者通过q退出
	{
		cin >> ch;
		//ch=getchar();
		cout << ch <<'\n'<< endl;
		if (ch == 'q' || ch == 'Q')
		{
			cout << "退出游戏" << endl;
			break;
		}
		if (ch == 's' || ch == 'S')//上移
		{
			if (a[x + 1][y] != '*')
			{
				a[x][y] = ' ';
				x++;
				cout << x << endl;
				a[x][y] = 'O';
			}
		}
		if (ch == 'w' || ch == 'W')//下移
		{
			if (a[x - 1][y] != '*')
			{
				a[x][y] = ' ';
				x--;
				a[x][y] = 'O';
			}
		}
		if (ch == 'a' || ch == 'A')//左移
		{
			if (a[x][y - 1] != '*')
			{
				a[x][y] = ' ';
				y--;
				a[x][y] = 'O';
			}
		}
		if (ch == 'd' || ch == 'D')//右移
		{
			if (a[x][y + 1] != '*')
			{
				a[x][y] = ' ';
				y++;
				a[x][y] = 'O';
			}
		}
		system("cls");
		for (int i = 0; i <= 10; i++)
		{
			puts(a[i]);//用于打印显示a中的数据
		}
	}
	system("cls");
	cout << "恭喜你赢了!" << endl;
}

int main()
{
	Maze maze;
	maze.Run();
	Sleep(5000);
    return 0;
}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值