!!!斗罗迷的福分!!!
斗罗c++控制台游戏
小小的宣传一下团队
记得在编译选项中加
代码:
#include <bits/stdc++.h>
#include <windows.h>
#include <unistd.h>
#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <cstring>
#include <string.h>
#include <fstream>
#include <cmath>
#include <vector>
#include <string>
#include <map>
#include <stack>
#include <set>
#include <csignal>
#include <csetjmp>
#include <cstdarg>
#include <typeinfo>
#include <bitset>
#include <functional>
#include <utility>
#include <cstddef>
#include <new>
#include <memory>
#include <climits>
#include <cfloat>
#include <limits>
#include <exception>
#include <stdexcept>
#include <cassert>
#include <cerrno>
#include <cctype>
#include <cwctype>
#include <cwchar>
#include <list>
#include <deque>
#include <queue>
#include <iterator>
#include <algorithm>
#include <complex>
#include <valarray>
#include <numeric>
#include <iosfwd>
#include <ios>
#include <istream>
#include <ostream>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <streambuf>
#include <cstdio>
#include <locale>
#include <cstdlib>
using namespace std;
#define slp sleep(0.5)
#define cls system("cls")
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
void color(int word,int back){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),back*16+word);
}
struct man{
string name;
long long hunhuanshangxian;
long long chushihunli;
long long hp,mxhp;
long long wuhun;
long long pugongshanghai;
long long pugongleixing;
long long pugongxiaoguo[110];
long long xiaoguoqiangdu[110];
long long xiaoguoshijian[110];
long long fangyu;
long long speed;
long long hunli;
string hunjiname[10][5];
long long hunjileixing[10][5];
long long hunjinianxian[10];
long long hunjilengque[10][5];
long long hunjishanghai[10][5];
long long hunjixiaoguo[10][5][110];
long long hunjixiaoguoqiangdu[10][5][110];
long long hunjixiaoguoshijian[10][5][110];
}my;
struct fighter{
long long hp,mxhp;
string name;
long long pugongshanghai;
long long fangyu;
long long speed;
};
fighter make_player(){
fighter p;
p.hp=my.hp;
p.mxhp=my.mxhp;
p.fangyu=my.fangyu;
p.speed=my.speed;
}
long long getll(long long a[]){
int i;
for(i=1;a[i]!=0;i++){}
return i;
}
string wuhunname[110]={
"",
"昊天锤",
"蓝银皇",
"邪眸白虎",
"火凤凰",
"柔骨兔",
"幽冥猫",
"蓝电霸王龙",
"龙纹棍",
};
/*
攻击类型
1 近战
2 中程
3 远程
攻击效果
1 中毒
2 着火
3 触电
4 眩晕
5 吸血
6 减速
7 闪避
8 控制
9 中毒加成
10 火焰加成
11 雷电加成
12 护盾(自己)
13 增加防御(自己)
14 伤害加成(自己)
15 全属性加成(自己)
16 回血(单体)
17 加速(单体)
18 减速(群体)
19 回血(群体)
20 加速(群体)
21 护盾(群体)
22 增加防御(群体)
23 伤害加成(群体)
24 全属性加成(群体)
25 控制(群体)
26 加速(自己)
27 破甲(单体)
28 破甲(群体)
29 召唤
30 护盾(单体)
31
*/
string xiaoguoname[110]={"","中毒","着火","触电","眩晕","吸血","减速","闪避","控制"
,"中毒加成","火焰加成","雷电加成","护盾(自己)","增加防御(自己)","伤害加成(自己)"
,"全属性加成(自己)","回血(单体)","加速(单体)","减速(群体)","回血(群体)","加速(群体)"
,"护盾(群体)","增加防御(群体)","全属性加成(群体)","伤害加成(群体)","控制(群体)","加速(自己)"
,"破甲(单体)","破甲(群体)","分身","护盾(单体)",""};
long long random(long long l,long long r){
if(r<l){
return 0;
}
long long k=rng()*rng()+rng();
return abs(k%(r-l+1))+l;
}
string nts(long long num){
string k="";
while(num){
k+=char(num%10+'0');
num/=10;
}
int len=k.size();
for(int i=0;i<len/2;i++){
swap(k[i],k[len-i-1]);
}
return k;
}
long long xiyouchengdu[110]={0,9,9,7,8,7,7,9,8};
long long wuhunhp[110]={0,220,240,200,180,140,140,210,120};
long long wuhunfangyu[110]={0,5,5,4,4,3,3,5,2};
long long wuhunshanghai[110]={0,50,30,32,35,25,23,60,60};
long long pugongleixing[110]={0,1,1,1,2,1,1,1};
long long wuhunsudu[110]={0,10,15,16,18,18,25,20,20};
long long pugongxiaoguo[110][20]={{},{},{},{},{0,2},{},{},{},{}};
long long pugongxiaoguoqiangdu[110][20]={{},{},{},{},{0,10},{},{},{},{}};
long long pugongxiaoguoshijian[110][20]={{},{},{},{},{0,5},{},{},{},{}};
long long pugongshanghaishuliang[110]={0,30,0,0,20,0,0,0,0};
string hunjiname[10][110][21][5]={
{},
{
{},
{{},{"","泰坦苍穹怕 ",""},{}},
{{},{"","缠绕 ",""},{}},
{{},{"","白虎护身障 ",""},{}},
{{},{"","凤凰火线 ",""},{}},
{{},{"","腰弓 ",""},{}},
{{},{"","幽冥突刺 ",""},{}},
{{},{"","雷霆龙爪 ",""},{}},
{{},{"","龙纹漩涡 "},{}},
},
{
{},
{{},{"","昊天护体 ",""},{"重力沼泽"},{}},
{{},{"","寄生 ",""},{}},
{{},{"","白虎烈光波 ",""},{}},
{{},{"","浴火凤凰 ",""},{}},
{{},{"","魅惑 ",""},{}},
{{},{"","幽冥百爪 ",""},{}},
{{},{"","雷霆万钧 ",""},{}},
{{},{"","龙纹觉醒 ",""},{}},
},
{
{},
{{},{"","旋风狂舞 ",""},{}},
{{},{"","蛛网束缚 ",""},{}},
{{},{"","白虎金刚变 ",""},{}},
{{},{"","凤凰天翔 ",""},{}},
{{},{"","瞬移 ",""},{}},
{{},{"","幽冥斩 ",""},{}},
{{},{"","雷霆之怒 ",""},{}},
{{},{"","龙纹破 ",""},{}},
},
{
{},
{{},{"","邪神破 ",""},{}},
{{},{"","蓝银囚笼 ",""},{}},
{{},{"","白虎流星雨 ",""},{}},
{{},{"","凤凰啸天击 ",""},{}},
{{},{"","无敌金身 ",""},{"","暴杀八段摔 "},{}},
{{},{"","幽冥影分身 ",""},{}},
{{},{"","雷霆龙首 ",""},{}},
{{},{"","龙纹咆哮 ",""},{}},
},
{
{},
{{},{"","绚烂之爆 ",""},{}},
{{},{"","蓝银霸皇枪 ",""},{}},
{{},{"","白虎魔神变 ",""},{}},
{{},{"","凤凰流星雨 ",""},{}},
{{},{"","柔骨锁 ",""},{}},
{{},{"","幽冥影相连 ",""},{}},
{{},{"","雷霆地狱 ",""},{}},
{{},{"","龙纹定海 ",""},{}},
},
{
{},
{{},{"","大地蚁皇斩 ",""},{}},
{{},{"","蓝银金光阵 ",""},{}},
{{},{"","白虎破灭杀 ",""},{}},
{{},{"","凤凰穿云击 ",""},{}},
{{},{"","虚无 ",""},{}},
{{},{"","幽冥附体 ",""},{}},
{{},{"","雷霆吐息 ",""},{}},
{{},{"","孤注一掷 ",""},{}},
},
{
{},
{{},{"","昊天真身 ",""},{}},
{{},{"","蓝银皇真身 ",""},{"吞噬金丝"},{}},
{{},{"","白虎真身 ",""},{}},
{{},{"","凤凰真身 ",""},{}},
{{},{"","柔骨真身 ",""},{}},
{{},{"","幽冥猫真身 ",""},{}},
{{},{"","蓝电霸王龙真身 ",""},{}},
{{},{"","龙纹真身 ",""},{}},
},
{
{},
{{},{"","千钧壁垒 ",""},{}},
{{},{"","蓝银邪魔镜之灭 ",""},{"蓝银虎鲸魔之摄"},{}},
{{},{"","白虎凌风裂 ",""},{}},
{{},{"","凤凰噬心链 ",""},{}},
{{},{"","金丝魔网 ",""},{}},
{{},{"","幽冥铩影灭 ",""},{}},
{{},{"","雷神附体 ",""},{}},
{{},{"","龙纹爆破 ",""},{}},
},
{
{},
{{},{"","杀戮结界 ",""},{}},
{{},{"","蓝银天青龙之魂 ",""},{"蓝银青龙缠之韧"},{}},
{{},{"","白虎天雷灭 ",""},{}},
{{},{"","凤凰地狱邪火 ",""},{}},
{{},{"","月光轰天杀 ",""},{}},
{{},{"","幽冥神灭 ",""},{}},
{{},{"","真龙降临 ",""},{"雷神降临 "}},
{{},{"","龙威四海 ",""},{}},
},
};
long long hunjileixing[10][110][21][5]={
{},
{
{},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,3},{}},
{{},{0,2},{}},
{{},{0,1},{}},
{{},{0,1},{}},
{{},{0,1},{}},
{{},{0,3},{0,3},{}},
},
{
{},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,1},{}},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,1},{}},
{{},{0,1},{}},
{{},{0,3},{}},
},
{
{},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,1},{}},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,3},{}},
{{},{0,1},{}},
{{},{0,3},{}},
},
{
{},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,3},{}},
{{},{0,2},{}},
{{},{0,1},{0,1},{}},
{{},{0,1},{}},
{{},{0,2},{}},
{{},{0,3},{}},
},
{
{},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,1},{}},
{{},{0,3},{}},
{{},{0,1},{}},
{{},{0,1},{}},
{{},{0,1},{}},
{{},{0,3},{}},
},
{
{},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
},
{
{},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
},
{
{},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
},
{
{},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
{{},{0,},{}},
},
};
long long hunjixiaoguo[10][110][21][5][30]={
{},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,8}},{}},
{{},{{},{0,12}},{}},
{{},{{},{0,2}},{}},
{{},{{},{0,14}},{}},
{{},{{},{0,14}},{}},
{{},{{},{0,12}},{}},
{{},{{},{0,0}},{{},{0,15}},{}},
},
{
{},
{{},{{},{0,12}},{}},
{{},{{},{0,8}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,10}},{}},
{{},{{},{0,4}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,4}},{}},
},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,1,8}},{}},
{{},{{},{0,15}},{}},
{{},{{},{0,26,10}},{}},
{{},{{},{0,7}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,4}},{}},
{{},{{},{0,16}},{}},
},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,8}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,13}},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,8}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
};
/*
攻击效果
1 中毒
2 着火
3 触电
4 眩晕
5 吸血
6 减速
7 闪避
8 控制
9 中毒加成
10 火焰加成
11 雷电加成
12 护盾(自己)
13 增加防御(自己)
14 伤害加成(自己)
15 全属性加成(自己)
16 回血(单体)
17 加速(单体)
18 减速(群体)
19 回血(群体)
20 加速(群体)
21 护盾(群体)
22 增加防御(群体)
23 伤害加成(群体)
24 全属性加成(群体)
25 控制(群体)
26 加速(自己)
27 破甲(单体)
28 破甲(群体)
29 分身
30 护盾(单体)
*/
long long hunjixiaoguoqiangdu[10][110][21][5][30]={
{},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,10}},{}},
{{},{{},{0,12}},{}},
{{},{{},{0,20}},{}},
{{},{{},{0,40}},{}},
{{},{{},{0,40}},{}},
{{},{{},{0,50}},{}},
{{},{{},{0,0}},{{},{0,60}},{}},
},
{
{},
{{},{{},{0,30}},{}},
{{},{{},{0,20}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,20}},{}},
{{},{{},{0,1}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,1}},{}},
},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,60,50}},{}},
{{},{{},{0,50}},{}},
{{},{{},{0,30,100}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,3}},{}},
{{},{{},{0,7}},{}},
},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,80}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,500}},{{},{}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,400}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
};
long long hunjixiaoguoshijian[10][110][21][5][30]={
{},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,-1}},{}},
{{},{{},{0,-1}},{}},
{{},{{},{0,5}},{}},
{{},{{},{0,3}},{}},
{{},{{},{0,3}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{{},{0,4}},{}},
},
{
{},
{{},{{},{0,-1}},{}},
{{},{{},{0,-1}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,3}},{}},
{{},{{},{0,2}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,3}},{}},
{{},{{},{0,3}},{}},
},
{
{},
{{},{{},{0,0}},{}},
{{},{{},{0,5,-1}},{}},
{{},{{},{0,5}},{}},
{{},{{},{0,3,3}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,3}},{}},
},
{
{},
{{},{{},{0,-1}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,0}},{}},
{{},{{},{0,-1}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
{
{},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
{{},{{},{}},{}},
},
};
long long hunjishanghai[10][110][21][5]={
{},
{
{},
{{},{0,200},{}},
{{},{0,50},{}},
{{},{0,0},{}},
{{},{0,150},{}},
{{},{0,0},{}},
{{},{0,0},{}},
{{},{0,0},{}},
{{},{0,220},{0,0},{}},
},
{
{},
{{},{0,0},{}},
{{},{0,60},{}},
{{},{0,160},{}},
{{},{0,0},{}},
{{},{0,0},{}},
{{},{0,180},{}},
{{},{0,240},{}},
{{},{0,200},{}},
},
{
{},
{{},{0,300},{}},
{{},{0,60},{}},
{{},{0,0},{}},
{{},{0,0},{}},
{{},{0,0},{}},
{{},{0,200},{}},
{{},{0,180},{}},
{{},{0,0},{}},
},
{
{},
{{},{0,450}},
{{},{0,80}},
{{},{0,400}},
{{},{0,420}},
{{},{0,0},{0,430}},
{{},{0,0}},
{{},{0,460}},
{{},{0,300},{}},
},
{
{},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
},
{
{},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
},
{
{},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
},
{
{},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
},
{
{},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
{{},{}},
},
};
long long hunjilengque[10][110][21][5]={
{},
{
{},
{{},{0,3},{}},
{{},{0,3},{}},
{{},{0,5},{}},
{{},{0,3},{}},
{{},{0,3},{}},
{{},{0,3},{}},
{{},{0,5},{}},
{{},{0,3},{0,4},{}},
},
{
{},
{{},{0,5},{}},
{{},{0,4},{}},
{{},{0,3},{}},
{{},{0,4},{}},
{{},{0,5},{}},
{{},{0,4},{}},
{{},{0,4},{}},
{{},{0,5},{}},
},
{
{},
{{},{0,7},{}},
{{},{0,6},{}},
{{},{0,20},{}},
{{},{0,6},{}},
{{},{0,4},{}},
{{},{0,4},{}},
{{},{0,5},{}},
{{},{0,5},{}},
},
{
{},
{{},{0,8},{}},
{{},{0,8},{}},
{{},{0,8},{}},
{{},{0,8},{}},
{{},{0,8},{0,8},{}},
{{},{0,8},{}},
{{},{0,8},{}},
{{},{0,6},{}},
},
{
{},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
},
{
{},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
},
{
{},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
},
{
{},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
},
{
{},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
{{},{},{}},
},
};
bool fuli=1;
double hunhuanshengji[10]={0,1.5,3,2.5,2.8,2.2,2.2,1.6,1.5};
long long biaozhunnianxian[10]={0,300,500,1000,3000,8000,16000,33000,90000,120000};
void print_pk(long long nianxian,string guainame,long long guaihp,long long guaimxhp)
{
/*
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色
7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色
D=淡紫色 E=淡黄色 F=亮白色
*/
if(nianxian<=99){
color(15,0);//亮白色
}else if(nianxian<=999){
color(6,0);//黄色
}else if(nianxian>=1000&&nianxian<=9999){
color(5,0);//紫色
}else if(nianxian>=10000&&nianxian<=99999){
color(8,0);//白色
}else if(nianxian>=100000&&nianxian<=999999){
color(4,0);
}else{
color(6,0);
}
string opt="["+nts(nianxian)+"]"+guainame;
// cout<<opt.size();
cout<<std::left<<setw(25)<<opt;
color(7,0);
cout<<"[";
for(int i=1;i<=guaihp*20/guaimxhp;i++){
cout<<"=";
}
for(int i=1;i<=20-guaihp*20/guaimxhp;i++){
cout<<" ";
}
cout<<"]";
cout<<guaihp<<"/"<<guaimxhp;
color(3,7);
cout<<endl;
string opt1="你";
cout<<std::left<<setw(25)<<opt1;
color(7,0);
cout<<"[";
for(int i=1;i<=my.hp*20/my.mxhp;i++){
cout<<"=";
}
for(int i=1;i<=20-my.hp*20/my.mxhp;i++){
cout<<" ";
}
cout<<"]";
color(7,0);
cout<<my.hp<<"/"<<my.mxhp;
cout<<endl;
}
long long guaicsh(){
long long nianxian=random(1,6000000/pow(my.hunli,2.4)*10);
// if(ans==11){
// nianxian=1;
// }
// if(nianxian==1){
// nianxian=10000000;
// }else
if(my.hunli<=10){
nianxian=random(0,2000);
}else if(my.hunli<=20){
nianxian=random(500,3000);
}else if(my.hunli<=30){
nianxian=random(1000,7000);
}else if(my.hunli<=40){
nianxian=random(2000,20000);
}else if(my.hunli<=50){
nianxian=random(6000,30000);
}else if(my.hunli<=60){
nianxian=random(8000,50000);
}else if(my.hunli<=70){
nianxian=random(10000,70000);
}else if(my.hunli<=80){
nianxian=random(20000,200000);
}else if(my.hunli<=90){
nianxian=random(50000,500000);
}else if(my.hunli<=100){
nianxian=random(90000,1000000);
}else{
nianxian=random(100000,100000000);
}
return nianxian;
}
int main(){
srand(time(0));
cls;
// cout<<nts(123456);
if(1){
cout<<"是否觉醒武魂?1.是 2.否\n";
long long ans;
cin>>ans;
cls;
if(ans==2){
return 0;
}else{
my.hunhuanshangxian=423;
cout<<"觉醒中……\n";
long long k=rng()%8+1;
// k=8;
long long hunlik=min(xiyouchengdu[k]+rand()%5,(long long)10);
cout<<"你的武魂是"<<wuhunname[k]<<endl;
cout<<"你的魂力是"<<hunlik<<"级"<<endl;
my.wuhun=k;
my.hunli=hunlik;
my.chushihunli=hunlik;
my.mxhp=wuhunhp[k]*pow(1.15,hunlik);
my.mxhp=random(my.mxhp*4/5,my.mxhp*6/5);
my.fangyu=wuhunfangyu[k]*pow(1.1,hunlik);
my.fangyu=random(my.fangyu*4/5,my.fangyu*6/5);
my.pugongshanghai=wuhunshanghai[k]*pow(1.1,hunlik);
my.pugongshanghai=random(my.pugongshanghai*4/5,my.pugongshanghai*6/5);
my.speed=wuhunsudu[k]*pow(1.06,hunlik);
my.speed=random(my.speed*4/5,my.speed*6/5);
my.pugongleixing=pugongleixing[k];
cout<<"血量 "<<my.mxhp<<endl;
cout<<"伤害 "<<my.pugongshanghai<<endl;
cout<<"防御 "<<my.fangyu<<endl;
cout<<"速度 "<<my.speed<<endl;
cout<<"属性:\n";
for(int i=1;pugongxiaoguo[k][i]!=0;i++){
my.pugongxiaoguo[i]=pugongxiaoguo[k][i];
my.xiaoguoqiangdu[i]=pugongxiaoguoqiangdu[k][i];
my.xiaoguoshijian[i]=pugongxiaoguoshijian[k][i];
cout<<xiaoguoname[my.pugongxiaoguo[i]]<<" "<<my.xiaoguoqiangdu[i]<<endl;
}
}
}
my.hp=my.mxhp;
sleep(1);
while(1){
cls;
if(my.hunli==100)
{
cls;
color(4,0);
cout<<"你已成神";
return 0;
}
cout<<"1.个人信息 2.修炼 3.去魂兽森林 4.新手福利(只能领一次)\n";
int ans;
cin>>ans;
cls;
if(ans==1){
cout<<"武魂 "<<wuhunname[my.wuhun]<<endl;
cout<<"魂力 "<<my.hunli<<"级"<<endl;
if(my.hp>my.mxhp) my.mxhp = my.hp;
cout<<"血量 "<<my.hp<<'/'<<my.mxhp<<endl;
cout<<"伤害 "<<my.pugongshanghai<<endl;
cout<<"防御 "<<my.fangyu<<endl;
cout<<"速度 "<<my.speed<<endl;
cout<<"魂技:"<<endl;
for(int i=1;i<=(my.hunli-1)/10;i++){
cout<<"魂技名称:"<<my.hunjiname[i][1]<<"\n";
cout<<"魂环年限:"<<my.hunjinianxian[i]<<"\n";
cout<<"魂技伤害:"<<my.hunjishanghai[i][1]*my.pugongshanghai/100<<"\n";
cout<<"冷却时间:"<<my.hunjilengque[i][1]<<"秒。\n";
/*
攻击效果
1 中毒
2 着火
3 触电
4 眩晕
5 吸血
6 减速
7 闪避
8 控制
9 中毒加成
10 火焰加成
11 雷电加成
12 护盾(自己)
13 增加防御(自己)
14 伤害加成(自己)
15 全属性加成(自己)
16 回血(单体)
17 加速(单体)
18 减速(群体)
19 回血(群体)
20 加速(群体)
21 护盾(群体)
22 增加防御(群体)
23 伤害加成(群体)
24 全属性加成(群体)
25 控制(群体)
26 加速(自己)
27 破甲(单体)
28 破甲(群体)
29 分身
30 护盾(单体)
*/
for(int j=1;my.hunjixiaoguo[i][j][1]!=0;j++){
int mXG=my.hunjixiaoguo[i][j][1],mTI=my.hunjixiaoguoshijian[i][j][1],mQD=my.hunjixiaoguoqiangdu[i][j][1];
cout<<xiaoguoname[mXG];
if(mQD>0){
cout<<mQD;
}
if(mTI>0){
cout<<' '<<mTI<<"秒";
}
cout<<endl;
}
}
getchar();
getchar();
}
if(ans==2){
//if(my.wuhun==6&&my.hunli==39){
//cout<<"幽冥猫的魂技太难编了,你已被作者代表正义(bushi)KO了!\n";
//exit(0);
//}
if(my.hunli%10==0&&my.hunli<50){
cout<<"你需要先获取魂环!\n";
}else{
cout<<"修炼中……";
// sleep((long long)my.hunli*0.3/my.chushihunli);
my.hunli++;
int zeng=max((long long)10,random(my.mxhp*0.03,my.mxhp*0.05));
my.mxhp+=zeng;
my.hp=max(my.mxhp,my.hp+zeng*2);
my.pugongshanghai+=max((long long)2,random(my.pugongshanghai*0.03,my.pugongshanghai*0.05));
my.fangyu+=max((long long)2,random(my.fangyu*0.02,my.fangyu*0.03));
my.speed+=max((long long)1,random(my.speed/60,my.speed/40));
}
getchar();
getchar();
}
if(ans==3){
string guainame="石头怪";
long long nianxian=guaicsh();
long long guaimxhp=random(nianxian*1,nianxian*3);
long long guaihp=guaimxhp;
long long guaishanghai=random(nianxian*0.08,nianxian*0.12);
long long guaifangyu=random(nianxian*0.01,nianxian*0.02);
long long guaisudu=random(nianxian/20,nianxian/10);
my.mxhp;
int huihe=0;
int flag=1;
vector<long long>mXG,mQD,mTI,dXG,dQD,dTI;
long long jinengdengdai[20]={0};
while(guaihp>0&&my.hp>0){
print_pk(nianxian,guainame,guaihp,guaimxhp);
//1 2 4 7 8 10 12 14 15 16 26
if(huihe==0){
long long mXGQD[110]={0},mLY[110]={0},dXGQD[110]={0},dLY[110]={0};
for(int i=0;i<mXG.size();i++){
if(mTI[i]==0){
// cout<<mXG[i];
sleep(1);
mXG.erase(mXG.begin()+i);
mQD.erase(mQD.begin()+i);
mTI.erase(mTI.begin()+i);
}
mXGQD[mXG[i]]+=mQD[i];
mTI[i]--;
mLY[mXG[i]]=i;
mTI[i]=max((long long)-1,mTI[i]);
}
for(int i=0;i<dXG.size();i++){
if(dTI[i]==0){
dXG.erase(dXG.begin()+i);
dQD.erase(dQD.begin()+i);
dTI.erase(dTI.begin()+i);
}
dXGQD[dXG[i]]+=dQD[i];
dTI[i]--;
dLY[dXG[i]]=i;
dTI[i]=max((long long)-1,dTI[i]);
}
if(dXGQD[1]){
cout<<"受到"<<dXGQD[1]<<"点中毒伤害。\n";
guaihp-=dXGQD[1];
}
if(dXGQD[2]){
cout<<"受到"<<dXGQD[2]<<"点火焰伤害。\n";
guaihp-=dXGQD[2];
}
if(dXGQD[3]){
cout<<"受到"<<dXGQD[3]<<"点雷电伤害。\n";
guaihp-=dXGQD[3];
}
if(mXGQD[16]){
cout<<"你回复"<<mXGQD[16]<<"点血量。\n";
my.hp=min(my.mxhp,my.hp+mXGQD[16]);
}
long long xl[20]={0},now=0;
cout<<"0.普攻\n";
for(int i=1;i<=(my.hunli-1)/10;i++){
if(jinengdengdai[i]==0){
// cout<<jinengdengdai[i]<<' ';
xl[++now]=i;
cout<<now<<'.'<<my.hunjiname[i][1]<<"\n";
}else{
jinengdengdai[i]--;
}
}
xl[++now]=-1;
cout<<now<<".逃跑\n";
long long ans2;
cin>>ans2;
cls;
print_pk(nianxian,guainame,guaihp,guaimxhp);
if(ans2==0){
long long sh=max((long long)0,my.pugongshanghai-guaifangyu);
if(mXGQD[14]>=1){
sh=sh*(mXGQD[14]+100)/100;
}
if(mXGQD[15]>=1){
sh=sh*(mXGQD[15]+100)/100;
}
// long long sh=my.pugongshanghai-guaifangyu;
cout<<"你对"<<guainame<<"造成了"<<sh<<"点伤害。\n";
guaihp-=sh;
}
if(ans2>=1&&ans2<now){
int ans1=xl[ans2];
jinengdengdai[ans1]=my.hunjilengque[ans1][1];
// cout<<jinengdengdai[ans1]<<endl;
if(my.hunjishanghai[ans1][1]!=0){
long long bei1=my.hunjishanghai[ans1][1];
long long sh=max((long long)0,my.pugongshanghai*bei1/100-guaifangyu);
cout<<"你使用"<<my.hunjiname[ans1][1]<<"对"<<guainame<<"造成了"<<sh<<"点伤害。\n";
guaihp-=sh;
}
//vector<long long>mXG,mQD,mTI,dXG,dQD,dTI;
for(int i=1;my.hunjixiaoguo[ans1][1][i]!=0;i++){
int X1=my.hunjixiaoguo[ans1][1][i];
long long xg1=my.hunjixiaoguo[ans1][1][i];
long long qd1=my.hunjixiaoguoqiangdu[ans1][1][i];
long long ti1=my.hunjixiaoguoshijian[ans1][1][i];
if(X1==12){
int i;
for(i=0;i<mXG.size();i++){
if(mXG[i]==12){
break;
}
}
if(i==mXG.size()){
mXG.push_back(xg1);
mQD.push_back(qd1*my.mxhp/100);
mTI.push_back(ti1);
}else{
mXG[i]+=xg1;
mQD[i]+=qd1*my.mxhp/100;
mTI[i]+=ti1;
}
}else if(X1==8){
int i;
for(i=0;i<dXG.size();i++){
if(dXG[i]==8){
break;
}
}
if(i==dXG.size()){
dXG.push_back(xg1);
dQD.push_back(qd1*my.mxhp/100);
dTI.push_back(ti1);
}else{
dXG[i]+=xg1;
dQD[i]+=qd1*my.mxhp/100;
dTI[i]+=ti1;
}
}else if(X1==7||X1==9||X1==10||X1==11||X1==13||X1==14||X1==15
||X1==17||X1==18||X1==19||X1==20||X1==21||X1==22||X1==23||X1==24
||X1==26){
mXG.push_back(xg1);
mQD.push_back(qd1);
mTI.push_back(ti1);
}else if(X1==16){
mXG.push_back(xg1);
mQD.push_back(qd1*my.mxhp/100);
mTI.push_back(ti1);
}else{
if(mXGQD[9]&&xg1==1){
dQD.push_back(qd1*(100+mXGQD[9])/100);
}else if(mXGQD[10]&&xg1==2){
dQD.push_back(qd1*(100+mXGQD[10])/100);
}else if(mXGQD[11]&&xg1==3){
dQD.push_back(qd1*(100+mXGQD[11])/100);
}else{
dQD.push_back(qd1);
}
dXG.push_back(xg1);
dTI.push_back(ti1);
}
}
}
if(ans2==now){
flag=0;
break;
}
}else if(huihe==1){
long long jinengdengdai[20]={0},mXGQD[110]={0},mLY[110]={0},dXGQD[110]={0},dLY[110]={0};
memset(mLY,-1,sizeof(mLY));
memset(dLY,-1,sizeof(dLY));
// for(int i=0;i<mXG.size();i++){
// if(mTI[i]==0){
// mXG.erase(mXG.begin()+i);
// mQD.erase(mQD.begin()+i);
// mTI.erase(mTI.begin()+i);
// }
// mXGQD[mXG[i]]+=mQD[i];
// mTI[i]--;
// mLY[mXG[i]]=i;
// mTI[i]=max((long long)-1,mTI[i]);
// }
// cout<<"*1\n";
for(int i=0;i<dXG.size();i++){
if(dTI[i]==0){
dXG.erase(dXG.begin()+i);
dQD.erase(dQD.begin()+i);
dTI.erase(dTI.begin()+i);
}
dXGQD[dXG[i]]+=dQD[i];
dTI[i]--;
dLY[dXG[i]]=i;
dTI[i]=max((long long)-1,dTI[i]);
}
// cout<<"*2\n";
if(dXGQD[4]>=1){
huihe=1-huihe;
cls;
continue;
}
if(dXGQD[1]){
cout<<"受到"<<dXGQD[1]<<"点中毒伤害。\n";
guaihp-=dXGQD[1];
}
if(dXGQD[2]){
cout<<"受到"<<dXGQD[2]<<"点火焰伤害。\n";
guaihp-=dXGQD[2];
}
if(dXGQD[3]){
cout<<"怪受到"<<dXGQD[3]<<"点雷电伤害。\n";
guaihp-=dXGQD[3];
}
// cout<<"*3\n";
long long sh=max((long long)0,guaishanghai);
long long hd=mXGQD[12],kz=dXGQD[8];
// cout<<"*4\n";
if(kz){
dQD[dLY[8]]-=sh;
cout<<guainame<<"对控制造成了"<<min(sh,kz)<<"点破坏。"<<endl;
sh-=min(sh,kz);
}
// cout<<"*5\n";
if(dLY[8]!=-1&&dQD[dLY[8]]<=0){
// cout<<"*5-1\n";
cout<<"控制被打破了。\n";
dTI[dLY[8]]=0;
}
// cout<<"*6\n";
if(hd&&sh){
mQD[mLY[12]]-=sh;
cout<<guainame<<"对护盾造成了"<<min(sh,hd)<<"点破坏。"<<endl;
sh-=min(sh,hd);
}
// cout<<"*7\n";
if(dLY[12]!=-1&&mQD[mLY[12]]<=0){
cout<<"护盾被打破了。\n";
mTI[mLY[12]]=0;
}
// cout<<"*8\n";
sh=max((long long)0,sh-my.fangyu);
cout<<guainame<<"对你造成了"<<sh<<"点伤害。\n";
my.hp-=sh;
// cout<<"*9\n";
}
huihe=1-huihe;
usleep(300000);
slp;
cls;
}
if(guaihp<=0){
cout<<"你击杀了"<<guainame<<endl;
cout<<"你获得"<<nianxian<<"年魂环一枚!\n";
//if(my.hunli%10==0){
cout<<"是否吸收魂环?\n";
long long cgl=0;
if(nianxian<=my.hunhuanshangxian){
cgl=100000000;
}else{
cgl=100000000.0*pow(my.hunhuanshangxian,1.80)/pow(nianxian,1.80);
}
cout<<"吸收成功率:"<<fixed<<setprecision(6)<<cgl/1000000.0<<'%'<<endl;
cout<<"1.吸收 2.放弃\n";
long long ans1;
cin>>ans1;
if(ans1==1){
//if(my.hunli==50){
// cout<<"未更新第五魂技,快到评论区贡献素材吧!\n";
//}else{
long long rand1=random(1,100000000);
if(rand1<=cgl){
cout<<"吸收成功,你似乎又变强了。\n";
long long ch=biaozhunnianxian[my.hunli/10],l=nianxian/10;
my.mxhp+=my.mxhp*l/ch;
my.pugongshanghai+=my.pugongshanghai*l/ch;
my.fangyu+=my.fangyu*l/ch;
my.speed+=my.speed*l/ch;
long long X1=my.hunli/10;
my.hunhuanshangxian=nianxian*hunhuanshengji[X1];
long long hunjishuliang;
for(int i=1;hunjileixing[X1][my.wuhun][i][1]!=0;i++){
hunjishuliang=i;
}
// cout<<"^";
long long X2=random(1,hunjishuliang);
long long X3=0;
for(int i=1;hunjixiaoguo[X1][my.wuhun][X2][1][i]!=0;i++){
X3=i;
}
// cout<<"*";
// cout<<X2<<endl<<"***";
double bei=1.0*nianxian/biaozhunnianxian[X1];
my.hunjinianxian[X1]=nianxian;
my.hunjiname[X1][1]=hunjiname[X1][my.wuhun][X2][1];
my.hunjishanghai[X1][1]=hunjishanghai[X1][my.wuhun][X2][1]*bei;
my.hunjileixing[X1][1]=hunjileixing[X1][my.wuhun][X2][1];
my.hunjilengque[X1][1]=hunjilengque[X1][my.wuhun][X2][1];
for(int i=1;i<=X3;i++){
my.hunjixiaoguo[X1][1][i]=hunjixiaoguo[X1][my.wuhun][X2][1][i];
my.hunjixiaoguoqiangdu[X1][1][i]=hunjixiaoguoqiangdu[X1][my.wuhun][X2][1][i]*bei;
my.hunjixiaoguoshijian[X1][1][i]=hunjixiaoguoshijian[X1][my.wuhun][X2][1][i]*bei;
}
// cout<<"&";
cout<<"魂技名称:"<<hunjiname[X1][my.wuhun][X2][1]<<"\n";
cout<<"魂环年限:"<<my.hunjinianxian[X1]<<"\n";
cout<<"魂技伤害:"<<my.hunjishanghai[X1][1]*my.pugongshanghai/100<<"\n";
cout<<"冷却时间:"<<my.hunjilengque[X1][1]<<"秒。\n";
/*
攻击类型
1 近战
2 中程
3 远程
攻击效果
1 中毒
2 着火
3 触电
4 眩晕
5 吸血
6 减速
7 闪避
8 控制
9 中毒加成
10 火焰加成
11 雷电加成
12 护盾(自己)
13 增加防御(自己)
14 伤害加成(自己)
15 全属性加成(自己)
16 回血(单体)
17 加速(单体)
18 减速(群体)
19 回血(群体)
20 加速(群体)
21 护盾(群体)
22 增加防御(群体)
23 伤害加成(群体)
24 全属性加成(群体)
25 控制(群体)
26 加速(自己)
27 破甲(单体)
28 破甲(群体)
29 分身
30 护盾(单体)
31
*/
cout<<"效果:\n";
for(int i=1;i<=X3;i++){
long long XG=my.hunjixiaoguo[X1][1][i];
long long TI=my.hunjixiaoguoshijian[X1][1][i];
long long QD=my.hunjixiaoguoqiangdu[X1][1][i];
cout<<xiaoguoname[XG];
if(XG==4){
cout<<' '<<TI<<"秒";
}
else if(XG==9||XG==10||XG==11||XG==13||XG==14||XG==15
||XG==23||XG==24){
cout<<QD<<"% "<<TI<<"秒";
}else if(XG==5){
cout<<my.pugongshanghai*QD/100;
}else if(XG==7||XG==27||XG==28){
}else if(XG==8||XG==12||XG==21||XG==25||XG==30){
cout<<my.mxhp*QD/100;
}else if(XG==16){
cout<<my.mxhp*QD/100<<' '<<TI<<"秒";
}else if(XG==19){
cout<<my.pugongshanghai*QD/100;
}else{
cout<<QD<<' '<<TI<<"秒";
}
cout<<"\n";
}
my.hunli++;
}else{
cout<<"吸收失败,魂环被摧毁。\n";
}
//}
//}
}
}
if(my.hp<=0){
cout<<"你被"<<guainame<<"击杀了";
return 0;
}
if(flag==0){
cout<<"你逃走了";
}
getchar();
getchar();
}
if(ans==6){
my.pugongshanghai*=10;
}
if(ans==7){
my.mxhp*=10;
my.hp*=10;
}
if(ans==8){
my.hunhuanshangxian*=10;
}
if(ans==4&&fuli==1){
fuli=0;
cout<<"你要什么?\n1.攻击加成 2.防御加成 3.血量加成\n";
long long ans1;
cin>>ans1;
if(ans1==1){
my.pugongshanghai+=45;
}
if(ans1==2){
my.fangyu+=30;
}
if(ans1==3){
my.hp+=200;
}
}
cls;
}
return 0;
}
无法存档,如有问题,打在评论区