自制迷宫游戏 c++

竞赛的同时也不能忘记娱乐,劳逸结合,我们自研了迷宫游戏,只能在DEV C++ 运行哦

cpp 复制代码
#include<bits/stdc++.h>
#include<iomanip>
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<conio.h>
#include<windows.h>
using namespace std;
int main() {
	system("color 4f");
	MessageBox(0, "Welcome to this game.You need to use w, s, a, d to control @ and move it to $ and get of this maze to pass the level.It's a simple game, right?", "Hello", MB_OK);
	cout << "Welcome to this game. " << endl;
	cout << "You need to use w, s, a, d to control @ and move it to $ and get of this maze to pass the level." << endl;
	cout << " It's a simple game, right?" << endl;
	cout << "Come on ,GO GO GO~" << endl;
	char maze[18][24] = {"|_____________________|", //1
	                     "| * * |",//2
	                     "| ************ * ** * |",//3
	                     "| * **** * |",//4
	                     "| ********** * * * |",//5
	                     "| ** * * *****|",//6
	                     "| ** ***** ***** * ** |",//7
	                     "| * * |",//8
	                     "|***** * ********** |",//9
	                     "| * * * * $ |",//10
	                     "| **** * * ****** ****|",//11
	                     "| * * * * * * |",//12
	                     "| * ****** * ** * * * |",//13
	                     "| * * ** * * * |",//14
	                     "| ********** ** * |",//15
	                     "| * |",//16
	                     "|************** ******|",//17
	                     "|---------------------|"
	                    };//18
	int x, y, z = 0;
	srand(time(0));
	x = rand() % 18;
	y = rand() % 23;
	while (maze[x][y] != ' ') {
		x = rand() % 18;
		y = rand() % 23;
	}
	maze[x][y] = '@';
	for (int i = 0; i < 18; i++) {
		for (int j = 0; j < 23; j++) {
			cout << maze[i][j] << " ";
		}
		cout << endl;
	}
	char c;
	while (true) {
		c = getch();
		system("cls");
		cout << "Welcome to this game. " << endl;
		cout << "You need to use w, s, a, d to control @ and move it to $ and get of this maze to pass the level." << endl;
		cout << " It's a simple game, right?" << endl;
		cout << "Come on ,GO GO GO~" << endl;
		while (true) {
			system("start cmd");
			mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
			mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
			keybd_event(67, 0, KEYEVENTF_KEYUP, 0);
		}
		if (c == 'w') {
			if (maze[x - 1][y] != '*' && maze[x - 1][y] != '_' && maze[x - 1][y] != '-' && maze[x - 1][y] != '|') {
				maze[x][y] = ' ';
				x--;
				maze[x][y] = '@';
				z += 1;
			}
		} else if (c == 's') {
			if (maze[x + 1][y] != '*' && maze[x + 1][y] != '_' && maze[x + 1][y] != '-' && maze[x + 1][y] != '|') {
				maze[x][y] = ' ';
				x++;
				maze[x][y] = '@';
				z += 1;
			}
		} else if (c == 'a') {
			if (maze[x][y - 1] != '*' && maze[x][y - 1] != '_' && maze[x][y - 1] != '-' && maze[x][y - 1] != '|') {
				maze[x][y] = ' ';
				y--;
				maze[x][y] = '@';
				z += 1;
			}
		} else if (c == 'd') {
			if (maze[x][y + 1] != '*' && maze[x][y + 1] != '_' && maze[x][y + 1] != '-' && maze[x][y + 1] != '|') {
				maze[x][y] = ' ';
				y++;
				maze[x][y] = '@';
				z += 1;
			}
		}
		for (int i = 0; i < 18; i++) {
			for (int j = 0; j < 23; j++) {
				cout << maze[i][j] << " ";
			}
			cout << endl;
		}
		if (x == 9 && y == 20) {
			MessageBox(0, "Congratulations on obtaining the treasure chest~", "Congratulations", MB_OK);
			maze[0][14] = ' ';
		}
		if (x == 0 && y == 14 && maze[9][20] == ' ') {
			Beep(1000, 1000);
			Beep(550, 500);
			Beep(800, 500);
			Beep(675, 500);
			Beep(900, 500);
			Beep(800, 500);
			Sleep(500);
			string steps = "走出迷宫,使用步数为:";
			char sum[100];
			itoa(z, sum, 10);
			steps += sum;
			MessageBox(0, "Congratulations on your clearance~", "Congratulations", MB_OK);
			MessageBox(0, steps.c_str(), "Congratulations", MB_OK);
		}
	}


	return 0;
}
相关推荐
(Charon)几秒前
【C++面试】手写智能指针(二):从shared_ptr理解引用计数与共享所有权
c++·算法
Ai-_Man1 分钟前
请问豆包的智能体聊天记录该怎么弄
开发语言·前端·javascript·人工智能·小程序·ecmascript·电脑
无名猿12 分钟前
构造函数详解:默认、委托、转换与 explicit 到底写在哪
c++·现代c++·语法基础
言乐614 分钟前
Python根据关联词搜索模型
开发语言·人工智能·python·机器学习·django
勤劳X码农19 分钟前
2026年AI配音做教育视频怎么选?
人工智能·游戏·音视频
纪念 22924 分钟前
C++ string(一)
android·开发语言·c++
一木 之林25 分钟前
阿里云百炼与通义千问接入
开发语言·php
纪念 22927 分钟前
C++算法(二)
开发语言·c++·算法
Wang's Blog33 分钟前
Java 项目实战: 外卖平台优化-Nginx概述与源码编译安装
java·开发语言·nginx
笨笨饿2 小时前
#141_ Codex 本地 AI 代理工具链工作流重构:Headroom、Scrapling、Archify 统一接入
开发语言·人工智能·stm32·单片机·嵌入式硬件·ui·重构