【C++ 游戏】密室逃脱

news/2024/9/19 0:48:36/ 标签: 游戏

首先来大张旗鼓的介绍一下:

全网之最:

游戏全网第一篇C++语言的密室逃脱类剧情游戏

游戏全网第一篇将画面类同等性质转化为文字类的游戏

游戏画——文类型游戏的突破口,适合借鉴

哈哈好了不吹了,不过上面的都是真的。

如你们所期待的,『逍遥君』 的下一篇游戏【密室逃脱】于 9/2 日如期发布,感谢读者对我的支持,你们的支持是我前进的动力!

以下是游戏的通关方法

通关方法(建议实在通不了关再看)

客厅:木门、铁门、铁窗、花盆、储物柜、隔间、墙根、暖气片、油烟机
浴室:回客厅,水龙头,浴缸,窗台
卧室:回客厅,保险柜,箱子,电视机,空调

客厅:木门用钥匙->浴室,铁门用4位密码->卧室,铁窗用小刀+电池+12位密码->逃脱,花盆用水->卡片,储物柜用棒子->钥匙,隔间用卡片->螺丝刀,墙根->说明书+铁片,暖气片用撬棍->水,油烟机擦一次->4位密码,油烟机擦三次->8位密码
浴室:水龙头->锁芯,浴缸用铁片->撬棍,窗台->遥控器
卧室:保险柜用8位密码->棒子,箱子用锁芯->小刀,电视机用遥控器+螺丝刀->前6位密码+遥控器的电池,关闭空调->空调盖上后6位密码

注:前6位密码和后6位密码组成了12位密码。

游戏代码

#include <bits/stdc++.h>
#include <windows.h>
#include <ctime>
using namespace std;
int x, Limit_time, t1;
int living_key, living_knife, living_water, living_stick, compart_card, living_battery, bed_screwdrivers, bath_iron, living_crowbar, bed_lock, bed_machine;//电池、螺丝刀、撬棍、锁芯 
int findliving[100], zhao[100], living_havefound[100], findbath[100], bath_havefound[100], bed_havefound[100], findbed[100];//客厅1,浴室2,卧室3 
int living_ca;
void slowsay(string s) {for (int i = 0; i < s.size(); i++) {cout << s[i];Sleep(30);}
}
void HideCursor() {CONSOLE_CURSOR_INFO cursor_info = {1, 0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
string Mima = "732986512309";
void sayword_living(int id) {system("cls");Sleep(20);if (id == 2) slowsay("你发现了一扇木门\n\n");if (id == 3) slowsay("你发现了一扇铁门\n\n");if (id == 4) slowsay("客厅的尽头有一扇窗户,可惜是铁的,你打不开\n\n");if (id == 5) slowsay("窗前的花盆吸引了你的注意\n\n");if (id == 6) slowsay("直到你走近,你才发现你以为的墙面中含有一扇储物柜\n\n");if (id == 7) slowsay("你发现了隐匿在墙上的一个小门,可以推开,里面是一个隔间\n\n");if (id == 8) slowsay("墙根的霉点吸引了你的注意\n\n");if (id == 9) slowsay("陈旧的暖气片似乎有利用价值?\n\n");if (id == 10) slowsay("你发现了一个沾满了油污的油烟机\n\n"); if (id > 10) slowsay("你什么也没找到,再找找吗?\n\n");else findliving[id] = 1;Sleep(2000);system("cls");
}
void sayword_bath(int id) {system("cls");Sleep(20);if (id == 3) slowsay("你发现了一个水龙头\n\n");if (id == 4) slowsay("一个大浴缸横跨半个浴室,你不可能看不见\n\n");if (id == 5) slowsay("窗台上好像有什么东西?\n\n");if (id > 5) slowsay("你什么也没找到,再找找吗?\n\n");else findbath[id] = 1;Sleep(2000);system("cls");
}
void sayword_bed(int id) {system("cls");Sleep(20);if (id == 3) slowsay("你发现了一个保险柜\n\n");if (id == 4) slowsay("你发现了一个箱子\n\n");if (id == 5) slowsay("你发现了一个没有遥控器的电视机\n\n");if (id == 6) slowsay("你发现了一个打开着的空调\n");if (id > 6) slowsay("你什么也没找到,再找找吗?\n\n");else findbed[id] = 1;Sleep(2000);system("cls");
}
void Judge() {int t2 = time(0);slowsay("\n\n即将跳转限时挑战评判界面(等待 10s)\n");Sleep(10000);system("cls");int gone_time = t2 - t1;if (gone_time <= 900) {system("color A");slowsay("您的通关用时为 ");printf("%d", gone_time);slowsay(",用时限制为 900s,您成功了\n");Sleep(2000);} else {slowsay("您的通关用时为 ");printf("%d", gone_time);slowsay(",用时限制为 900s,很遗憾,您失败了\n");Sleep(2000);}
}
signed main() {srand(time(NULL));HideCursor();system("title 密室逃脱");slowsay("密室逃脱1.0\n\n创作人:『逍遥君』\n\n创作时间:2024/8/26起\n\n全网第一篇文字类型完整剧情的密室逃脱C++游戏\n\n不经允许,请勿转载,后果自负\n\n游戏即将开始,成功离开密室就算胜利");Sleep(3000);system("cls");slowsay("昏暗的灯光照射着房间,地板上渗出了丝丝血迹\n\n");Sleep(500);slowsay("你忘记了一切的一切,环顾四周,只发现身处一间破旧的小屋\n\n");Sleep(500);t1 = time(0);if (MessageBox(NULL, "是否开始 900s 极限限时挑战?","限时挑战", MB_YESNO) == IDNO) goto Living;if (x == 2) goto Living;system("color C");slowsay("请记住,本次逃脱时间共 900s,若 900s 后仍未完成逃脱,则挑战失败\n\n");Sleep(2000);Limit_time = 1; system("color F");MessageBox(NULL, "警告:900s已开始计时,请迅速寻找线索并通关游戏","Warning", MB_ICONEXCLAMATION);MessageBox(NULL, "提示:由于文字输出需要时间,所以请不要重复过多次相同剧情","Warning", MB_OK);
Living:system("cls");slowsay("<Living room><客厅>\n\n<1>四处看看?\n");//okif (findliving[2]) slowsay("<2>前往木门\n");//okif (findliving[3]) slowsay("<3>前往铁门\n");//okif (findliving[4]) slowsay("<4>前往铁窗\n");//okif (findliving[5]) slowsay("<5>查看花盆\n");//okif (findliving[6]) slowsay("<6>查看储物柜\n");//ok if (findliving[7]) slowsay("<7>前往隔间\n");//okif (findliving[8]) slowsay("<8>墙根\n");//okif (findliving[9]) slowsay("<9>暖气片\n");//okif (findliving[10]) slowsay("<10>擦拭被油污污染的油烟机\n");//okif (Limit_time == 1) slowsay("<-1>查看当前已过时间\n");printf("\n");scanf("%d", &x);system("cls");if (!findliving[x] && x != 1 && x != -1) {slowsay("输入无效\n");Sleep(2000);goto Living;}if (Limit_time == 1 && x == -1) {int t2 = time(0);printf("已过 %d 秒,剩余 %d 秒", t2 - t1, 900 - t2 + t1);Sleep(2000);} else if (x == 1) {zhao[1]++;int sum = 0;for (int i = 2; i <= 10; i++) {sum += findliving[i];}if (sum >= 9) {int t = rand() % 3;if (t == 0) slowsay("你在客厅四处走动,但没有发现其他的东西\n\n");if (t == 1) slowsay("你翻遍了每一个角落,但是貌似一切都如瓮中之鳖,被你尽收眼底\n\n");if (t == 2) slowsay("似乎你已经找完了所有地方了\n\n");Sleep(2000);} else if (zhao[1] > 25) {for (int i = 2; i <= 10; i++) {if (!findliving[i]) {findliving[i] = 1;sayword_living(i);break;}}} else {int none = rand() % 5;if (none == 0) {sayword_living(11);} else {vector<int> all;for (int i = 2; i <= 10; i++) {if (!findliving[i]) {all.push_back(i);}}int Rand = rand() % all.size();sayword_living(all[Rand]);}}} else if (x == 2) {if (!living_key) {slowsay("你需要一把钥匙\n\n");Sleep(2000);} else {if (!living_havefound[2]) {slowsay("你使用你找到的钥匙打开了木门\n\n");Sleep(500);slowsay("啊...怎么还不是外面啊...\n\n一间浴室...我没眼花吧?...\n\n");Sleep(2000);living_havefound[2] = 1;goto Bath;}if (living_havefound[2] == 1) {slowsay("你进入了浴室\n\n");Sleep(2000);goto Bath;}}} else if (x == 3) {if (!living_havefound[3]) {slowsay("请输入四位数字密码:");int mi;cin >> mi;if (mi == 1928) {slowsay("密码正确\n\n");Sleep(2000);living_havefound[3] = 1;slowsay("你悄悄地推开门,走了进去,里面竟然是一间卧室!\n\n");Sleep(2000);slowsay("线索真的越来越多了呢...你想。\n\n");Sleep(2000);goto Bed;} else {system("color C");slowsay("密码错误\n\n");Sleep(2000);system("color F");}}if (living_havefound[3]) {slowsay("你进入了卧室\n\n");Sleep(2000);goto Bed;}} else if (x == 4) {if (!living_knife) {slowsay("铁窗十分坚固,你暂且无法将它打开\n\n");Sleep(2000);} else {if (living_havefound[4] == 0) {slowsay("经过你的尝试,你用你的小刀将铁窗划开了一个大口\n\n");living_havefound[4] = 1;Sleep(2000);}if (living_havefound[4] == 1 && !living_battery) {slowsay("里面是一架机器,但是电池被偷走了,你暂时无法将它启动\n\n");Sleep(2000);slowsay("我是不是漏了点什么?你对自己说。\n\n");Sleep(2000);} else if (living_havefound[4] == 1 && living_battery) {slowsay("你用电池激活了其中的机器,屏幕缓缓亮起,露出了输入密码的空格\n\n");Sleep(2000);slowsay("请输入 12 位密码:");living_havefound[4] = 2;string mima;cin >> mima;if (mima != Mima) {system("color C");slowsay("密码错误\n\n");Sleep(2000);system("color F");} else {slowsay("随着你的输入,机器缓缓打开,露出了外面的世界\n\n一栋栋废弃的高楼林立在各处,毫无气息可言\n\n满是硝烟的战场浮现在了你的眼前,你惊讶地看着眼前这一切,不相信这是真正的世界\n\n战争肆虐,人民流离失所,无家可归\n\n“或许这里才是最好的归宿呢”你想\n\n随后你看了看身后,却发现不知什么时候对面的墙上露出了一行血液写的字:\n\n“DOOMSDAY CAGE”似乎还是新写上去的,血液正在亿点点地留下\n\n你突然明白了一切,一百年前外面开始爆发战乱\n\n所有这个国家的幸存者都被冷冻而安放到各个不为人知的密室中了\n\n而过了一百年就会从“末日笼”中苏醒,自己寻找生路\n\n你回忆起了一切,不禁唏嘘感叹\n\n你从窗户探出头,看向了四周的房间\n\n一个个不同形状的末日笼中,装着一个个相同的你\n\nThe End............\n\n");system("color C");if (Limit_time == 1) {Judge();} return 0;}} else if (living_havefound[4] == 2) {slowsay("请输入 12 位密码:");string mima;cin >> mima;if (mima != Mima) {system("color C");slowsay("密码错误\n\n");Sleep(2000);system("color F");} else {slowsay("随着你的输入,机器缓缓打开,露出了外面的世界\n\n一栋栋废弃的高楼林立在各处,毫无气息可言\n\n满是硝烟的战场浮现在了你的眼前,你惊讶地看着眼前这一切,不相信这是真正的世界\n\n战争肆虐,人民流离失所,无家可归\n\n“或许这里才是最好的归宿呢”你想\n\n随后你看了看身后,却发现不知什么时候对面的墙上露出了一行血液写的字:\n\n“DOOMSDAY CAGE”似乎还是新写上去的,血液正在亿点点地留下\n\n你突然明白了一切,一百年前外面开始爆发战乱\n\n所有这个国家的幸存者都被冷冻而安放到各个不为人知的密室中了\n\n而过了一百年就会从“末日笼”中苏醒,自己寻找生路\n\n你回忆起了一切,不禁唏嘘感叹\n\n你从窗户探出头,看向了四周的房间\n\n一个个不同形状的末日笼中,装着一个个相同的你\n\nThe End............\n\n");system("color C");if (Limit_time == 1) {Judge();}return 0;}}}} else if (x == 5) {if (!living_water) {slowsay("花盆中的花枯萎的不行,泥土也龟裂了几条大口\n\n或许我应该找点水来?你想。\n\n");Sleep(2000);} else {if (!living_havefound[5]) {slowsay("你找到了一些水来,将泥土弄湿,一张卡片状的物体显露了出来\n\n");living_havefound[5] = 1;compart_card = 1;Sleep(2000);} else {slowsay("你已经取走了这里的卡片\n\n");Sleep(2000);}}} else if (x == 6) {if (!living_havefound[6]) {if (!living_stick) {slowsay("你慢慢打开柜门,一个不知是什么的东西突然扑到了你的头上\n\n啊......\n\n什么?&@#>$@#$>...怎么会这样\n\n这一切的一切\n\n到底是谁在作祟......\n\n......我不知道\n\n...却可以重新来过\n\n......\n\n");Sleep(2000);slowsay("几分钟后,你又醒了过来,依然在客厅\n\n");Sleep(2000);} else {slowsay("你慢慢打开柜门,一个不知是什么的东西突然扑到了你的头上\n\n你立刻用手中的棍子将它打了出去\n\n");Sleep(2000);slowsay("在它的身体里,你发现了一串钥匙\n\n");Sleep(2000);living_key = 1;living_havefound[6] = 1;}} else {slowsay("里面什么也没有了\n\n");Sleep(2000);}} else if (x == 7) {if (!compart_card) {slowsay("门口有一个刷卡器,但是你没有卡\n\n倒是有了卡再来啊...\n\n");Sleep(2000);} else {if (!living_havefound[7]) {slowsay("隔间很大,但是能用的东西却只有一个螺丝刀\n\n");bed_screwdrivers = 1;Sleep(2000);living_havefound[7] = 1;} else {slowsay("里面都被你翻了个底朝天,但还是找不到其他东西了\n\n");Sleep(2000);}}} else if (x == 8) {if (!living_havefound[8]) {slowsay("墙角有一个说明书样的东西,上面的墨水已经残缺,隐约能看出下面的字迹:\n\n战.....Y@#?争始..........1$#@Msd\n铁...23/342#$(%$窗)出.....密*@#($())0..\n\n");Sleep(2000);slowsay("你什么也没看懂\n\n但在一个不起眼的角落里,你发现了一块铁片\n\n");Sleep(2000);bath_iron = 1;living_havefound[8] = 1;} else {slowsay("除了一团脏灰,你什么也没找到\n\n");Sleep(2000);}} else if (x == 9) {if (!living_crowbar) {slowsay("你没有趁手的工具,暂时对它无可奈何\n\n");Sleep(2000);} else {if (!living_havefound[9]) {slowsay("你用撬棍将其撬开,接到了最后的一些水\n\n");Sleep(2000);living_water = 1;living_havefound[9] = 1;} else {slowsay("里面已经没有水了\n\n");Sleep(2000);}}} else if (x == 10) {if (living_ca > 3) {slowsay("这里擦得十分亮了\n\n");Sleep(2000);} else if (living_ca == 3) {slowsay("你轻轻擦拭油烟机,却有了意外的发现\n\n在1928后面还有一串小的八位数字\n\n20240826\n\n");Sleep(2000);slowsay("你默默地记在了心里(密码无法二次看到,请一定记好!)\n\n");Sleep(2000);} else if (living_ca == 1 || living_ca == 2) {slowsay("你又擦了擦,暂时没有新的发现\n\n");Sleep(2000);} else {slowsay("你轻轻擦了擦油烟机,一串数字显露了出来:1928\n\n");Sleep(2000);slowsay("你轻易地记了下来(请记下来)\n\n");Sleep(2000);}living_ca++; } else {printf("输入错误\n");Sleep(2000);}goto Living;
Bath:system("cls");slowsay("<Bath room><浴室>\n\n<1>四处看看?\n<2>回到客厅\n");//ok//okif (findbath[3]) slowsay("<3>前往水龙头\n");//okif (findbath[4]) slowsay("<4>前往浴缸\n");//okif (findbath[5]) slowsay("<5>查看窗台\n");//okif (Limit_time == 1) slowsay("<-1>查看当前已过时间\n");printf("\n");scanf("%d", &x);system("cls");if (!findbath[x] && x != 1 && x != 2 && x != -1) {slowsay("输入无效\n");Sleep(2000);goto Bath;}if (Limit_time == 1 && x == -1) {int t2 = time(0);printf("已过 %d 秒,剩余 %d 秒", t2 - t1, 900 - t2 + t1);Sleep(2000);} else if (x == 1) {zhao[2]++;int sum = 0;for (int i = 3; i <= 5; i++) {sum += findbath[i];}if (sum >= 3) {int t = rand() % 3;if (t == 0) slowsay("你在浴室四处走动,但没有发现其他的东西\n\n");if (t == 1) slowsay("你翻遍了每一个角落,但是貌似一切都如瓮中之鳖,被你尽收眼底\n\n");if (t == 2) slowsay("似乎你已经找完了所有地方了\n\n");Sleep(2000);} else if (zhao[2] > 10) {for (int i = 3; i <= 5; i++) {if (!findbath[i]) {findbath[i] = 1;sayword_bath(i);break;}}} else {int none = rand() % 5;if (none == 0) {sayword_bath(11);} else {vector<int> all;for (int i = 3; i <= 5; i++) {if (!findbath[i]) {all.push_back(i);}}int Rand = rand() % all.size();sayword_bath(all[Rand]);}}} else if (x == 2) {slowsay("你回到了客厅\n\n");Sleep(2000);goto Living;} else if (x == 3) {if (!bath_havefound[3]) {slowsay("水龙头是坏的,但你在水龙头的内部发现了一个锁芯\n\n");Sleep(2000);bed_lock = 1;bath_havefound[3] = 1;} else {slowsay("这里没有什么了\n\n");Sleep(2000);}} else if (x == 4) {if (!bath_iron) {slowsay("浴缸中间有一个很小的裂缝,你需要一个细小的东西来撬开它\n\n");Sleep(2000);} else {if (!bath_havefound[4]) {slowsay("你用铁片撬开了浴缸,里面藏有一个撬棍\n\n");Sleep(2000);living_crowbar = 1;bath_havefound[4] = 1;} else {slowsay("你已经撬开过浴缸了\n\n");Sleep(2000);}}} else if (x == 5) {if (!bath_havefound[5]) {slowsay("窗台上有一个遥控器,你拿了起来\n\n");Sleep(2000);bed_machine = 1;bath_havefound[5] = 1; } else {slowsay("窗台上什么都没有了\n\n");Sleep(2000);}} else {slowsay("输入错误\n");Sleep(2000);}goto Bath;
Bed:system("cls");slowsay("<Bed room><卧室>\n\n<1>四处看看?\n<2>回到客厅\n");//ok//okif (findbed[3]) slowsay("<3>查看保险柜\n");//okif (findbed[4]) slowsay("<4>拿起箱子\n");//okif (findbed[5]) slowsay("<5>前往电视机\n");//okif (findbed[6]) slowsay("<6>前往空调\n");if (Limit_time == 1) slowsay("<-1>查看当前已过时间\n");printf("\n");scanf("%d", &x);system("cls");if (!findbed[x] && x != 1 && x != 2 && x != -1) {slowsay("输入无效\n");Sleep(2000);goto Bed;}if (Limit_time == 1 && x == -1) {int t2 = time(0);printf("已过 %d 秒,剩余 %d 秒", t2 - t1, 900 - t2 + t1);Sleep(2000);} else if (x == 1) {zhao[3]++;int sum = 0;for (int i = 3; i <= 6; i++) {sum += findbed[i];}if (sum >= 4) {int t = rand() % 3;if (t == 0) slowsay("你在卧室四处走动,但没有发现其他的东西\n\n");if (t == 1) slowsay("你翻遍了每一个角落,但是貌似一切都如瓮中之鳖,被你尽收眼底\n\n");if (t == 2) slowsay("似乎你已经找完了所有地方了\n\n");Sleep(2000);} else if (zhao[3] > 15) {for (int i = 3; i <= 6; i++) {if (!findbed[i]) {findbed[i] = 1;sayword_bed(i);break;}}} else {int none = rand() % 5;if (none == 0) {sayword_bed(11);} else {vector<int> all;for (int i = 3; i <= 6; i++) {if (!findbed[i]) {all.push_back(i);}}int Rand = rand() % all.size();sayword_bed(all[Rand]);}}} else if (x == 2) {slowsay("你回到了客厅\n\n");Sleep(2000);goto Living;} else if (x == 3) {if (!bed_havefound[3]) {slowsay("请输入保险柜 8 位密码:");scanf("%d", &x);if (x == 20240826) {slowsay("密码正确\n\n");Sleep(2000);slowsay("你缓缓打开了保险柜,却发现里面只有一个棒子\n\n“这什么破保险柜?”你骂道。\n\n");Sleep(2000);living_stick = 1;bed_havefound[3] = 1;} else {system("color C"); slowsay("密码错误\n\n");Sleep(2000);system("color F");}} else {slowsay("你已经取走了保险柜里的东西\n\n");Sleep(2000);}} else if (x == 4) {if (!bed_lock) {slowsay("箱子上面有个缺了锁芯的锁,你需要一个锁芯\n\n");Sleep(2000);} else {if (!bed_havefound[4]) {slowsay("你用锁芯打开了箱子,里面有一个小刀\n\n");Sleep(2000);living_knife = 1;bed_havefound[4] = 1;} else {slowsay("你已经取走了箱子里的物品\n\n");Sleep(2000);}}} else if (x == 5) {if (!bed_machine) {slowsay("你没有可以打开它的遥控器\n\n");Sleep(2000);} else {if (!bed_havefound[5]) {slowsay("你用遥控器打开了电视\n\n电视上显现出 6 位数字:732986\n\n");Sleep(2000);slowsay("你在心中记下了(请记下)\n\n");Sleep(2000);bed_havefound[5] = 1;} else {slowsay("电视机上没有别的东西了\n\n");Sleep(2000);}if (bed_screwdrivers == 1 && !living_battery) {slowsay("你用螺丝刀撬开了遥控器,取出了电池\n\n");Sleep(2000);living_battery = 1;}}} else if (x == 6) {if (!bed_havefound[6]) {slowsay("你点击了一下【关闭】,空调缓缓关上了\n\n在空调盖上,有 6 位数字:512309\n\n");Sleep(2000);slowsay("你在心中记下了(请记下)\n\n");Sleep(2000);bed_havefound[6] = 1;} else {slowsay("空调已经关上且不可打开了\n\n");Sleep(2000);}} else {slowsay("输入错误\n");Sleep(2000);}goto Bed;return 0;
}

建议一开始玩的朋友不要选择限时游玩,很难的!!!

提示:全游戏没有需要按回车用来跳过剧情的地方,大多数地方两秒后自动更新剧情。 

感谢粉丝们的资瓷,能不能有个赞呀!!


http://www.ppmy.cn/news/1519924.html

相关文章

温馨网站练习运用

第二次与团队一起制作网页虽然不进行商用&#xff0c;但是练习一下还是好的&#x1f60a;&#x1f60a; 我主要负责后端部分&#xff0c;该项目用了SpringBoot框架、SpringSecurity的安全框架、结合MyBatis-Plus的数据库查询。如果想看看&#xff0c;网站&#xff1a;温馨网登…

AI大模型之旅-本地安装llm工具dify 和 fastgpt

一:安装dify 官网地址&#xff1a; https://dify.ai/ 克隆 Dify 源代码至本地。 git clone https://github.com/langgenius/dify.git 启动 Dify 进入 Dify 源代码的 docker 目录&#xff0c;执行一键启动命令&#xff1a; cd dify/docker cp .env.example .env docker com…

多目标应用:基于自组织分群的多目标粒子群优化算法(SS-MOPSO)的移动机器人路径规划研究(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人&#xff08;Mobile robot&#xff0c;MR&#xff09;的路径规划是 移动机器人研究的重要分支之&#xff0c;是对其进行控制的基础。根据环境信息的已知程度不同&#xff0c;路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

71. 简化路径算法实现详解(goalng版)

LeetCode 71. 简化路径详解 一、题目描述 给你一个字符串 path,表示指向某一文件或目录的 Unix 风格绝对路径(以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点(…)表示将目录切换到上一级(…

数据结构代码集训day14(适合考研、自学、期末和专升本)

题目均来自b站up&#xff1a;白话拆解数据结构&#xff01; 今日题目如下&#xff1a;&#xff08;1&#xff09;试写一个算法判断给定字符序列是否是回文。 &#xff08;2&#xff09;给定一个算法判断输入的表达式中括号是否匹配。假设只有花、中、尖三种括号。 题1 回文序列…

【类模板】类模板的特化

一、类模板的泛化 与函数模板一样&#xff0c;类模板的泛化就是普通的模板&#xff0c;不具有特殊性的模板。 以下的类模板为泛化的版本 //类模板的泛化 template<typename T,typename U> struct TC {//静态成员变量static int static_varible; //声明TC() {std::cout…

【Java EE】JVM

目录 1. JVM简介 2.JVM运行流程 3.JVM运行时数据区 3.1 堆&#xff08;线程共享&#xff09; 3.2 Java虚拟机栈&#xff08;线程私有&#xff09; 1. JVM简介 JVM是 Java Virtual Machine 的简称&#xff0c;意为Java虚拟机。 虚拟机是指通过软件模拟的具有完整硬件功能的…

python-简单的dos攻击

前言 这个是DOS攻击学习(注意&#xff1a;千万别去攻击有商业价值的服务器或应用&#xff0c;不然会死的很惨(只有一个IP通过公网访问容易被抓),前提是网站没有攻击防御) 创建一个以python编写的后端web服务(好观察) 安装flask pip install flask from flask import Flaskapp …

Android使用前台服务

Android使用前台服务 服务几乎都是在后台运行的&#xff0c;一直以来它都是默默地做着辛苦的工作。但是服务的系统优先级还是比较低的&#xff0c;当系统出现内存不足的情况时&#xff0c;就有可能会回收掉正在后台运行的服务。 如果你希望服务可以一直保持运行状态&#xff…

使用golang的AST编写定制化lint

什么是lint &#xff08;来自wiki&#xff09;在计算机科学中&#xff0c;lint是一种工具程序的名称&#xff0c;它用来标记源代码中&#xff0c;某些可疑的、不具结构性&#xff08;可能造成bug&#xff09;的段落。它是一种静态程序分析工具&#xff0c;最早适用于C语言&…

【13年12月CCF计算机软件能力认证】:出现次数最多的数、ISBN号码、最大的矩形、有趣的数、I‘m stuck!

题目概括出现次数最多的数暴力枚举&#xff0c;非常简单ISBN号码直接模拟&#xff0c;非常简单最大的矩形用到双指针&#xff08;优化枚举&#xff09;&#xff0c;非常简单有趣的数用到了数学知识排列组合&#xff0c;有一定思维难度I’m stuck!我用到了两个dfs来解决&#xf…

【区块链 + 供应链】广汽本田区块链合同供应链管理系统 | FISCO BCOS应用案例

广汽本田是国内汽车制造的龙头&#xff0c;每年销售额超千亿级别&#xff0c;每年的合同采购规模量在百亿以上。企业内部采用传 统的中心化方式管理合同&#xff0c;由于涉及部门众多&#xff0c;需要管理的合同要素也各不相同&#xff0c;造成信息不集中、合同版本众多、 合同…

C#中lock(this)与lock(private object)区别

前言 在使用多线程编程时&#xff0c;我们会对代码关键部分确保其一次只由一个线程执行&#xff0c;对于防止争用条件和保持数据完整性至关重要。在C#中&#xff0c;lock 语句就是用于通过同步对共享资源的访问来实现此目的工具。本文介绍lock(this) 与lock(private object) 两…

重新修改 Qt 项目的 Kit 配置

要重新修改 Qt 项目的 Kit 配置&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. 打开 Qt Creator 首先&#xff0c;启动 Qt Creator&#xff0c;确保你的项目已经打开。 2. 进入项目设置 在 Qt Creator 中&#xff0c;点击菜单栏的 “Projects” 标签&#xff08;通…

Spark MLlib模型训练—回归算法 Decision tree regression

Spark MLlib模型训练—回归算法 Decision tree regression 在机器学习中,决策树是一种常用且直观的模型,广泛应用于分类和回归任务。决策树回归 (Decision Tree Regression) 通过将数据集分割成多个区域,构建一棵树形结构,以预测目标变量的连续值。本文将详细探讨 Spark 中…

【Eureka】搭建Eureka Server,实现服务注册和服务发现

1. Eureka介绍 Eureka是NetflixOSS套件中关于服务注册和发现的解决⽅案.SpringCloud对Eureka进⾏了集成,并作为优先推荐⽅案进⾏宣传,虽然⽬前Eureka2.0已经停⽌维护,新的微服务架构设计中,也不再建议使用,但是⽬前依然有⼤量公司的微服务系统使⽤Eureka作为注册中⼼. 官方文…

数据访问:JPA

文章目录 JPA的由来JPA是什么Spring Data JPA快速上手 JPA的由来 ORM框架能够将Java对象映射到关系型数据库中&#xff0c;能够直接持久化复杂的 Java对象。ORM框架的出现&#xff0c;可以让开发者从数据库编程中解脱出来&#xff0c;把更多的精力放在业务模型与业务逻辑上。目…

k8s-pod 实战八 (gRPC 探测详细分析)

gRPC 探测详细分析 在 Kubernetes 中,探针(Probe)用于检查应用程序的健康状态和就绪状态。尽管 Kubernetes 原生支持 HTTP 和 TCP 探针,但对于 gRPC 服务,你需要借助第三方工具来实现探测。grpc-health-probe 是一个常用的工具,它专门用于探测 gRPC 服务的健康状态。 实…

KeePassXC软件简介

KeePassXC 是一款开源且免费的跨平台密码管理器&#xff0c;它允许用户在不同的网站和服务上使用多个不同的密码&#xff0c;而无需记住它们。用户只需要记住一个主密码或者持有一个密钥文件&#xff0c;就可以访问所有密码的加密数据库。KeePassXC 支持 AES 加密算法&#xff…

《C++20 特性综述》

《C20 特性综述》 在编程世界中&#xff0c;C一直以其强大的性能和灵活性占据着重要地位。随着时间的推移&#xff0c;C不断发展和演进&#xff0c;C20 带来了一系列令人瞩目的新特性&#xff0c;为开发者提供了更强大的工具和更高效的编程方式。 一、概念&#xff08;Concep…