-
个人简介
My map1.2.3代码:
//头文件 #include <bits/stdc++.h> #include <stdio.h> #include <conio.h> #include <ctime> #include <windows.h> #include <cstdlib> #include <fstream> #include <stdlib.h> //读取头文件 using namespace std; int homex = 25, homey = 25, homeh = 26; //出生点的位置 int x = 25, y = 25, h = 26; //自己的位置 int key;//按键码值读取 char letter;//输入字母 string character;//输入字符 string name;//游戏名称 string password1;//游戏密码 string password2;//游戏密码(反码) int hp1, hp2; //"我"和敌人的血量(满血) int hp01, hp02; //"我"和敌人的血量(实时) float electricity = 100; //手电筒的电 int direction1, direction2; //横、竖方向 int height;//高度 long long attack;//攻击次数 int Staging1, Staging2, Staging3, Staging4; //暂存点 long long death;//死亡次数 int a; int rand1; int windows; //小弹窗 char ht[15][100] = { "<!DOCTYPE html>", "<html>", "<head>", "<title>作者</title>", "</head>", "<h1>作者:luyuyang</h1>", "<h2>可以在泡泡IM私聊</h2>", "<h2>泡泡IM与核oj的用户名一样是luyuyang</h2>", "</body>", "</html>", }; //调色 void color(int ForgC, int BackC) { WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor); } //开头的显示 void application1() { system("color 0F"); cout << "——————————""欢迎来玩My map1.2.3——————————\n"; cout << "请输入你的游戏名称:"; getline(cin, name);//一整行的输入数据都识别 cout << "请输入你的游戏密码(建议输入英文):"; getline(cin, password1);//一整行的输入数据都识别 Sleep(1000);//等待一秒 //反码加密 password2 = password1; int mid = 0; for (int i = 0; i < password2.size(); i++) { if ((password2[i] >= 'a') && (password2[i] <= 'z')) { mid = password2[i] - 'a'; password2[i] = 'z' - mid; } else if ((password2[i] >= 'A') && (password2[i] <= 'Z')) { mid = password2[i] - 'A'; password2[i] = 'Z' - mid; } } system("cls");//清屏 windows = MessageBox(NULL, (LPCTSTR)TEXT("加密成功") , (LPCTSTR)TEXT("游戏"), MB_ICONEXCLAMATION); Sleep(100);//等待0.1秒 } //主页 void application2() { for (;;) { system("cls");//清屏 cout << "1.用户信息\n"; cout << "2.开始游戏\n"; color(0, 4); cout << "3.更新说明\n"; cout << "4.关于程序以及作者\n"; if (a == 0) cout << "5.开启五彩斑斓\n"; else if (a == 1) cout << "5.取消五彩斑斓\n"; key = _getch(); //读取键盘 if (key == 49) { system("cls");//清屏 cout << "用户名:" << name; cout << "密码:" << password2; key = _getch();//读取键盘 } else if (key == 50) { break; } else if (key == 51) { system("cls");//清屏 system("color 0F"); if (a == 1) { rand1 = rand() % 6; if (rand1 == 0) system("color 0F"); else if (rand1 == 1) system("color 1F"); else if (rand1 == 2) system("color 2F"); else if (rand1 == 3) system("color 3F"); else if (rand1 == 4) system("color 4F"); else if (rand1 == 5) system("color 5F"); } cout << "游戏窗口名字更新"; key = _getch(); //读取键盘 } else if (key == 52) { system("cls");//清屏 system("start cmd");//打开cmd ofstream outfile("web1.html"); for (int i = 0; i < 15; i++) { outfile << ht[i] << '\n'; } outfile.close(); system("start web1.html"); } else if (key == 53) { system("cls");//清屏 if (a == 0) a = 1; else if (a == 1) a = 0; } else { system("cls");//清屏 windows = MessageBox(NULL, (LPCTSTR)TEXT("输入错误") , (LPCTSTR)TEXT("游戏"), MB_ICONEXCLAMATION); } system("color 0F"); if (a == 1) { rand1 = rand() % 6; if (rand1 == 0) system("color 0F"); else if (rand1 == 1) system("color 1F"); else if (rand1 == 2) system("color 2F"); else if (rand1 == 3) system("color 3F"); else if (rand1 == 4) system("color 4F"); else if (rand1 == 5) system("color 5F"); } } } //选项 void application3() { for (;;) { //难度 cout << "——————难度选择——————\n"; cout << "1.简单\n"; cout << "2.普通\n"; cout << "3.困难\n"; cout << "4.专家\n"; cout << "5.噩梦\n"; cout << "6.未知\n"; key = _getch(); //读取键盘 if (key == 49) { //"我"和敌人各100血 hp1 = 100; hp2 = 100; break; } else if (key == 50) { //"我"100血,敌人500血 hp1 = 100; hp2 = 500; break; } else if (key == 51) { //"我"100血,敌人1000血 hp1 = 100; hp2 = 1000; break; } else if (key == 52) { //"我"100血,敌人5000血 hp1 = 100; hp2 = 5000; break; } else if (key == 53) { //"我"100血,敌人50000血 hp1 = 100; hp2 = 50000; break; } else if (key == 54) { //"我"50血,敌人100000血 hp1 = 50; hp2 = 100000; break; } else { windows = MessageBox(NULL, (LPCTSTR)TEXT("输入错误") , (LPCTSTR)TEXT("游戏"), MB_ICONEXCLAMATION); system("cls"); } } system("cls");//清屏 cout << "请按任意键继续……"; key = _getch(); //读取键盘 } //游戏说明 void application4() { cout << "游戏说明:\n"; key = _getch(); //读取键盘 cout << "1.按w,s,a,d键就能上、下、左、右移动,\n"; Sleep(100);//等待0.1秒 cout << "按空格键可以跳跃,\n"; Sleep(100);//等待0.1秒 cout << "按i,k,j,l可以画面上、下、左、右移动\n"; key = _getch(); //读取键盘 cout << "2.游戏中的地势为平地,而且无树、草、花,无法破坏\n"; key = _getch(); //读取键盘 cout << "3.游戏中的泥土用#表示,\n"; Sleep(100);//等待0.1秒 cout << "长着青苔的石砖用&表示,\n"; Sleep(100);//等待0.1秒 cout << "随机用?表示\n"; key = _getch(); //读取键盘 cout << "4.千万不要往头顶望!!!\n"; key = _getch(); //读取键盘 cout << "5.你可以按g键激怒Boss,让它来正面跟你pvp\n"; key = _getch(); //读取键盘 cout << "6.如果手电筒的电为0,那么”Game Over“了\n"; key = _getch(); //读取键盘 cout << "7.按下esc键(键盘左上角的按键),就能设置出生点,死亡后重生到出生点\n"; key = _getch(); //读取键盘 cout << "8.往下看,会进入潜行模式无法移动(跳跃除外)\n"; key = _getch(); //读取键盘 cout << "9.按h键,挥剑\n"; key = _getch(); //读取键盘 cout << "10.Boss会隐形\n"; key = _getch(); //读取键盘 cout << "11.Boss血量为0时,按任意键即可\n"; Sleep(300);//等待0.3秒 cout << "按任意键开始游戏……\n"; key = _getch(); //读取键盘 } //故事情节(前) void application5() { cout << "有一天,你到平原冒险,误入了迷雾平原。" << endl; Sleep(100);//等待0.1秒 cout << "你只带了无限食物、手电筒和铜剑。" << endl; Sleep(100);//等待0.1秒 cout << "手电筒的光只能照亮你的附近" << endl; Sleep(100);//等待0.1秒 cout << "你能否胜利呢???" << endl; Sleep(100);//等待0.1秒 cout << "祝你好运," << name; key = _getch(); //读取键盘 } //故事情节(后) void application6() { cout << "你成功讨伐了Boss,迷雾也无影无踪," << endl; cout << "边界墙也消失了"; } //主函数 int main() { system("title My map1.2.3"); int map[51][51][21] = {0}; long long delay; //延迟 application1(); application2(); system("color 0F"); system("cls");//清屏 application3(); system("cls");//清屏 application4(); system("cls");//清屏 application5(); system("cls");//清屏 for (;;) { color(0, 4); cout << "输入密码:"; getline(cin, character); ////一整行的输入数据都识别 if (character != password1) { color(0, 4); windows = MessageBox(NULL, (LPCTSTR)TEXT("输入错误") , (LPCTSTR)TEXT("游戏"), MB_ICONEXCLAMATION); system("cls");//清屏 } else { color(0, 4); cout << "ok"; Sleep(500);//等待0.5秒 system("cls");//清屏 system("color 0F"); if (a == 1) { rand1 = rand() % 6; if (rand1 == 0) system("color 0F"); else if (rand1 == 1) system("color 1F"); else if (rand1 == 2) system("color 2F"); else if (rand1 == 3) system("color 3F"); else if (rand1 == 4) system("color 4F"); else if (rand1 == 5) system("color 5F"); } break; } system("color 0F"); if (a == 1) { rand1 = rand() % 6; if (rand1 == 0) system("color 0F"); else if (rand1 == 1) system("color 1F"); else if (rand1 == 2) system("color 2F"); else if (rand1 == 3) system("color 3F"); else if (rand1 == 4) system("color 4F"); else if (rand1 == 5) system("color 5F"); } } color(0, 4); cout << "延迟:"; cin >> delay; system("cls");//清屏 //以防死亡就不能继续玩 hp02 = hp2; system("color 0F"); if (a == 1) { rand1 = rand() % 6; if (rand1 == 0) system("color 0F"); else if (rand1 == 1) system("color 1F"); else if (rand1 == 2) system("color 2F"); else if (rand1 == 3) system("color 3F"); else if (rand1 == 4) system("color 4F"); else if (rand1 == 5) system("color 5F"); } for (;;) { //赋值 hp01 = hp1; height = 0; x = homex; y = homey; h = homeh; electricity = 100; direction1 = 0; direction2 = 90; attack = 0; system("cls");//清屏 //游戏内部 for (;;) { //加载地面 for (long long i = x - 1; i < x + 2; i++) for (long long j = y - 1; j < y + 2; j++) if (map[i][j][25] != 1) map[i][j][25] = 2; //加载边界墙 if (x == 49) { map[x + 1][y][h] = 3; } if (y == 49) { map[x][y + 1][h] = 3; } if (h == 19) { map[x][y][h + 1] = 3; } if (x == 1) { map[x - 1][y][h] = 3; } if (y == 1) { map[x][y - 1][h] = 3; } if (h == 1) { map[x][y][h - 1] = 3; } //主题 cout << "坐标:" << x << ',' << y << ',' << h << endl; cout << "我的血量:" << hp1 << "\\" << hp01 << endl; cout << "Boss的血量:" << hp2 << "\\" << hp02 << endl; cout << "手电筒的电量:"; cout << fixed << setprecision(1) << electricity << endl; //显示 //前 if (direction1 == 0 && direction2 == 90) { for (long long i = y + 1; i > y - 2; i--) { for (long long j = h + 1; j < h + 3; j++) { if (map[x + 1][i][j] == 0) { cout << ' '; } else if (map[x + 1][i][j] == 1) { cout << '?'; } else if (map[x + 1][i][j] == 2) { color(10, 0); cout << '#'; } else if (map[x + 1][i][j] == 3) { color(2, 0); cout << '&'; } } cout << endl; } } //后 if (direction1 == 180 && direction2 == 90) { for (long long i = y + 1; i > y - 2; i--) { for (long long j = h + 1; j < h + 3; j++) { if (map[x - 1][i][j] == 0) { cout << ' '; } else if (map[x - 1][i][j] == 1) { cout << '?'; } else if (map[x - 1][i][j] == 2) { color(10, 0); cout << '#'; } else if (map[x - 1][i][j] == 3) { color(2, 0); cout << '&'; } } cout << endl; } } //左 if (direction1 == 270 && direction2 == 90) { for (long long i = x + 1; i > x - 2; i--) { for (long long j = h + 1; j < h + 3; j++) { if (map[i][y - 1][j] == 0) { cout << ' '; } else if (map[i][y - 1][j] == 1) { cout << '?'; } else if (map[i][y - 1][j] == 2) { color(10, 0); cout << '#'; } else if (map[i][y - 1][j] == 3) { color(2, 0); cout << '&'; } } cout << endl; } } //右 if (direction1 == 90 && direction2 == 90) { for (long long i = x + 1; i > x - 2; i--) { for (long long j = h + 1; j < h + 3; j++) { if (map[i][y + 1][j] == 0) { cout << ' '; } else if (map[i][y + 1][j] == 1) { cout << '?'; } else if (map[i][y + 1][j] == 2) { color(10, 0); cout << '#'; } else if (map[i][y + 1][j] == 3) { color(2, 0); cout << '&'; } } cout << endl; } } //上 if (direction2 == 180) { system("cls");//清屏 color(0, 4); cout << "% %" << endl << endl; cout << "% %" << endl; cout << " % %" << endl; cout << " % %" << endl; cout << " % %" << endl; cout << " %%"; Sleep(10);//等待0.01秒 system("cls");//清屏 cout << "Game Over!!!你为什么看上面!!!"; Sleep(2000);//等待2秒 system("cls");//清屏 death++; break; } //下 if (direction2 == 0) { for (long long i = x - 1; i < x + 2; i++) { for (long long j = y + 1; j > y - 2; j--) { if (map[i][j][h - 1] == 0) { cout << ' '; } else if (map[i][j][h - 1] == 1) { cout << '?'; } else if (map[i][j][h - 1] == 2) { color(10, 0); cout << '#'; } else if (map[i][j][h - 1] == 3) { color(2, 0); cout << '&'; } } cout << endl; } } if (hp01 <= 50) { color(0, 4); cout << " "; system("color 0F"); Sleep(300); } key = _getch(); //读取键盘 //按键 if (key == 119 && direction1 == 0 && direction2 == 90 && map[x + 1][y][h] == 0) { x++; } else if (key == 115 && direction1 == 0 && direction2 == 90 && map[x - 1][y][h] == 0) { x--; } else if (key == 97 && direction1 == 0 && direction2 == 90 && map[x][y - 1][h] == 0) { y--; } else if (key == 100 && direction1 == 0 && direction2 == 90 && map[x][y + 1][h] == 0) { y++; } else if (key == 103 && direction1 == 0 && direction2 == 90) { Staging1 = x + 1; Staging2 = y; Staging3 = h; map[x + 1][y][h] = 4; attack = attack + 3; } else if (key == 104 && direction1 == 0 && direction2 == 90 && map[x + 1][y][h] == 4) { hp02 = hp02 - 10; } else if (key == 119 && direction1 == 180 && direction2 == 90 && map[x - 1][y][h] == 0) { x--; } else if (key == 115 && direction1 == 180 && direction2 == 90 && map[x + 1][y][h] == 0) { x++; } else if (key == 97 && direction1 == 180 && direction2 == 90 && map[x][y + 1][h] == 0) { y++; } else if (key == 100 && direction1 == 180 && direction2 == 90 && map[x][y - 1][h] == 0) { y--; } else if (key == 103 && direction1 == 180 && direction2 == 90) { Staging1 = x - 1; Staging2 = y; Staging3 = h; map[x - 1][y][h] = 4; attack = attack + 3; } else if (key == 104 && direction1 == 180 && direction2 == 90 && map[x - 1][y][h] == 4) { hp02 = hp02 - 10; } else if (key == 119 && direction1 == 270 && direction2 == 90 && map[x][y - 1][h] == 0) { y--; } else if (key == 115 && direction1 == 270 && direction2 == 90 && map[x][y + 1][h] == 0) { y++; } else if (key == 97 && direction1 == 270 && direction2 == 90 && map[x - 1][y][h] == 0) { x--; } else if (key == 100 && direction1 == 270 && direction2 == 90 && map[x + 1][y][h] == 0) { x++; } else if (key == 103 && direction1 == 270 && direction2 == 90) { Staging1 = x; Staging2 = y - 1; Staging3 = h; map[x][y - 1][h] = 4; attack = attack + 3; } else if (key == 104 && direction1 == 270 && direction2 == 90 && map[x][y - 1][h] == 4) { hp02 = hp02 - 10; } else if (key == 119 && direction1 == 90 && direction2 == 90 && map[x][y + 1][h] == 0) { y++; } else if (key == 115 && direction1 == 90 && direction2 == 90 && map[x][y - 1][h] == 0) { y--; } else if (key == 97 && direction1 == 90 && direction2 == 90 && map[x + 1][y][h] == 0) { x++; } else if (key == 100 && direction1 == 90 && direction2 == 90 && map[x - 1][y][h] == 0) { x--; } else if (key == 103 && direction1 == 90 && direction2 == 90) { Staging1 = x; Staging2 = y + 1; Staging3 = h; map[x][y + 1][h] = 4; attack = attack + 3; } else if (key == 104 && direction1 == 0 && direction2 == 90 && map[x][y + 1][h] == 4) { hp02 = hp02 - 10; } else if (key == 105) { direction2 = direction2 + 90; if (direction2 == 360) { direction2 = 0; } } else if (key == 107) { if (direction2 == 0) { direction2 = 360; } direction2 = direction2 - 90; } else if (key == 106) { if (direction1 == 0) { direction1 = 360; } direction1 = direction1 - 90; } else if (key == 108) { direction1 = direction1 + 90; if (direction1 == 360) { direction1 = 0; } } else if (key == 27) { for (;;) { system("cls");//清屏 cout << "1.设置出生点" << endl; cout << "2.退出游戏" << endl; cout << "3.继续游戏" << endl; cout << "4.设置延迟" << endl; if (a == 0) cout << "5.开启五彩斑斓\n"; else if (a == 1) cout << "5.取消五彩斑斓\n"; key = _getch(); //读取键盘 if (key == 49) { system("cls");//清屏 homex = x; homey = y; homeh = 26; break; } else if (key == 50) { for (;;) { system("cls");//清屏 cout << "Y\\N" << endl; key = _getch(); //读取键盘 if (key == 121) { system("cls");//清屏 return 0; } else if (key == 110) { system("cls");//清屏 break; } else { windows = MessageBox(NULL, (LPCTSTR)TEXT("输入错误") , (LPCTSTR)TEXT("游戏"), MB_ICONEXCLAMATION); system("cls");//清屏 } } } else if (key == 51) { system("cls");//清屏 break; } else if (key == 52) { system("cls");//清屏 cout << "当前延迟为:" << delay << endl; cout << "新延迟为:"; cin >> delay; system("cls");//清屏 break; } else if (key == 53) { if (a == 0) { a = 1; } else if (a == 1) { a = 0; } } else { windows = MessageBox(NULL, (LPCTSTR)TEXT("输入错误") , (LPCTSTR)TEXT("游戏"), MB_ICONEXCLAMATION); system("cls");//清屏 } } } else if (key == 32) { h = h + 2; height = height + 2; } else { windows = MessageBox(NULL, (LPCTSTR)TEXT("输入错误") , (LPCTSTR)TEXT("游戏"), MB_ICONEXCLAMATION); electricity = electricity + 0.1; } //加血 if (hp01 != hp1) { hp01++; } system("cls");//清屏 Sleep(delay * 10); //延迟 electricity = electricity - 0.1; //攻击次数-1 if (attack > 0) { attack--; hp01 = hp01 - 15; } //消除Boss if (attack == 0) { map[Staging1][Staging2][Staging3] = 0; } //死亡 if (hp01 <= 0 || electricity <= 0 || direction2 == 270) { cout << "Game Over!!!你因扭伤或血量为0而死"; Sleep(2000);//等待2秒 system("cls");//清屏 death++; break; } //胜利 if (hp02 <= 0) { system("cls");//清屏 system("color 4F"); cout << "你赢了,Game Over" << endl; cout << "战绩总结:" << endl; cout << "死亡次数:" << death << endl; cout << "Boss血量为" << hp2; key = _getch(); //读取键盘 system("cls");//清屏 application6(); return 0; } //落下 if (height > 0) { height--; h--; } if (a == 1) { rand1 = rand() % 6; if (rand1 == 0) system("color 0F"); else if (rand1 == 1) system("color 1F"); else if (rand1 == 2) system("color 2F"); else if (rand1 == 3) system("color 3F"); else if (rand1 == 4) system("color 4F"); else if (rand1 == 5) system("color 5F"); } } } return 0; }
冒泡排序: Ai
链接🔗
不要打开 https://www.bilibili.com/video/BV1U841197xm/
-
通过的题目
-
最近活动
This person is lazy and didn't join any contests or homework. -
最近编写的题解
This person is lazy and didn't write any solutions.
题目标签
- 客观题
- 1