续重续重续
2025-08-12 19:10:24
发布于:浙江
else if (b == 5) {
while (1) {
if (xing <= 0) {
while (duixing) {
cout << "对手回合";
Sleep(1000);
if (abs(oi - ri) + abs(oj - rj) <= 5 && duixing >= 2 && dcd2 == 0) {
cout << "对手释放滚动造成了" << diwugong << "点伤害";
duixing -= 1;
Sleep(1000);
sheng -= difagong;
dcd2 += 4;
} else if (abs(oi - ri) + abs(oj - rj) <= 5 && duixing >= 1 && dcd1 <= 0) {
cout << "对手普攻造成了" << (20 + diwugong) * 0.2 << "点伤害";
duixing -= 1;
sheng -= (20 + difagong * 0.2);
Sleep(1000);
dcd1++;
if (sheng <= 0) {
cout << "你输了";
chao -= 20;
break;
Sleep(2000);
}
} else if (abs(oi - ri) + abs(oj - rj) <= 3 && duixing >= 1) {
cout << "对手普攻造成了" << diwugong << "点伤害";
duixing -= 1;
sheng -= diwugong;
Sleep(1000);
if (sheng <= 0) {
cout << "你输了";
chao -= 20;
break;
Sleep(1000);
Sleep(1000);
}
} else if (duixing <= 0) {
break;
} else {
if (ri < oi) {
cout << "对手1坐标+1" << endl;
ri++;
duixing -= 1;
} else if (ri > oi) {
ri--;
cout << "对手1坐标-1" << endl;
duixing -= 1;
} else if (rj < oj) {
cout << "对手2坐标+1" << endl;
duixing -= 1;
rj++;
} else if (rj > oj) {
cout << "对手2 坐标-1" << endl;
duixing -= 1;
rj--;
}
cout << "目前坐标" << rj << "," << ri;
Sleep(400);
Sleep(2000);
}
dcd1--;
dcdd--;
dcd2--;
if (sheng <= 0) {
break;
cout << "你输了";
chao -= 20;
Sleep(1000);
}
}
xing += 6;
duixing = 6;
duixing -= jiandian;
}
system("cls");
if (sheng <= 0) {
cout << "你输了";
chao -= 20;
break;
}
system("cls");
cout << " 第" << l << "回合\n";
cout << "你的回合\n0.普攻,1.快迟到了,2.拍拍拍,3.淘气一击,w一坐标****一坐标-1,d二坐标+1,a二坐标-1\n行动点剩余" << xing << endl << " 生命" << sheng << " 对手血量" << disheng;
if (jingda == true) {
cout << "你的大招被禁用了\n";
}
int p = false;
if (sheng >= float(sheng * yousheng / 100)) {
fabao1 += youbao / 5;
wubao1 += youbao / 5;
wubaos1 += youbao;
fabaos1 += youbao;
p = true;
}
cout << " 目前位置:" << "(" << oi << "," << oj << ")\n";
cout << " 对手目前位置:" << "(" << ri << "," << rj << ")\n";
char aa;
cin >> aa;
float linjia = 0, xing1 = 0, puxiao = 1;
if (dachi > 0) {
xing1 = 0.3;
puxiao = 0.5;
} else {
xing1 = 1;
}
if (aa == 'w') {
oi++;
xing -= 1;
Sleep(500);
}
if (aa == 's') {
oi--;
xing -= 1;
Sleep(500);
}
if (aa == 'd') {
oj++;
xing -= 1;
Sleep(500);
}
if (aa == 'a') {
oj--;
xing -= 1;
Sleep(500);
} else if (aa == '0' && cdp <= 0 && abs(oi - ri) + abs(oj - rj) <= 4) {
int g = rand() % 20;
if (g <= wubao1) {
cout << "暴击!!,";
linjia = wubaos1;
}
xing -= xing1;
float damage = xishu * ((wugong * ((xul + shengda + 100) / 100) + (pue * dishengmax / 100)) * (linjia / 100 + 1)) * puxiao;
damage = max(1.0f, damage - diwukang); // 敌人物理抗性减免
cout << "你对对手造成了" << damage << "点伤害\n";
disheng = disheng - damage;
shengda = 0;
for (int i = 0; i < ci; i++) {
if (he > 0) {
cout << "合金狼牙棒:造成了" << he*disheng * 0.01 << "点伤害\n";
disheng -= he * disheng * 0.01;
}
if (quan > 0) {
cout << "巨人拳套:造成了" << shengmax*quan * 0.01;
disheng -= shengmax * quan * 0.01;
}
}
if (xu == true && dachi < 0) {
cdp = 1;
}
Sleep(1000);
wugong += pujia;
} else if (aa == '1' && cd1 <= 0) {
if (abs(oi - rj) + abs(oj - ri) <= 5) {
int g = rand() % 20;
if (g <= wubao1) {
cout << "暴击!!,";
linjia = wubaos1;
}
xing -= 1;
if (jingda == true) {
cd1 = 3;
} else {
cd1 = 5;
}
float damage = ((20 + wugong * 0.8) * (1 + shengda / 100)) * (linjia / 100 + 1);
damage = max(1.0f, damage - diwukang); // 物理抗性减免
cout << "你对对手造成了" << damage << "点伤害\n";
disheng = disheng - damage;
if (zhuanhei == true) {
cd1--;
}
if (disheng <= dishengmax / 2) {
float extra = damage * (luojin - 1);
cout << "(落井下石)你对对手造成了" << extra << "点额外伤害\n";
disheng = disheng - extra;
}
shengda = 0;
}
} else if (aa == '2' && cd2 <= 0) {
dachi = erchi++;
cout << "你开启了拍拍拍";
if (jingda == true) {
cd2 = 6;
} else {
cd2 = 11;
}
} else if (aa == '3' && cdd <= 0) {
int g = rand() % 20;
if (g <= wubao1) {
cout << "暴击!!,";
linjia = wubaos1;
}
xing -= 1;
float damage = ((wugong * 1.2) * ((shengda + 100) / 100) + (pue * dishengmax / 100)) * (linjia / 100 + 1);
damage = max(1.0f, damage - diwukang);
cout << "你对对手造成了" << damage << "点伤害\n";
disheng = disheng - damage;
shengda = 0;
} else {
cdd++;
cd2++;
cd1++;
cdp++;
l--;
chi++;
}
if (disheng <= 0) {
cout << "你赢了";
Sleep(1000);
dichao -= 20;
break;
}
cdd--;
cd2--;
cd1--;
cdp--;
dachi--;
if (p == true)
fabao1 -= youbao / 5;
wubao1 -= youbao / 5;
wubaos1 -= youbao;
fabaos1 -= youbao;
leifa();
l++;
}
}
if (mu < 6) {
if (dichao <= 0) {
int n = 80 - xingg / 100 - mu * 5;
if (n <= 30) {
n = 31;
}
for (int i = 0; i < n * cheng; i++) {
cout << "你的段位加星\n";
cout << "目前段位" << xingg << "星";
xingg++;
system("cls");
Sleep(5);
}
shengmax += jie;
if (sheng > float(shengmax * yousheng / 100)) {
fabao1 -= youbao / 5;
wubao1 -= youbao / 5;
wubaos1 -= youbao;
fabaos1 -= youbao;
}
int trigger = rand() % 1 + 1;
if (trigger == 1) { // 1/(1+cishu)概率触发特殊剧情
system("cls");
cout << "突然间,你和对手被传送到一个神秘的毒圈战场!\n";
cout << "这里不能使用常规技能,只能使用特殊能力对抗大魔王!\n";
Sleep(2000);
// 初始化毒圈战斗变量
int poisonRound = 0; // 毒圈回合数
float poisonDamage = 0; // 毒圈伤害
int bossHPmax = shengmax * 5;
int bossHP = shengmax * 5; // 大魔王血量
int bossAttack = max(wugong, fagong) * 3 / 4; // 大魔王初始攻击力
float playerHP = shengmax; // 玩家血量
int playerMaxHP = shengmax;
int specialCD1 = 0; // 惊喜礼物冷却
int specialCD2 = 0; // 反击冷却
int specialCD3 = 0; // 无敌冷却
while (1) {
poisonRound++;
poisonDamage = poisonRound * 2; // 毒圈伤害递增
system("cls");
cout << "=== 毒圈战场 - 第" << poisonRound << "回合 ===\n";
cout << "你的血量: " << playerHP << "/" << playerMaxHP << "\n";
cout << "大魔王血量: " << bossHP << "\n";
cout << "毒圈伤害: " << poisonDamage << "% 最大生命值\n";
cout << "大魔王下回合攻击力: " << bossAttack << "\n\n";
cout << "可用的特殊能力:\n";
cout << "1. 惊喜礼物(冷却" << max(0, specialCD1) << "): 回复8%最大生命值\n";
cout << "2. 致命反击(冷却" << max(0, specialCD2) << "): 造成" << max(wugong, fagong) * 1.5 << "伤害\n";
cout << "3. 绝对防御(冷却" << max(0, specialCD3) << "): 无敌1回合并恢复47%血\n";
// 更新冷却
if (specialCD1 > 0) specialCD1--;
if (specialCD2 > 0) specialCD2--;
if (specialCD3 > 0) specialCD3--;
// 玩家回合
int choice;
cout << "选择行动(1-3): ";
cin >> choice;
bool immune = false;
switch (choice) {
case 1:
if (specialCD1 <= 0) {
float heal = playerMaxHP * 0.08;
playerHP += heal;
if (playerHP > playerMaxHP) playerHP = playerMaxHP;
cout << "你使用了惊喜礼物,恢复了" << heal << "生命值!\n";
specialCD1 = 2;
} else {
cout << "技能还在冷却中!\n";
}
break;
case 2:
if (specialCD2 <= 0) {
float damage = max(wugong, fagong) * 1.5;
bossHP -= damage;
cout << "你对大魔王造成了" << damage << "点伤害!\n";
specialCD2 = 2;
} else {
cout << "技能还在冷却中!\n";
}
break;
case 3:
if (specialCD3 <= 0) {
immune = true;
float heal = playerMaxHP * 0.47;
playerHP += heal;
if (playerHP > playerMaxHP) playerHP = playerMaxHP;
cout << "你进入无敌状态并恢复了" << heal << "生命值!\n";
specialCD3 = 5;
} else {
cout << "技能还在冷却中!\n";
}
break;
default:
cout << "无效选择!\n";
poisonRound--;
specialCD1++;
specialCD2++;
specialCD3++;
continue;
}
cout << "毒圈对大魔王造成了" << bossHPmax*poisonDamage / 100 << "点伤害!\n";
bossHP -= (bossHPmax * poisonDamage / 100);
// 毒圈伤害
if (!immune) {
float poison = playerMaxHP * poisonDamage / 100;
playerHP -= poison;
cout << "毒圈对你造成了" << poison << "点伤害!\n";
} else {
cout << "无敌状态使你免受毒圈伤害!\n";
}
// 检查玩家是否死亡
if (playerHP <= 0) {
cout << "你被毒圈和大魔王击败了!\n";
Sleep(2000);
break;
}
// 大魔王攻击
if (!immune) {
playerHP -= bossAttack;
cout << "大魔王对你造成了" << bossAttack << "点伤害!\n";
} else {
cout << "无敌状态使你免受大魔王的攻击!\n";
}
// 增加大魔王攻击力
bossAttack += 4;
// 检查大魔王是否死亡
if (bossHP <= 0) {
cout << "恭喜你击败了大魔王!获得了毒圈生存者的称号!\n";
cout << "你获得了属性:\n";
cout << "1. 生命上限 - 增加300\n";
cout << "2. 致命反击 - 增加物理/法术攻击20\n";
cout << "3. 绝对防御 - 加5双防\n";
Sleep(4000);
cishu++;
shengmax += 300;
wugong += 20;
fagong += 20;
fakang += 5;
wukang += 5;
break;
}
Sleep(2000);
}
}
if (chao <= 0) {
cout << "你的段位掉星\n";
cout << "目前段位" << xingg << "星";
int n = xingg / 100 + mu * 5;
if (n >= 50) {
n = 49;
}
for (int i = 0; i < n * cheng; i++) {
cout << "你的段位掉\n";
cout << "目前段位" << xingg << "星";
xingg--;
system("cls");
Sleep(5);
}
}
shengda = hui;
if (xingg >= shengxing[mu]) {
xingg -= shengxing[mu];
mu++;
}
if (mu == 6) {
xingg /= 10;
}
cout << "目前段位" << duan[mu] << "段" << xingg << "星";
Sleep(3000);
system("cls");
cout << "是否保存游戏? (y/n): ";
char saveChoice;
cin >> saveChoice;
if (saveChoice == 'y' || saveChoice == 'Y') {
saveGame();
}
} else {
if (dichao <= 0) {
jia(1 * cheng);
}
if (chao <= 0) {
jia(-3 * cheng);
}
}
}
}
}
这里空空如也
有帮助,赞一个