自制迷宫游戏 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;
}
相关推荐
CodeWithMe35 分钟前
【C/C++】现代C++线程池:从入门到生产级实现
c++
lsnm39 分钟前
【LINUX操作系统】生产者消费者模型(下):封装、信号量与环形队列
linux·运维·服务器·开发语言·c++·ubuntu·centos
谢尔登1 小时前
【Umi】项目初始化配置和用户权限
开发语言·javascript·ecmascript
chao_7891 小时前
python八股文汇总(持续更新版)
开发语言·python·学习
爱喝水的鱼丶1 小时前
SAP-ABAP:SAP的BAPI_PO_CHANGE功能详解
开发语言·sap·abap·bapi·采购订单修改
未来之窗软件服务1 小时前
在 Excel 中使用东方仙盟软件————仙盟创梦IDE
开发语言·excel·excel插件·仙盟创梦ide
laimaxgg1 小时前
五、central cache的设计
c++·缓存·性能优化
炯哈哈2 小时前
【上位机——WPF】命名空间
开发语言·windows·c#·wpf·上位机
Yan_ks2 小时前
JAVA面向对象——对象和类的基本语法
java·开发语言