自制迷宫游戏 c++
竞赛的同时也不能忘记娱乐,劳逸结合,我们自研了迷宫游戏,只能在DEV C++ 运行哦
#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"|---------------------|"};//18int 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;
}