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