竞赛的同时也不能忘记娱乐,劳逸结合,我们自研了迷宫游戏,只能在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;
}