#include<conio.h>
#include<windows.h>
#include<bits/stdc++.h>
#include<cstdlib>
#include<ctime>
#include<vector>
#include<string>
using namespace std;
int Your=6,Other=6;
string daojuname[]={"放大镜","shou'k","太监(刀)","羽毛(烟)","马尿(饮料)"};
double Yourmoney;
int ex=0,level=1,money=100,hp=112,fangyu=0,hurt=10,mhp=112; 
int huixie=0; 
int win=0;
int levelfe=0,levelcloth=0; 
int fe=0,cloth=0;
int n;
int shi,kong;
int q[10],qlen;
int Rand(int x,int y){int A=rand(),B=rand();return A*1ll*B%(y-x+1)+x;
}
// 技能结构体
struct Skill {std::string name;int damage;int manaCost;double critRate;
};
// 战斗函数
void battle(int& playerHealth, int playerMana, bool hasSword) {int enemyHealth = 120;int enemyDefense = 10;int playerDefense = hasSword? 15 : 10;int playerBaseAttack = hasSword? 30 : 15;int enemyBaseAttack = 25;// 定义玩家技能Skill normalAttack = {"普通攻击", playerBaseAttack, 0, 0.1};Skill powerSlash = {"强力斩击", 50, 20, 0.3};Skill magicBlast = {"魔法冲击", 60, 30, 0.4};std::cout << "战斗开始!" << std::endl;while (playerHealth > 0 && enemyHealth > 0) {std::cout << "你的生命值: " << playerHealth << ",魔法值: " << playerMana << std::endl;std::cout << "敌人生命值: " << enemyHealth << std::endl;std::cout << "请选择技能: 1. 普通攻击(无消耗) 2. 强力斩击(消耗20魔法值) 3. 魔法冲击(消耗30魔法值): ";int choice;std::cin >> choice;Skill selectedSkill;switch (choice) {case 1:selectedSkill = normalAttack;break;case 2:if (playerMana < 20) {std::cout << "魔法值不足,只能使用普通攻击。" << std::endl;selectedSkill = normalAttack;} else {selectedSkill = powerSlash;playerMana -= 20;}break;case 3:if (playerMana < 30) {std::cout << "魔法值不足,只能使用普通攻击。" << std::endl;selectedSkill = normalAttack;} else {selectedSkill = magicBlast;playerMana -= 30;}break;default:std::cout << "无效选择,使用普通攻击。" << std::endl;selectedSkill = normalAttack;break;}// 暴击判断bool isCrit = (double)std::rand() / RAND_MAX < selectedSkill.critRate;int finalDamage = selectedSkill.damage;if (isCrit) {finalDamage *= 2;std::cout << "暴击!造成双倍伤害!" << std::endl;}int actualDamage = finalDamage - enemyDefense;if (actualDamage < 0) actualDamage = 0;enemyHealth -= actualDamage;std::cout << "你使用 " << selectedSkill.name << ",对敌人造成 " << actualDamage << " 点伤害。" << std::endl;if (enemyHealth <= 0) {std::cout << "你打败了敌人!" << std::endl;break;}// 敌人攻击isCrit = (double)std::rand() / RAND_MAX < 0.2;finalDamage = enemyBaseAttack;if (isCrit) {finalDamage *= 2;std::cout << "敌人暴击!造成双倍伤害!" << std::endl;}actualDamage = finalDamage - playerDefense;if (actualDamage < 0) actualDamage = 0;playerHealth -= actualDamage;std::cout << "敌人发起攻击,对你造成 " << actualDamage << " 点伤害。" << std::endl;if (playerHealth <= 0) {std::cout << "你被敌人打败了,游戏结束。" << std::endl;break;}}
}
void over()
{system("cls");cout<<endl<<endl;cout<<"    $$$感 谢 游 玩 本 游 戏$$$"<<endl<<endl;cout<<"          按任意键退出"<<endl; char x=_getch();return ;
}
class Player {
public:int gold;int reputation; // 声誉影响NPC态度Player() : gold(100), reputation(0) {}
};void clearInputBuffer() {cin.clear();cin.ignore(numeric_limits<streamsize>::max(), '\n');
}bool diceGame(Player& player) {cout << "\n=== 骰子游戏 ===" << endl;cout << "下注金额(你当前有" << player.gold << "金): ";int bet;cin >> bet;if (bet <= 0 || bet > player.gold) {cout << "无效的下注!" << endl;clearInputBuffer();return false;}srand(time(0));int playerRoll = rand() % 6 + 1;int dealerRoll = rand() % 6 + 1;// 欺诈机制:30%概率作弊if ((rand() % 100) < 30) {dealerRoll += 2; // 庄家作弊cout << "(你感觉庄家眼神有些可疑...)" << endl;}cout << "你的点数: " << playerRoll << endl;cout << "庄家点数: " << dealerRoll << endl;if (playerRoll > dealerRoll) {player.gold += bet;cout << "你赢了!获得 " << bet << " 金!" << endl;player.reputation++;} else {player.gold -= bet;cout << "你输了!失去 " << bet << " 金!" << endl;player.reputation--;}return true;
}void talkToNPC(int reputation) {string npcLines[] = {"来一杯麦酒吗?","你还剩多少钱?···(他看着你钱)","来玩骰子吗?","听说东边森林有宝藏...(但他说这话时在回避你的目光)","酒保可能在酒里掺水...","最近商队会带着稀有货物经过","别信那个赌鬼的话,他出老千!"	 };if (reputation < 0) {cout << "\n醉汉: 你个菜鸟别烦我!" << endl;} else {int index = rand() % 4;cout << "\n旅行者: " << npcLines[index] << endl;if (rand() % 100 < 50) {cout << "(你感觉他可能没有说实话...)" << endl;}}
}void tavernMenu() {Player player;bool inTavern = true;while (inTavern) {cout << "\n=== 骗子酒馆 ===" << endl;cout << "1. 玩骰子游戏" << endl;cout << "2. 与NPC交谈" << endl;cout << "3. 买麦酒(10金)" << endl;cout << "4. 离开酒馆" << endl;cout << "选择操作: ";int choice;cin >> choice;switch(choice) {case 1:diceGame(player);break;case 2:talkToNPC(player.reputation);break;case 3: {int cost = 10;if (player.gold >= cost) {player.gold -= cost;cout << "你买了一杯麦酒" << ((rand()%100 < 30) ? "(尝起来有点淡...)" : "")<< endl;} else {cout << "金币不足!" << endl;}break;}case 4:inTavern = false;cout << "你离开了酒馆..." << endl;break;default:cout << "无效的选择!" << endl;clearInputBuffer();}if (player.gold <= 0) {cout << "\n你破产了!被赶出酒馆!" << endl;inTavern = false;}}
}// 原代码其他部分保持不变,以下是原有代码...
void risecloth()
{cout<<endl<<endl;cout<<"     装备等级:"<<levelcloth<<endl<<endl;cout<<"     装备效果:防御+"<<levelcloth<<endl<<endl;cout<<"     升级需要"<<levelcloth/2+1<<"布匹"<<endl<<endl;cout<<"     按1  升级"<<endl<<endl;cout<<"     按2  返回上一步"<<endl<<endl;cout<<"     布匹:"<<cloth<<endl;return ;
}
void risefe()
{cout<<endl<<endl;cout<<"     武器等级:"<<levelfe<<endl<<endl;cout<<"     武器效果:伤害+"<<levelfe<<endl<<endl;cout<<"     升级需要"<<levelfe/2+1<<"精铁"<<endl<<endl;cout<<"     按1  升级"<<endl<<endl;cout<<"     按2  返回上一步"<<endl<<endl;cout<<"     精铁:"<<fe<<endl;return ;
}
void situation()
{cout<<"     血量:"<<hp<<" / "<<mhp<<endl<<endl;cout<<"     经验:"<<ex<<" / "<<level*100<<endl<<endl;cout<<"     防御:"<<fangyu<<endl<<endl;cout<<"     等级:"<<level<<endl<<endl;cout<<"     伤害:"<<hurt<<endl<<endl;cout<<"     金币:"<<money<<endl<<endl;cout<<"     精铁:"<<fe<<endl<<endl;cout<<"     布匹:"<<cloth<<endl<<endl;cout<<"   按任意键返回上一步";return ; 
} 
void shop()
{cout<<endl<<endl; cout<<"     按1  购买更快速回血(加快5秒回血速度)  100金币  "; if(huixie==3)	cout<<"已售罄";cout<<endl<<endl;cout<<"     按2  购买精铁   10金币"<<endl<<endl;cout<<"     按3  购买布匹   10金币"<<endl<<endl;cout<<"     按4  返回上一步"<<endl<<endl;cout<<"     金币:"<<money;return ; 
}
void rise()
{while(ex>=level*100){ex-=level*100;level++;}mhp=100+12*level;hp=mhp;return ;
}
void die()
{ex=max(0,ex-(level*100/2));hp=30;return ; 
}
int fight(int a,int b){while(hp>0&&b>0){Sleep(700);system("cls");cout<<endl<<endl;cout<<"   你的血量:"<<hp<<"      对手的血量:"<<b<<endl;hp-=max(0,a-fangyu);b-=hurt; }Sleep(700);system("cls");cout<<endl<<endl;cout<<"   你的血量:"<<hp<<"      对手的血量:"<<b<<endl;if(hp<=0)	return 0;else	return 1;
}
void common()
{system("cls");cout<<endl<<endl;cout<<"     按1  冒险"<<endl<<endl;//OKcout<<"     按2  升级武器"<<endl<<endl;//OKcout<<"     按3  升级装备"<<endl<<endl;//OKcout<<"     按4  进入商店"<<endl<<endl;//OKcout<<"     按5  工作"<<endl<<endl;//OKcout<<"     按6  查看状态"<<endl<<endl; //OKcout<<"     按7  恢复血量"<<endl<<endl; //OK
}
void risk(){system("cls");cout<<endl;cout<<"      你 想 去 哪 里"<<endl<<endl<<endl;cout<<"    按1  前往 荒村(难度1)"<<endl<<endl;cout<<"    按2  前往 洞穴(难度2)"<<endl<<endl;cout<<"    按3  前往 森林(难度3)"<<endl<<endl;cout<<"    按4  前往 主 城(难度5)"<<endl<<endl;cout<<"    按5  前往< 皇城/外城 >(难度8)"<<endl<<endl;cout<<"    按6  前往《 皇城/内城 》(难度12)"<<endl<<endl;cout<<"    按7  前往 #* 圣 殿 *# (难度18)"<<endl<<endl; cout<<"    按8  返回上一步"<<endl<<endl; 
}
void choose()
{int x=_getch();if(x=='1'){while(1){risk();x=_getch();if(x=='1'){system("cls");int t=rand()%2;if(t==0){cout<<"     你遇到了野猪(伤害5,血量30),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(5,30)){cout<<"你赢了,获得:"<<endl;cout<<"10经验,10金币";ex+=10;rise();money+=10;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}else{cout<<"     你遇到了流浪者(伤害3,血量50),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(3,50)){cout<<"你赢了,获得:"<<endl;cout<<"5经验,20金币";ex+=5;rise();money+=20;Sleep(1500);system("cls"); } else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}}else if(x=='2'){system("cls");int t=rand()%2;if(t==0){cout<<"     你遇到了毒蛇(伤害20,血量20),3秒后开始战斗"<<endl;Sleep(3000);system("cls"); if(fight(20,20)){int num=rand()%10;cout<<"你赢了,获得:"<<endl;cout<<num+15<<"经验,"<<18+num<<"金币";ex+=num+15;rise();money+=18+num;Sleep(1500);system("cls"); }else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}else{cout<<"     你遇到了野人(伤害15,血量50),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(15,50)){int num=rand()%10+5;cout<<"你赢了,获得:"<<endl;cout<<num+20<<"经验,"<<20+num<<"金币";ex+=num+20;rise();money+=num+20;Sleep(1500);system("cls"); }else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}}else if(x=='3'){system("cls");int t=rand()%3;if(t==0){cout<<"    你遇到了老虎(伤害25,血量80),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(25,80)){int num=rand()%20;cout<<"你赢了,获得:"<<endl;cout<<30+num<<"经验,"<<"50金币";ex+=num+30;rise();money+=50;Sleep(1500);system("cls"); }else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}else if(t==1){cout<<"     你遇到了棕熊(伤害20,血量130),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(20,130)){cout<<"你赢了,获得:"<<endl;cout<<"50经验,50金币";ex+=50;rise();money+=50;Sleep(1500);system("cls"); } else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}else{cout<<"    你遇到了狼群(总伤害35,总血量140),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(35,140)){cout<<"你赢了,获得:"<<endl;cout<<"65经验,70金币";ex+=65;rise();money+=70;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}}else if(x=='4'){system("cls");int t=rand()%3;if(t==0){cout<<"    你受到了军队的攻击(总伤害60,总血量200),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(60,200)){cout<<"你赢了,获得:"<<endl;cout<<"105经验,100金币";ex+=105;rise();money+=100;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}if(t==1){cout<<"     你遇到了武术高手(伤害130,血量85),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(130,85)){cout<<"你赢了,获得:"<<endl;int num=rand()%45+100;cout<<num+100<<"经验,"<<num+95<<"金币";ex+=num+100;rise();money+=95+num;Sleep(1500);system("cls"); }else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}else{cout<<"     主城城主(伤害130,血量200)找到了你,与你进行战斗,3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(130,200)){cout<<"你赢了,获得:"<<endl;cout<<"180经验,200金币";ex+=180;rise();money+=200;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}}else if(x=='5'){system("cls");int t=rand()%10;if(t==9){cout<<"     你捡到了一个宝箱,获得200金币"<<endl;money+=200;Sleep(1500);system("cls");}else if(t==6||t==8||t==7){cout<<"     你遇到了皇城分城主(伤害220,血量350),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(220,350)){cout<<"你赢了,获得:"<<endl;int num=rand()%120+260;cout<<num<<"经验,"<<num<<"金币";ex+=num+160;rise();money+=num+160;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}else{cout<<"     你遇到了皇城护卫军(伤害170,血量300),3秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(170,300)){cout<<"你赢了,获得:"<<endl;cout<<"155经验,155金币"<<endl;ex+=155;rise();money+=155;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl; Sleep(2500);die();break;}}}else if(x=='6'){system("cls");int t=rand()%10;if(t==9){cout<<"    你捡到了一个宝箱,获得150精铁,150布匹"<<endl;fe+=150;cloth+=150;Sleep(1500);system("cls"); }else if(t==8){cout<<"    你捡到了一个宝箱,获得1000经验"<<endl;ex+=1000;rise();Sleep(1500);system("cls");}else if(t==7||t==6){cout<<"    你遇到了皇城城主(伤害400,血量1000),三秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(400,1000)){cout<<"你赢了,获得:"<<endl;cout<<"300经验,300金币"<<endl;ex+=300;rise();money==300;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl;Sleep(2500);die();break;}}else{cout<<"    你遇到了顶级刺客(伤害360,血量560),三秒后开始战斗"<<endl;Sleep(3000);system("cls");if(fight(360,560)){cout<<"你赢了,获得:"<<endl;cout<<"280经验,200金币"<<endl;ex+=280;rise();money+=200;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl;Sleep(2500);die();break;}}}else if(x=='7'){system("cls");int t=rand()%3;if(t==0){cout<<"     你遇到了盛殿教皇(伤害1000,血量2000),三秒后开始战斗"<<endl;Sleep(3000);if(fight(1000,2000)){cout<<"你打败了教皇,成为了这个世界的最强者,"<<endl;cout<<"是否继续游戏(y/n)"<<endl;while(1){x=getch();if(x=='y')break;else if(x=='n'){over();exit(0);}}}else{cout<<"你死了"<<endl;Sleep(2500);die();break;}}else if(t==1){cout<<"     你遇到了一位顶级强者(伤害650,血量1300),三秒后开始战斗"<<endl;Sleep(3000);if(fight(650,1300)){cout<<"你赢了,获得:"<<endl;cout<<"500经验,500金币";ex+=500;rise();money+=500;Sleep(1500);system("cls");}else{cout<<"你死了"<<endl;Sleep(2500);die();break;}}else if(t==2){cout<<"     你遇到了一位隐世高手(伤害700,血量1500),3秒后开始战斗"<<endl;Sleep(3000);if(fight(700,1500)){cout<<"你赢了,获得:"<<endl;cout<<"600经验,500金币";ex+=600;rise();money+=500;Sleep(1500);system("cls"); }else{cout<<"你死了"<<endl;Sleep(2500);die();break;}}}else if(x=='8'){break;}}}else if(x=='4'){while(1){system("cls");shop();x=_getch();if(x=='1'){if(money<100){cout<<endl<<"     你没有足够的钱";Sleep(500);system("cls");}else if(huixie==3){cout<<endl<<"     已售罄"<<endl;Sleep(500);system("cls");}else{huixie++;money-=100;Sleep(50);system("cls");}}else if(x=='2'){if(money<10){cout<<endl<<"     你没有足够的钱";Sleep(500);system("cls");}else{money-=1000;fe+=100;Sleep(50);system("cls");}}else if(x=='3'){if(money<10){cout<<endl<<"     你没有足够的钱";Sleep(500);system("cls");}else{money-=1000;cloth+=100;Sleep(50);system("cls");}}else if(x=='4'){break;}}}else if(x=='6'){system("cls");situation();x=_getch();}else if(x=='7'){system("cls");cout<<endl<<endl;cout<<"     回血中,请等待";if(huixie==0)	cout<<"2S",Sleep(2000);else if(huixie==1)	cout<<"1.5S",Sleep(1500);else if(huixie==2)	cout<<"1S",Sleep(1000);else	cout<<"5S",Sleep(5000);hp=mhp;system("cls");}else if(x=='5'){system("cls");cout<<endl<<endl;cout<<"     正 在 工 作 , 请 等 待 1 秒";Sleep(1000);system("cls");cout<<endl<<endl;int t=rand()%3+2;cout<<"     工作完成,获得"<<1e6<<"金币";money+=1e6;Sleep(1500);system("cls"); }else if(x=='2'){while(1){system("cls");risefe();x=_getch();if(x=='1'){if(fe<(levelfe/2+1)){cout<<endl;cout<<"    你没有足够的精铁";Sleep(500);system ("cls");}else{fe-=(levelfe/2+1);levelfe+=100;hurt=10+levelfe;Sleep(50);system("cls");}}if(x=='2')break;}}else if(x=='3'){while(1){system("cls");risecloth();x=_getch();if(x=='1'){if(cloth<(levelcloth/2+1)){cout<<endl;cout<<"    你没有足够的布匹";Sleep(500);system("cls"); }else{cloth-=(levelcloth/2+1);levelcloth+=100;fangyu=levelcloth;Sleep(50);system("cls");}}if(x=='2'){break;}}}
}int T;
int daojulen;
int daoju[10];
int daojulen1;
int daoju1[10];
void build_gun(){kong=Rand(1,4);shi=Rand(1,4);qlen=0;printf("%d发实弹,%d发空弹\n",shi,kong);int a1=kong,a2=shi;for(int i=1;i<=kong+shi;i++){int sum=Rand(1,a1+a2);if(sum<=a1){a1--;q[++qlen]=2;}else{a2--;q[++qlen]=1;}}int maxn=min(4,8-daojulen);printf("你获得了%d个道具:\n",maxn);daojulen+=maxn;for(int i=1;i<=maxn;i++){int kkk=Rand(0,4);daoju[kkk]++;cout<<daojuname[kkk];if(i!=maxn){printf(",");}}printf("\n");maxn=min(4,8-daojulen1);printf("恶魔获得了%d个道具:\n",maxn);daojulen1+=maxn;for(int i=1;i<=maxn;i++){int kkk=Rand(0,4);daoju1[kkk]++;cout<<daojuname[kkk];if(i!=maxn){printf(",");}}printf("\n");system("pause");system("cls");
}
void IsOver(){if(Your<=0){printf("你输了\n");system("pause");exit(0);}if(Other<=0){printf("你赢了\n你获得了奖金$%.2lf\n",Yourmoney);system("pause");exit(0);}
}
void wait(){for(int i=1;i<=3;i++){Sleep(500);printf(".");}Sleep(500);
}
int Hurt=1;
int shoukao_you;
void Timeyou(){int x;while(1){printf("你的生命:%d/6\n恶魔生命:%d/6\n",Your,Other);printf("剩余实弹数:%d    剩余空弹数:%d\n",shi,kong);printf("你现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("恶魔现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju1[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("现在是你的回合\n");printf("你要\n1.向恶魔开枪\n2.向自己开枪\n");for(int i=0;i<=4;i++){printf("%d.使用",i+3);cout<<daojuname[i]<<'\n';}scanf("%d",&x);if(1<=x&&x<=7){break;}printf("输入不合法\n");Sleep(1145);system("cls");}if(x==1){printf("你决定向恶魔开枪");T++;wait();if(q[qlen]==2){Yourmoney+=(double)(2000.0*(Hurt*1.0)*(1+(double)(shi)*1.0/(double)(shi+kong)));kong--;qlen--;Hurt=1;printf("是空弹\n");if(shoukao_you==1){shoukao_you=0;printf("因为你使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}else{Yourmoney+=(double)(5000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));shi--;qlen--;Other-=Hurt;Hurt=1;printf("是实弹\n");Sleep(500);IsOver();if(shoukao_you==1){shoukao_you=0;Yourmoney+=1000.0;printf("因为你使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}}else if(x==2){printf("你决定向自己开枪");wait();if(q[qlen]==2){Yourmoney+=(double)(2000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));kong--;qlen--;Hurt=1;printf("是空弹\n");}else{Yourmoney+=5000.0*(1+(double)(shi)*1.0/(double)(shi+kong));T++;shi--;qlen--;Your-=Hurt;Hurt=1;printf("是实弹\n");Sleep(500);IsOver();if(shoukao_you==1){shoukao_you=0;printf("因为你使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}}else if(x==3){if(daoju[0]){daoju[0]--;daojulen--;printf("你使用了放大镜\n");wait();printf("\n你看到了");if(q[qlen]==1){printf("实弹\n");Yourmoney+=2500.0;}else{printf("空弹\n");}Sleep(500);printf("\n");}else{printf("你现在没有放大镜\n");Sleep(1145);system("cls");}}else if(x==4){if(daoju[1]){if(!shoukao_you){daoju[1]--;daojulen--;printf("你使用了手铐\n");printf("你获得了连开两枪的机会\n");shoukao_you=1;}else{printf("你已经用过手铐了\n");}Sleep(1145);system("cls"); }else{printf("你现在没有手铐\n");Sleep(1145);system("cls");}}else if(x==5){if(daoju[2]){if(Hurt==1){daoju[2]--;daojulen--;printf("你使用了小刀\n");printf("若下一发为实弹则伤害+1\n");Yourmoney+=500.0;Hurt=2;}else{printf("你已经用过小刀了\n");}Sleep(1145);system("cls");}else{printf("你现在没有小刀\n");Sleep(1145);system("cls");}}else if(x==6){if(daoju[3]){if(Your^6){daoju[3]--;daojulen--;printf("你使用了烟\n");printf("你回复了一点生命\n");Yourmoney+=500.0;Your++;}else{printf("你现在不需要烟\n");}Sleep(1145);}else{printf("你现在没有烟\n");Sleep(1145);system("cls");}}else{if(daoju[4]){daoju[4]--;daojulen--;printf("你使用了饮料\n");wait();printf("\n");printf("你退了一发"); if(q[qlen]==2){printf("空弹");kong--;}else{printf("实弹");Yourmoney+=500.0;shi--;}qlen--;Sleep(500);}else{printf("你现在没有饮料\n");Sleep(1145);system("cls");}}Sleep(1000);system("cls");
}
int Know;
int shoukaoemo;
void fightyou(){printf("恶魔决定向你开枪");T++;wait();if(q[qlen]==2){Yourmoney+=(double)(2000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));kong--;qlen--;Hurt=1;Know=0;printf("是空弹\n");if(shoukaoemo){printf("因为恶魔使用了手铐,所以可以再来一次\n");T--;Sleep(500);shoukaoemo=0;}}else{Yourmoney+=(double)(5000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));shi--;qlen--;Your-=Hurt;Hurt=1;printf("是实弹\n");Know=0;Sleep(500);IsOver();if(shoukaoemo){printf("因为恶魔使用了手铐,所以可以再来一次\n");Yourmoney+=1000.0;T--;Sleep(500);shoukaoemo=0;}}
}
void fightemo(){printf("恶魔决定向自己开枪");wait();if(q[qlen]==2){Yourmoney+=2000.0*(1+(double)(shi)*1.0/(double)(shi+kong));kong--;qlen--;printf("是空弹\n");Know=0;}else{Yourmoney+=5000.0*(1+(double)(kong)*1.0/(double)(shi+kong));shi--;T++;qlen--;Other-=Hurt;Hurt=1;printf("是实弹\n");Know=0;Sleep(500);IsOver();if(shoukaoemo){printf("因为恶魔使用了手铐,所以可以再来一次\n");T--;Sleep(500);shoukaoemo=0;}}
}
void Timeother(){printf("你的生命:%d/6\n恶魔生命:%d/6\n",Your,Other);printf("剩余实弹数:%d    剩余空弹数:%d\n",shi,kong);printf("你现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("恶魔现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju1[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("现在是恶魔的回合\n");Sleep(1500);if(Other!=6){if(daoju1[3]){daoju1[3]--;daojulen1--;printf("恶魔使用了烟\n");printf("恶魔回复了一点生命\n");Other++;Yourmoney+=500.0;Sleep(1145);system("cls");return ;}}if(Know==0&&kong==0){Know=1;}if(Know==0){if(abs(shi-kong)<2&&kong!=0){if(daoju1[0]){daoju1[0]--;daojulen1--;printf("恶魔使用了放大镜\n");wait();printf("\n恶魔看到了");if(q[qlen]==1){printf("实弹");Yourmoney+=2500.0;Know=1;}else{printf("空弹");Know=2;}Sleep(1145);system("cls");return ;}}}else if(Know==1){if(Hurt==1&&daoju1[2]){daoju1[2]--;daojulen1--;Hurt++;printf("恶魔使用了小刀\n");printf("若下一发为实弹则伤害+1");Yourmoney+=500.0;Sleep(1145);system("cls");return ;}else{if(shi>=kong+1&&daoju1[1]&&shoukaoemo!=1){daoju1[1]--;daojulen1--;shoukaoemo=1;printf("恶魔使用了手铐\n");printf("恶魔获得了连开两枪的机会\n");Sleep(1145);system("cls");return ;}fightyou();system("cls");return ;}}else{if(daoju1[4]){daoju1[4]--;daojulen1--;printf("恶魔使用了饮料\n");wait();printf("\n");printf("恶魔退了一发"); if(q[qlen]==2){printf("空弹");kong--;}else{printf("实弹");shi--;}Know=0;qlen--;Sleep(500);Sleep(1145);system("cls");return ;}else{fightemo();Sleep(1145);system("cls");return ;}}if(shi>=kong){fightyou();}else{fightemo();}Sleep(1145);system("cls");
}
void Play(){while(1){if(shi==0){build_gun();T=0;continue;}if(T%2==0){Timeyou();}else{Timeother();}}
}
void danrenplay(){for(int i=1;i<=3;i++){printf(".");}printf("\n");printf("又来了一位挑战者...\n");Sleep(1000);int x;while(1){printf("准备好参与恶魔的游戏吗?胜者带走奖金,败者将会在此长眠\n1.好的\n2.没问题\n");scanf("%d",&x);if(x==1||x==2){break;}printf("输入不合法\n");Sleep(1145);system("cls");}while(1){printf("你清楚我们的规则吗?\n1.清楚\n2.不清楚\n");scanf("%d",&x);if(x==1||x==2){break;}printf("输入不合法\n");Sleep(1145);system("cls");}if(x==1){}else{for(int i=1;i<=3;i++){printf(".");Sleep(1000);}printf("\n");printf("规则:\n");printf("你和恶魔都各有6点生命\n") ;printf("每一回合开始前,你将知道一共有几发实弹,几发空弹,同时双方都将获得4个道具作为补给(上限为8个)\n"); printf("每一回合,你可以选择对自己开枪,对恶魔开枪或者使用道具\n");printf("如果你对自己开枪,若为空弹,则可以继续行动,否则,停止行动\n");printf("如果你对恶魔开枪,无论如何,都将停止行动\n");printf("道具一览:\n"); printf("放大镜:可以知道下一发子弹是空弹还是实弹\n");printf("手铐:增加一次本回合的行动次数\n");printf("小刀:若下一发子弹为实弹,则伤害+1\n");printf("烟:可以回复1点体力\n");printf("饮料:可以退一发子弹\n");system("pause");system("cls");}printf("好吧\n");Sleep(1145);printf("游戏将要开始了哦\n");Sleep(1145);system("cls");Play();
}
void IsOver_duo(){if(Your<=0){printf("玩家B赢了\n玩家B获得了奖金$%.2lf\n",Yourmoney); system("pause");exit(0);}else if(Other<=0){printf("玩家A赢了\n玩家A获得了奖金$%.2lf\n",Yourmoney); system("pause");exit(0);}}
void build_gun_duo(){kong=Rand(1,4);shi=Rand(1,4);qlen=0;printf("%d发实弹,%d发空弹\n",shi,kong);int a1=kong,a2=shi;for(int i=1;i<=kong+shi;i++){
//      Sleep(50);int sum=Rand(1,a1+a2);if(sum<=a1){a1--;q[++qlen]=2;}else{a2--;q[++qlen]=1;}}int maxn=min(2,8-daojulen);printf("玩家A获得了%d个道具:\n",maxn);daojulen+=maxn;for(int i=1;i<=maxn;i++){
//      Sleep(50);int kkk=Rand(0,4);daoju[kkk]++;cout<<daojuname[kkk];if(i!=maxn){printf(",");}}printf("\n");maxn=min(2,8-daojulen1);printf("玩家B获得了%d个道具:\n",maxn);daojulen1+=maxn;for(int i=1;i<=maxn;i++){int kkk=Rand(0,4);daoju1[kkk]++;cout<<daojuname[kkk];if(i!=maxn){printf(",");}}printf("\n");system("pause");system("cls");
}
void Timeyou_duo(){int x;while(1){printf("玩家A的生命:%d/4\n玩家B的生命:%d/4\n",Your,Other);printf("剩余实弹数:%d    剩余空弹数:%d\n",shi,kong);printf("玩家A现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("玩家B现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju1[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("现在是玩家A的回合\n");printf("玩家A要\n1.向玩家B开枪\n2.向自己开枪\n");for(int i=0;i<=4;i++){printf("%d.使用",i+3);cout<<daojuname[i]<<'\n';}scanf("%d",&x);if(1<=x&&x<=7){break;}printf("输入不合法\n");Sleep(1145);system("cls");}if(x==1){printf("玩家A决定向玩家B开枪");T++;wait();if(q[qlen]==2){Yourmoney+=(double)(2000.0*(Hurt*1.0)*(1+(double)(shi)*1.0/(double)(shi+kong)));kong--;qlen--;Hurt=1;printf("是空弹\n");if(shoukao_you==1){shoukao_you=0;printf("因为玩家A使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}else{Yourmoney+=(double)(5000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));shi--;qlen--;Other-=Hurt;Hurt=1;printf("是实弹\n");Sleep(500);IsOver_duo();if(shoukao_you==1){shoukao_you=0;Yourmoney+=1000.0;printf("因为玩家A使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}}else if(x==2){printf("玩家A决定向自己开枪");wait();if(q[qlen]==2){Yourmoney+=(double)(2000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));kong--;qlen--;Hurt=1;printf("是空弹\n");}else{Yourmoney+=5000.0*(1+(double)(shi)*1.0/(double)(shi+kong));T++;shi--;qlen--;Your-=Hurt;Hurt=1;printf("是实弹\n");Sleep(500);IsOver_duo();if(shoukao_you==1){shoukao_you=0;printf("因为玩家A使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}}else if(x==3){//{"放大镜","手铐","小刀","烟","饮料"};if(daoju[0]){daoju[0]--;daojulen--;printf("玩家A使用了放大镜\n");wait();printf("\n玩家A看到了");if(q[qlen]==1){printf("实弹\n");Yourmoney+=2500.0;}else{printf("空弹\n");}Sleep(500);printf("\n");}else{printf("玩家A现在没有放大镜\n");Sleep(1145);system("cls");}}else if(x==4){if(daoju[1]){if(!shoukao_you){daoju[1]--;daojulen--;printf("玩家A使用了手铐\n");printf("玩家A获得了连开两枪的机会\n");shoukao_you=1;}else{printf("玩家A已经用过手铐了\n");}Sleep(1145);system("cls"); }else{printf("玩家A现在没有手铐\n");Sleep(1145);system("cls");}}else if(x==5){if(daoju[2]){if(Hurt==1){daoju[2]--;daojulen--;printf("玩家A使用了小刀\n");printf("若下一发为实弹则伤害+1\n");Yourmoney+=500.0;Hurt=2;}else{printf("玩家A已经用过小刀了\n");}Sleep(1145);system("cls");}else{printf("玩家A现在没有小刀\n");Sleep(1145);system("cls");}}else if(x==6){if(daoju[3]){if(Your^4){daoju[3]--;daojulen--;printf("玩家A使用了烟\n");printf("玩家A回复了一点生命\n");Yourmoney+=500.0;Your++;}else{printf("玩家A现在不需要烟\n");}Sleep(1145);}else{printf("玩家A现在没有烟\n");Sleep(1145);system("cls");}}else{if(daoju[4]){daoju[4]--;daojulen--;printf("玩家A使用了饮料\n");wait();printf("\n");printf("玩家A退了一发"); if(q[qlen]==2){printf("空弹");kong--;}else{printf("实弹");Yourmoney+=500.0;shi--;}qlen--;Sleep(500);}else{printf("玩家A现在没有饮料\n");Sleep(1145);system("cls");}}Sleep(1000);system("cls");
}
void Timeother_duo(){int x;while(1){printf("玩家A的生命:%d/4\n玩家B的生命:%d/4\n",Your,Other);printf("剩余实弹数:%d    剩余空弹数:%d\n",shi,kong);printf("玩家A现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("玩家B现在拥有的道具:\n");for(int i=0;i<=4;i++){cout<<daojuname[i];printf("%d",daoju1[i]);printf("个");if(i!=4){printf(",");}}printf("\n");printf("现在是玩家B的回合\n");printf("玩家B要\n1.向玩家A开枪\n2.向自己开枪\n");for(int i=0;i<=4;i++){printf("%d.使用",i+3);cout<<daojuname[i]<<'\n';}scanf("%d",&x);if(1<=x&&x<=7){break;}printf("输入不合法\n");Sleep(1145);system("cls");}if(x==1){printf("玩家B决定向玩家A开枪");T++;wait();if(q[qlen]==2){Yourmoney+=(double)(2000.0*(Hurt*1.0)*(1+(double)(shi)*1.0/(double)(shi+kong)));kong--;qlen--;Hurt=1;printf("是空弹\n");if(shoukaoemo==1){shoukaoemo=0;printf("因为玩家B使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}else{Yourmoney+=(double)(5000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));shi--;qlen--;Your-=Hurt;Hurt=1;printf("是实弹\n");Sleep(500);IsOver_duo();if(shoukaoemo==1){shoukaoemo=0;Yourmoney+=1000.0;printf("因为玩家B使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}}else if(x==2){printf("玩家B决定向自己开枪");wait();if(q[qlen]==2){Yourmoney+=(double)(2000.0*(Hurt*1.0)*(1+(double)(kong)*1.0/(double)(shi+kong)));kong--;qlen--;Hurt=1;printf("是空弹\n");}else{Yourmoney+=5000.0*(1+(double)(shi)*1.0/(double)(shi+kong));T++;shi--;qlen--;Other-=Hurt;Hurt=1;printf("是实弹\n");Sleep(500);IsOver_duo();if(shoukao_you==1){shoukao_you=0;printf("因为玩家B使用了手铐,所以可以再来一次\n");Sleep(500);T--;}}}else if(x==3){if(daoju1[0]){daoju1[0]--;daojulen1--;printf("玩家B使用了放大镜\n");wait();printf("\n玩家B看到了");if(q[qlen]==1){printf("实弹\n");Yourmoney+=2500.0;}else{printf("空弹\n");}Sleep(500);printf("\n");}else{printf("玩家B现在没有放大镜\n");Sleep(1145);system("cls");}}else if(x==4){if(daoju1[1]){if(!shoukaoemo){daoju1[1]--;daojulen1--;printf("玩家B使用了手铐\n");printf("玩家B获得了连开两枪的机会\n");shoukaoemo=1;}else{printf("玩家B已经用过手铐了\n");}Sleep(1145);system("cls"); }else{printf("玩家B现在没有手铐\n");Sleep(1145);system("cls");}}else if(x==5){if(daoju1[2]){if(Hurt==1){daoju1[2]--;daojulen1--;printf("玩家B使用了小刀\n");printf("若下一发为实弹则伤害+1\n");Yourmoney+=500.0;Hurt=2;}else{printf("玩家B已经用过小刀了\n");}Sleep(1145);system("cls");}else{printf("玩家B现在没有小刀\n");Sleep(1145);system("cls");}}else if(x==6){if(daoju1[3]){if(Other^4){daoju1[3]--;daojulen1--;printf("玩家B使用了烟\n");printf("玩家B回复了一点生命\n");Yourmoney+=500.0;Other++;}else{printf("玩家B现在不需要烟\n");}Sleep(1145);}else{printf("玩家B现在没有烟\n");Sleep(1145);system("cls");}}else{if(daoju1[4]){daoju1[4]--;daojulen1--;printf("玩家B使用了饮料\n");wait();printf("\n");printf("玩家B退了一发"); if(q[qlen]==2){printf("空弹");kong--;}else{printf("实弹");Yourmoney+=500.0;shi--;}qlen--;Sleep(500);}else{printf("玩家B现在没有饮料\n");Sleep(1145);system("cls");}}Sleep(1000);system("cls");
}
int asdasd;
void duorenplay(){while(1){if(shi==0){build_gun_duo();T=asdasd;asdasd++;continue;}if(T%2==0){Timeyou_duo();}else{Timeother_duo();}}
}
int main()
{cout<<"   游戏机   " <<endl; cout<<"1:恶魔轮盘赌 game"<<endl; cout<<"2:模拟世界 game"<<endl;cout<<"3:数字老虎机 game"<<endl;cout<<"4:骗子酒馆 game"<<endl; cout<<"5:抛硬币 game"<<endl; cout<<"6:冒险 game"<<endl; while(1){cin>>n;if(n==1) {cout<<"恶魔轮盘"; srand(time(0));int x;while(1){printf("请选择你想要的模式:\n1.单人\n2.双人(此模式中,生命值为4,道具补给为2)\n");scanf("%d",&x);if(x==1||x==2){break;}printf("输入不合法\n");Sleep(1145);system("cls");}system("cls");if(x==1){danrenplay();}else{Your=Other=4;duorenplay();}}if(n==2){srand(time(0));cout<<"        欢迎游玩该游戏"<<endl<<endl;cout<<"  游戏背景:"<<endl;cout<<"      一天,你正在机房里摸鱼,忽然,一"<<endl;cout<<"  阵白光闪过,令你睁不开眼。在白光消失"<<endl;cout<<"  后,你惊讶的发现,你穿越成了游戏世界"<<endl;cout<<"  的一个小白,你该怎样活下去并称霸这个"<<endl;cout<<"  世界呢"<<endl<<endl; cout<<"      按任意键  开始游戏"<<endl;char x=_getch();while(1){common();choose();}}if(n==3){srand((unsigned)time(NULL));  int target = rand() % 100 + 1;  int guess, attempts = 5;      cout << "=== 猜数字游戏 ===" << endl;cout << "目标数字在 1-100 之间,你有 " << attempts << " 次机会!\n";while (attempts-- > 0) {cout << "输入你的猜测:";cin >> guess;if (guess == target) {cout << "恭喜!猜中了!\n";return 0;} else if (guess < target) {cout << "太小了!剩余次数:" << attempts << endl;} else {cout << "太大了!剩余次数:" << attempts << endl;}}cout << "游戏结束!正确数字是:" << target << endl;return 0;}if(n==4) {system("cls"); // 清屏srand(time(0));cout << "=== 欢迎来到骗子酒馆 ===" << endl;cout << "这里充满机会与欺诈,小心你的选择!" << endl;tavernMenu();}if(n==5) {system("cls"); // 清屏std::srand(std::time(0));int coin = std::rand() % 2;char guess;std::cout << "欢迎来到抛硬币游戏!请猜测是正面(H)还是反面(T): ";std::cin >> guess;std::cout << "硬币结果是: ";if (coin == 0) {std::cout << "正面" << std::endl;} else {std::cout << "反面" << std::endl;}if ((coin == 0 && guess == 'H') || (coin == 1 && guess == 'T')) {std::cout << "恭喜你,猜对了!" << std::endl;} else {std::cout << "很遗憾,猜错了。" << std::endl;}return 0;}if(n==6){system("cls"); // 清屏cout<<"  冒险"<<endl; srand(time(0));// 单人模式添加战斗逻辑int playerHealth = 150;int playerMana = 100;bool hasSword = false;std::string choice;std::cout << "你身处一片神秘森林,面前有两条路,一条向左,一条向右。你选择哪条路?(左/右): ";std::cin >> choice;if (choice == "左") {std::cout << "你来到了一个古老的城堡,城堡大门敞开着,你要进去吗?(进/不进): ";std::cin >> choice;if (choice == "进") {if (std::rand() % 2 == 0) {std::cout << "你触发了陷阱,损失20点生命值。" << std::endl;playerHealth -= 20;if (playerHealth <= 0) {std::cout << "你因伤势过重死亡,游戏结束。" << std::endl;return 0;}}std::cout << "你在城堡里发现了一把剑,你获得了剑。" << std::endl;hasSword = true;std::cout << "继续深入城堡,你发现了宝藏,但同时出现了一个守卫。你要战斗还是逃跑?(战斗/逃跑): ";std::cin >> choice;if (choice == "战斗") {battle(playerHealth, playerMana, hasSword);if (playerHealth > 0) {std::cout << "你成功获得了宝藏,你赢了!" << std::endl;}} else {std::cout << "你成功逃跑,但宝藏没了,游戏结束。" << std::endl;}} else {std::cout << "你错过了宝藏,离开了城堡,游戏结束。" << std::endl;}} else if (choice == "右") {std::cout << "你遇到了一只凶猛的野兽,你要战斗还是逃跑?(战斗/逃跑): ";std::cin >> choice;if (choice == "战斗") {battle(playerHealth, playerMana, hasSword);if (playerHealth > 0) {std::cout << "你打败了野兽,继续前进。" << std::endl;std::cout << "你发现了一个隐藏的洞穴,要进去看看吗?(进/不进): ";std::cin >> choice;if (choice == "进") {std::cout << "你在洞穴里发现了宝藏,你赢了!" << std::endl;} else {std::cout << "你离开了洞穴,游戏结束。" << std::endl;}}} else {if (std::rand() % 2 == 0) {std::cout << "你成功逃跑,但是迷失了方向,游戏结束。" << std::endl;} else {std::cout << "你逃跑时被野兽追上,受了重伤,损失30点生命值,游戏结束。" << std::endl;}}} else {std::cout << "无效的选择,游戏结束。" << std::endl;}}return 0;}}

注意,本代码是原创,请勿抄袭,违者必究

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919415.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919415.shtml
英文地址,请注明出处:http://en.pswp.cn/news/919415.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony WebView引擎:从Chromium魔改到分布式渲染的终极解析

🏗️ 架构解析 arkweb是OpenHarmony webview组件的Native引擎,基于Chromium和CEF构建。 OpenHarmony WebView是基于Chromium CEF构建的高性能Web渲染引擎,为OpenHarmony系统提供完整的Web内容展示能力。该引擎采用分层架构设计,实现了与ArkUI的深度集成。 🏗️ 架构设…

Mybatis-3自己实现MyBatis底层机制

MyBatis整体架构分析一图胜千言1、Mybatis核心框架示意图2、对上图的解读1)mybatis的核配置文件mybatis-config.xml:进行全局配置&#xff0c;全局只能有一个这样的配置文件XxxMapper.xml配置多个SQL,可以有多个XxxMappe.xml配置文件 2)通过mybatis-config.xml配置文件得到SqlS…

Uniapp 之renderjs解决swiper+多个video卡顿问题

一、效果图二、示例代码 test.vue<template><view style"" :style"{height: windowHeightpx}"><swiper class"video-swiper" vertical change"swiperChange" :current"current" animationfinish"swiper…

设计模式之【快速通道模式】,享受VIP的待遇

文章目录一、快速通道模式简介1、简介2、适用场景二、示例1、JDK源码&#xff1a;ArrayList构造方法2、String.intern()方法3、缓存系统设计&#xff08;典型&#xff09;三、注意事项1、核心设计原则2、避坑指南参考资料一、快速通道模式简介 1、简介 快速通道模式是一种基于…

NineData云原生智能数据管理平台新功能发布|2025年7月版

本月发布 23 项更新&#xff0c;其中重点发布 8 项、功能优化 15 项。重点发布数据库 DevOps - 非表对象调试新增存储过程、函数、包的调试功能&#xff0c;支持对象编译、断点设置、执行控制&#xff08;continue/step into/step over&#xff09;、变量调试等全流程操作。数据…

APM32芯得 EP.29 | 基于APM32F103的USB键盘与虚拟串口复合设备配置详解

如遇开发技术问题&#xff0c;欢迎前往开发者社区&#xff0c;极海技术团队将在线为您解答~ 极海官方开发者社区​https://community.geehy.cn/ 《APM32芯得》系列内容为用户使用APM32系列产品的经验总结&#xff0c;均转载自21ic论坛极海半导体专区&#xff0c;全文未作任何修…

css过渡属性

前言 该属性用于元素各种 “改变” 后的过渡效果动画&#xff0c;包括但不限于颜色、宽高、缩放等。 如下图所示&#xff0c;使用过渡属性便可轻松完成。 示例代码 您可以直接复制运行&#xff0c;查看效果。 <div>demo</div>div {width:100px; height:100px;/* …

云计算核心技术之云存储技术

一、云存储技术1.1、云存储是什么从狭义上来说&#xff0c;云存储是指通过虚拟化、分布式技术、集群应用、网格技术、负载均衡等技术&#xff0c;将网络中大量的存储设备通过软件集合起来高效协同工作&#xff0c;共同对外提供低成本、高扩展性的数据存储服务。从广义上来讲&am…

在Ubuntu上安装并使用Vue2的基本教程

我也准备要尝试一些前端开发了&#xff01;发现网上有些教程写得挺好&#xff0c;但是还是有点老&#xff08;并且有点错误&#xff09;&#xff0c;所以这里更新一下&#xff1a; 主要参考了这篇教程&#xff1a;Vue2——1. 安装教程_vue2 cdn-CSDN博客 并且使用NPM方式进行…

任务十九 打包部署

一、本地打包部署 首先在自己的电脑上,下载一个nginx nginx: download 之后再vscode中,进行打包 输入命令 npm run build 打包过后,会在项目的根目录下,生成一个dist的文件夹

《飞算Java AI使用教程:从安装入门到实践项目》

前引&#xff1a;在当今人工智能技术飞速发展的时代&#xff0c;Java作为企业级开发的主流语言&#xff0c;正与AI技术深度融合。飞算Java AI是一款强大的工具集&#xff0c;旨在帮助开发者轻松构建和部署智能应用&#xff0c;涵盖机器学习、自然语言处理等核心功能。本教程将带…

NestJS 依赖注入方式全解

一、基础注入方式 1. 构造函数注入&#xff08;Constructor Injection&#xff09; 适用场景&#xff1a;模块间依赖传递&#xff0c;服务初始化时必须存在的依赖 实现方式&#xff1a;通过构造函数参数声明依赖&#xff0c;NestJS 自动解析并注入 Injectable() class UserServ…

完整源码+技术文档!基于Hadoop+Spark的鲍鱼生理特征大数据分析系统免费分享

&#x1f393; 作者&#xff1a;计算机毕设小月哥 | 软件开发专家 &#x1f5a5;️ 简介&#xff1a;8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 &#x1f6e0;️ 专业服务 &#x1f6e0;️ 需求定制化开发源码提…

云原生俱乐部-shell知识点归纳(1)

shell的内容也挺多的&#xff0c;虽然云原生课程主要是讲grep、sed、awk三剑客&#xff0c;但是还有结合循环结构&#xff0c;判断语句&#xff0c;以及函数等内容。还是有点复杂的&#xff0c;并且我对shell的掌握并不多&#xff0c;所以写的可能并不全。当然&#xff0c;如果…

设计模式(四)——责任链模式

1. 责任链模式的定义 责任链模式&#xff08;Chain of Responsibility&#xff0c;简称 CoR&#xff0c;也叫职责链模式&#xff09;是一种行为型设计模式&#xff0c;允许一个请求在一系列处理器&#xff08;handlers&#xff09;中传递。每个处理器可以选择自己处理该请求&am…

MyBatis-Plus基础篇详解

文章目录前言一、简单介绍MyBatis-Plus1.1 特性1.2 架构二、SpringBoot集成MyBatis-Plus2.1 项目搭建2.2 导入所需依赖2.3 配置application.yml2.4 创建实体类2.5 创建Mapper接口2.6 启动类配置三、DQL操作3.1 基础查询3.2 QueryWrapper查询3.3 LambdaQueryWrapper查询3.4 分页…

基于W55MH32Q-EVB 实现 HTTP 服务器配置 OLED 滚动显示信息

目录 1 前言 2 项目环境 2.1 硬件准备 2.2 软件环境 3.硬件连接和方案 3.1 硬件连接 3.2 方案图示 4.例程修改 1 前言 HTTP&#xff08;超文本传输协议&#xff0c;HyperText Transfer Protocol&#xff09;是一种用于分布式、协作式、超媒体信息系统的应用层协议&#xff0c; …

YggJS RLogin暗黑霓虹主题登录注册页面 版本:v0.1.1

项目介绍 yggjs_rlogin 是一个专注于 React 登录/注册页面的组件库。本文档介绍“暗黑霓虹”主题&#xff1a;#111 暗色背景 青蓝霓虹描边输入框 赛博朋克光效按钮。 安装说明 安装&#xff1a;pnpm add yggjs_rlogin react react-dom使用&#xff1a;从 yggjs_rlogin 引入组…

大数据毕业设计选题推荐:护肤品店铺运营数据可视化分析系统详解

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

【github-action 如何为github action设置secrets/environment】

Using secrets in GitHub Actions 在 GitHub Actions 中使用密钥 Learn how to create secrets at the repository, environment, and organization levels for GitHub Actions workflows. 学习如何在仓库、环境和组织级别为 GitHub Actions 工作流创建密钥。 Creating secre…