《OI之路》卡牌战斗游戏-1.0-启航的飞星

· · 休闲·娱乐

#include<bits/stdc++.h>
#include<windows.h>
#include<ctime>
#include<conio.h>
#include<bitset>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
struct bags{
    string name;
    int num;
}bag[61];
struct role{
    int level=1,hand,hp,range,fs,fast,ara,afs,afa;
}had[15001];
struct ren{
    string names,jie,plac,jiang;
    int pnum;
}lists[1501];
struct die{
    string name;
    int level=0,hp=300+10*(level-1),range=40+level-1,fs=10+level-1,fast=100,ara=0,afs=0,afa=0;
}jiaocheng[5],dredp[5],shixu[5],bianyichu[5];
string to_strings(int mat){
    ostringstream oss;
    oss << mat;
    string strs=oss.str();
    return strs;
}
string k,kj,shu="空间",ji[5001]={" ","空间阈值","数论-染剑","最简连通图","联动","靠你了!","恒阳陨落","卡常-加时","现推图论","并查集-暗刃","星辉剑-连珠","心语念","溯翎之径","光影碎刃","硬性打表"},bao[5001]={" ","[数组已超限]","优化-剪枝","二项值悖论","集群作战","希望与明天","白彗统天","计数-汇时","砂金算法","数据流-破杀","光辉剑-夺魂","涤尘铃","迁翎下递","破影重叠","数据流核爆"},talent1[5001]={" ","天赋一:前行意志 使用爆发后下回合攻击力提升20%","天赋一:染墨白客 攻击力提升20%,防御降低20%","天赋一:学海无涯 我方行动时有50%概率触发追击,造成 50+攻击力*160% 伤害。若此时福斯德不在场上则将场上角色切换为福斯德","天赋一:散沙团结 当编队中有九重秋鸽时,全体获得20%防御增幅和20%伤害增幅","天赋一:感觉不错 每回合结束时为目前场上角色回复 自身生命值上限*20% 的血量","天赋一:圣城荣光 使用战技后为全体施加 自身生命值上限*50% 的护盾","天赋一:优先列序 战技攻击拥有 “时缩 ”目标额外回复10点能量","天赋一:小菜一碟 普攻有5%概率触发[最终大奖]","天赋一:逐逝之锋 使用爆发时若目标死亡则再使用一次爆发,伤害为原本伤害的50%","天赋一:日辉剑-幻象 受到伤害时如有剩余行动点,则消耗一点行动点免疫此伤害","天赋一:祈星 每回合为全体友方回复5点能量","天赋一:鹤翎千羽 普攻时,获得1[翎],队伍切人时如拥有[翎],则消耗1[翎],使行动点不消耗。","天赋一:起身直视吾 造成伤害提高10%","天赋一:灵感源泉 普攻有20%概率获得一层[灵感]"},talent2[5001]={" ","天赋二:迷途之星(Lv20) 战技额外回复10点能量","天赋二:运量符超载(Lv20) 普攻时附加 攻击力*20% 的真实伤害","天赋二:格物致知(Lv20) 使用战技和爆发后必定触发 '天赋一' ","天赋二:联结阵线(Lv20) 被战技选定的友方造成伤害提升20%","天赋二:五谷丰登(Lv20) 使用战技后自身回复20%血量","天赋二:武灵之意(Lv20) 每回合开始回复 攻击力*50% 血量","天赋二:静态破叠(Lv20) 若场上目标没有 “时缩 ”则对其施加一层","天赋二:新定义算法(Lv20) 使用战技时有20%概率对场上敌方造成 攻击力*100% 伤害","天赋二:暗影破风(Lv20) 战斗开始时回复50点能量","天赋二:月辉剑-连击(Lv20) 普攻时有80%概率触发连击,造成 攻击力*120% 伤害并回复一点程序","天赋二:心愿(Lv20) 使用战技时有50%概率返还一点程序","天赋二:起鹤玉涟(Lv20) 第n个回合开始时,若拥有[翎]且[翎]数是n的约数,则获得1个行动点,本回合队伍中全体角色攻击力+20%;若[翎]数是n的倍数,则获得1点程序,本回合队伍中其他角色防御+20%。","天赋二:赐汝无上荣光(Lv20) 每回合开始时如[光明侍从]在场则使其获得一层[光印]","天赋二:范围裂变(Lv20) 普攻如施加[灵感]则额外造成 攻击力*100% 伤害"},talent3[5001]={" ","天赋三:天启将终(Lv40) 当敌方场上角色血量低于自身生命值上限5%则在本回合结束时令其直接死亡","天赋三:时生玉质(Lv40) 使用战技时对目标施加一层'易损'(易损:防御降低20%)","天赋三:实践修养(Lv40) '天赋一' 触发时对敌追加 攻击力*150% 伤害","天赋三:秉烛夜游(Lv40) 使用爆发后全体友方回复30点能量","天赋三:希望无价(Lv40) 使用爆发后为全体友方回复20点能量","天赋三:多元可能(Lv40) 血量归零时回复100%血量并回复50点能量,一次战斗最多触发一次","天赋三:空防破除(Lv40) 使用战技时若目标拥有 “时缩 ”且其防御力小于 自身攻击力*75% 则对其攻击后将其防御归零","天赋三:心如止水(Lv40) 使用战技时为全体友方回复10点能量","天赋三:破灭云烟(Lv40) 爆发击杀目标时额外回复20点能量","天赋三:轮回剑-反伤(Lv40) 受到攻击时有50%概率触发反击,造成 攻击力*150% 伤害并回复生命值上限10%血量","天赋三:同行(Lv40) 使用爆发后额外回复一点行动点","天赋三:月翎鸿阳(Lv40) 当回合数为4的倍数时,失去所有[翎],你每拥有一层[翎]对场上敌人造成 52+83%*攻击力 伤害。","天赋三:欢唱吾之降临(Lv40) [光明侍从]造成伤害提高30%","天赋三:ex大模拟(Lv40) 拥有[灵感]时伤害提高30%"},zn[5001]={" ","战技:空间阈值 消耗一点程序,对敌全体造成 42+攻击力*80% 伤害","战技:数论-染剑 消耗一点程序,对场上敌人造成 40+攻击力*240% 伤害","战技:最简连通图 消耗一点程序,对场上敌人造成 56+攻击力*110% 伤害","战技:联动 一次战斗仅能发动一次,消耗一点程序,选定一名友方作为“联动对象 ”,立刻将“联动对象 ”切换至场上,“联动对象 ”对敌人造成伤害时会获得“联动印记 ”,当“联动印记 ”超过4层则“联动对象 ”失去3层 “联动印记 ”,且九重秋鸽发动一次攻击,对敌全体造成 60+攻击力*220% 伤害","战技:靠你了! 消耗一点程序,选择一名友方,为其恢复 自身生命值上限*50% 血量,并将其置换到场上,回复两点行动点","战技:恒阳陨落 消耗一点程序,对敌全体造成 35+攻击力*110% 伤害","战技:卡常-加时 消耗所有程序,每消耗一点对敌全体造成 34+攻击力*80% 伤害并施加一层时缩","战技:现推图论 不消耗行动点,消耗一点程序,掷出七个 “节点 ”, “节点 ”有概率投出红,白两种颜色,若投出红则保留,当七个 “节点 ”全为红时解锁爆发","战技:并查集-暗刃 消耗一点程序,对场上敌人造成 50+攻击力*270% 伤害并进入 “迷踪 ”状态,立刻切换至后台,造成伤害提高30%,每回合额外回复20点能量,切换至前台时失去此效果","战技:星辉剑-连珠 消耗所有程序,对场上敌方造成 30+攻击力*200%+消耗程序数*攻击力*75% 伤害","战技:心语念 消耗一点程序,选定一个友方,立刻将其置换至前台并使其回复20点能量且伤害提高30%,持续3回合","战技:溯翎之径 消耗一点程序,对场上敌人造成 48+攻击力*250% 伤害,获得2[翎]。","战技:光影碎刃 消耗一点程序,对全体敌人造成 40+攻击力*70% 伤害,并召唤[光明侍从],场上角色行动时[光明侍从]获得1层[光印],至多10层,回合开始时若[光明侍从]拥有[光印]则行动一次,对全体敌人造成 攻击力*28%*光印层数 伤害并消耗所有光印,如使用战技时场上已有[光明侍从]则使[光明侍从]获得3层[光印]","战技:硬性打表 消耗一点程序,消耗当前生命值10%,对场上敌人造成 30+攻击力*290% 伤害并获得[灵感]"},bf[5001]={" ","爆发:[数组已超限] (140能量) 对敌全体造成 89+攻击力*280% 伤害","爆发:优化-剪枝 (100能量) 对场上敌人造成 78+攻击力*340% 伤害并回复一点行动点","爆发:二项值悖论 (80能量) 不消耗行动点,对场上敌人造成 90+攻击力*200% 伤害并回复一点行动点","爆发:集群作战 (120能量) 对场上敌人造成 89+攻击力*150% 伤害,并回复两点程序,一点行动点","爆发:希望与明天(110能量) 使全体回复 自身生命值上限*50% 血量,恢复一点行动点,两点程序","爆发:白彗统天(100能量) 对敌全体造成 50+攻击力*200% 伤害并为我方全体回复30点能量","爆发:计数-汇时(150能量) 对敌全体造成60+攻击力*210% 伤害,对象每拥有一层 “时缩 ”额外造成 攻击力*30% 伤害,使用后移除对象所有 “时缩 ”","爆发:砂金算法 对敌全体造成 80+攻击力*350% 伤害,并有20%概率触发[最终大奖],对场上敌人额外造成 攻击力*450% 伤害","爆发:数据流-破杀(120能量) 对场上敌人造成 50+攻击力*350% 伤害,如释放时在后台则造成 80+攻击力*520% 伤害并恢复一点行动点","爆发:光辉剑-夺魂(130能量) 对场上敌人造成 60+攻击力*380% 伤害并获得3层 “光辉 ”,每回合消耗一层 “光辉 ”对场上敌人造成 攻击力*25% 伤害并回复一点程序","爆发:涤尘铃(90能量) 使全体友方回复10点能量且伤害提高20%,持续3回合,且回复一点行动点","爆发:迁翎下递(110能量) 你没有[翎]时,使用后全队回复 31+攻击力*110% 生命值,你有[翎]且[翎]<=3时,使用后造成 32+攻击力*150% 伤害,你有[翎]且[翎]>=3时,造成 67+攻击力*405% 伤害并消耗所有[翎]。","爆发:破影重叠(140能量) 对场上敌人造成 90+攻击力*320% 伤害,使[光明侍从]获得3层[光印]并立刻行动","爆发:数据流核爆(150能量) 对场上敌人造成 90+攻击力*410% 伤害,每损失1%血量则造成伤害提高1%,使用后清除[灵感]"},name,place[201]={" ","时序海岸","界碑谷","寂静森","破灭防线","感觉挺好的","kommy之圣城-居住区","Armaizae","XingXingOJ题库","星星的神级团队","final world line","团联动广场-东","团联动广场-西","团联动广场-南","团联动广场-北","团联动大楼","kommy之圣城-编译区"},role_name[15001]={" "," ","A 白染  属性:真理","S 福斯德  属性:真理","S 九重秋鸽  属性:时序","A Orz_Sponge_Bob  属性:神隐","S AC__  属性:编译","A 逝遗 属性:空间","A 铭末 属性:狂乱","S 绮夜 属性:运行","S 锋刃 属性:运行","A 风铃 属性:神隐","S 涟鹤 属性:神隐","A 光璘 属性:时序","A 天睿 属性:真理"},hands[15001]={" ","A 重构运算符"},jianjie[15001]={" ","未知的Oier,失去记忆后为找回记忆开始周游洛谷大陆。","来自团联动的普通Oier,性别女,活泼好动,热情似火。","团联动的学者,性别男,final world line团主,性格孤僻,似乎不大好相处。","团联动组织者,性别男,Armaizae团主,擅长排兵布阵,有作为领导者的精明和气度。","团联动Oier,性别男,感觉挺好的团主,乐于助人,爱好是加班。","团联动Oier,性别男,Kommy之圣城第三代城主,平时看起来不着调,实际上是很可靠的人。","来自上个时代的奇怪Oier,性别男,似乎隐藏着什么秘密...","团联动Oier,性别男,天赋异禀,但喜欢摸鱼,沉默寡言。","团联动Oier,性别女,负责收集情报的特工,行事有原则且高效。","不苟言笑、沉着冷静的Oier,有五把佩剑:日辉剑、月辉剑、星辉剑、光辉剑、轮回剑。","团联动Oier,性别女,年龄在执行部队中最小,渴望帮助他人。","一个没有问题的Oier,性别男,来自隐尘地,热爱蒸蒸日上。","行为奇怪的Oier,性别女,身边时常跟着一个自称[光明侍从]的男子,自称 “守护时间的圣使 ”。","空间维秩协会#19,传闻中神出鬼没,不知为何出现在此..."};
int tis,tonguw[6],tongw[11],first_team[5],second_team[5],bumen,kkks,role=1,haafe[1501],theat=1,sd,have_role[15001],money=10000,stone=16000,xin,a[201][201],part=1,nows=1,thing,t1,t2,team[5],ks[5],nl[5],nx[1501]={0,140,100,80,120,110,100,150,1000000000,120,130,90,110,140,150},Exp=10,zong,lian[5],ceng[5],ns,has[5],hasd[5],dun[5],shisuo[5],dugou[8],zengr[5],zengf[5],mizong,guanghui,bds,hasdl,bntcd[5],bntdcd[5],jdi=80,zdi=10,lin,shine;
bool sf[5]={0,0,0,0,0},chus,havez[5],havezd[5],bisd,bidg,bidf,tsd,ling,hdh,win,bianyi,jiangs[11]={},jiangss[6]={};
enum ConsoleColor{
    BLACK = 0,
    BLUE = 1,
    GREEN = 2,
    CYAN = 3,
    RED = 4,
    MAGENTA = 5,
    BROWN = 6,
    LIGHT_GRAY = 7,
    DARK_GRAY = 8,
    LIGHT_BLUE = 9,
    LIGHT_GREEN = 10,
    LIGHT_CYAN = 11,
    LIGHT_RED = 12,
    LIGHT_MAGENTA = 13,
    YELLOW = 14,
    WHITE = 15
};
void Set(ConsoleColor color){
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, color);
}
void say(string x,int a){
    for(int i=0;i<x.size();i++){
        cout<<x[i];
        Sleep(a);
    }
}
void save(){
    ofstream out("OI之路-存档.oi");
    for(int i=1;i<=1500;i++)out<<have_role[i]<<" "<<had[i].level<<" "<<had[i].range<<" "<<had[i].fs<<" "<<had[i].hp<<" "<<had[i].fast<<" "<<had[i].ara<<" "<<had[i].afs<<" "<<had[i].afa<<" ";
    out<<money<<" "<<stone<<" "<<role<<" "<<theat<<" "<<part<<" "<<name<<" "<<nows<<" "<<xin<<" "<<Exp<<endl;
    out<<kkks<<" "<<team[1]<<" "<<team[2]<<" "<<team[3]<<" "<<team[4]<<endl;
    for(int i=1;i<=1500;i++)out<<haafe[i]<<" "<<lists[i].names<<" "<<lists[i].plac<<" "<<lists[i].jie<<" "<<lists[i].pnum<<" "<<lists[i].jiang<<endl;
    out<<jdi<<" "<<zdi<<" "<<bisd<<" "<<bumen<<" "<<bianyi<<endl;
    for(int i=1;i<=10;i++)out<<tongw[i]<<" ";
    for(int i=1;i<=5;i++)out<<tonguw[i]<<" ";
    for(int i=1;i<=10;i++)out<<jiangs[i]<<" ";
    for(int i=1;i<=5;i++)out<<jiangss[i]<<" ";
    out.close();
}
void read(){
    ifstream in("OI之路-存档.oi");
    for(int i=1;i<=1500;i++)in>>have_role[i]>>had[i].level>>had[i].range>>had[i].fs>>had[i].hp>>had[i].fast>>had[i].ara>>had[i].afs>>had[i].afa;
    in>>money>>stone>>role>>theat>>part>>name>>nows>>xin>>Exp;
    in>>kkks>>team[1]>>team[2]>>team[3]>>team[4];
    for(int i=1;i<=1500;i++)in>>haafe[i]>>lists[i].names>>lists[i].plac>>lists[i].jie>>lists[i].pnum>>lists[i].jiang;
    in>>jdi>>zdi>>bisd>>bumen>>bianyi;
    for(int i=1;i<=10;i++)in>>tongw[i];
    for(int i=1;i<=5;i++)in>>tonguw[i];
    for(int i=1;i<=10;i++)in>>jiangs[i];
    for(int i=1;i<=5;i++)in>>jiangss[i];
    in.close();
}
void shuf(int f){
    if(f==1){
    had[1].hp+=30;had[1].fs+=5;had[1].range+=20;
    return;
    }
    else if(f==2){
    had[2].hp+=25;had[2].fs+=4;had[2].range+=25;
    return;
    }
    else if(f==3){
    had[3].hp+=25;had[3].fs+=5;had[3].range+=31;
    return;
    }
    else if(f==4){
    had[4].hp+=24;had[4].fs+=6;had[4].range+=29;
    return;
    }
    else if(f==5){
    had[5].hp+=35;had[5].fs+=4;had[5].range+=20;
    return;
    }
    else if(f==6){
    had[6].hp+=40;had[6].fs+=8;had[6].range+=18;
    return;
    }
    else if(f==7){
    had[7].hp+=20;had[7].fs+=3;had[7].range+=30;
    return;
    }
    else if(f==8){
    had[8].hp+=25;had[8].fs+=4;had[8].range+=25;
    return;
    }
    else if(f==9){
    had[9].hp+=23;had[9].fs+=5;had[9].range+=32;
    return;
    }
    else if(f==10){
    had[10].hp+=25;had[10].fs+=6;had[10].range+=27;
    return;
    }
    else if(f==11){
    had[11].hp+=30;had[11].fs+=3;had[11].range+=23;
    return;
    }
    else if(f==12){
    had[12].hp+=28;had[12].fs+=5;had[12].range+=27;
    return; 
    }
    else if(f==13){
    had[13].hp+=23;had[13].fs+=4;had[13].range+=29;
    return;
    }
    else if(f==14){
    had[14].hp+=20;had[14].fs+=3;had[14].range+=30; 
    }
}
void check(){
    for(int i=1;i<=1500;i++){
        if(have_role[i]==0){
            if(i==1){
                had[1].hp=206;had[1].range=101;had[1].fs=28;had[1].fast=180;
            }
            else if(i==2){
                had[2].hp=198;had[2].range=98;had[2].fs=19;had[2].fast=220;had[2].ara=20;had[2].afs=-20;
            }
            else if(i==3){
                had[3].hp=225;had[3].range=119;had[3].fs=24;had[3].fast=250;
            }
            else if(i==4){
                had[4].hp=210;had[4].range=111;had[4].fs=34;had[4].fast=175;
            }
            else if(i==5){
                had[5].hp=200;had[5].range=89;had[5].fs=30;had[5].fast=300;
            }
            else if(i==6){
                had[6].hp=250;had[6].range=85;had[6].fs=60;had[6].fast=120;
            }
            else if(i==7){
                had[7].hp=150;had[7].range=110;had[7].fs=9;had[7].fast=270;
            }
            else if(i==8){
                had[8].hp=190;had[8].range=100;had[8].fs=10;had[8].fast=250;
            }
            else if(i==9){
                had[9].hp=169;had[9].range=121;had[9].fs=21;had[9].fast=450;
            } 
            else if(i==10){
                had[10].hp=200;had[10].range=110;had[10].fs=22;had[10].fast=400; 
            }
            else if(i==11){
                had[11].hp=180;had[11].range=85;had[11].fs=25;had[11].fast=400;
            }
            else if(i==12){
                had[12].hp=199;had[12].range=105;had[12].fs=25;had[12].fast=255;
            } 
            else if(i==13){
                had[13].hp=190;had[13].range=105;had[13].fs=10;had[13].fast=300;had[13].ara=10;
            }
            else if(i==14){
                had[14].hp=180;had[14].range=105;had[14].fs=12;had[14].fast=370;
            } 
            } 
        }
    }
bool pan(int e){
    bool ert=0;
    for(int i=1;i<=4;i++){
        if(team[i]==e)ert=1;
    }
    return ert;
}
int getnum(int x){
    int g;
        for(int i=1;i<=4;i++){
        if(team[i]==x)g=i;
    }
    return g;
}
void wan_e_mi_chi(){
    int nowsd=1;
    sdd:
    system("cls");
    save();
    cout<<"常驻频次:群星联结"; if(nowsd==1)cout<<"#";
    cout<<endl;
    cout<<"限定频次:知识即力量"; if(nowsd==2)cout<<"#";
    cout<<endl;
    cout<<"限定频次:夜长梦多";  if(nowsd==3)cout<<"#";
    cout<<endl<<endl;
    if(nowsd==1){
        Set(LIGHT_BLUE);
        cout<<"|----------------------|"<<endl;cout<<"| 常驻频次 \\ ********* |"<<endl;cout<<"| ++++++++ // 群星联结 |"<<endl;cout<<"|----------------------|"<<endl;
        Set(WHITE);
        cout<<"[p]单抽"<<endl;cout<<"[q]十连抽"<<endl;cout<<"(ws切换卡池,0返回主界面)";
         string rew;rew=_getch();
         int S[11]={0,4,6,10,12};
         int A[11]={0,2,5,7,8,11,13,14};
         if(rew=="p"){
            if(stone<200)goto sdd;else stone-=200;
            system("cls");
            say("正在连接频次",50);say("...",1000);Sleep(2000);
            system("cls");cout<<endl;int sd=1+rand()%1000;jdi--;zdi--;
            if(!jdi)goto god;if(!zdi)goto nb;
            if(sd<=5){
                god:Set(YELLOW);
                cout<<"金色闪光!";jdi=80;int ds=1+rand()%4;
                cout<<role_name[S[ds]]<<endl;have_role[S[ds]]=1;
                Set(WHITE);
             }
             else if(sd>5&&sd<=105){
                nb:Set(BLUE);
                cout<<"蓝色闪光!";zdi=10;int ds=1+rand()%7;
                cout<<role_name[A[ds]]<<endl;have_role[A[ds]]=1;
                Set(WHITE);
             }
             else{
                int asd=rand()%3;
                cout<<"白色闪光!";
                if(!asd){
                    cout<<"经验书*1"<<endl;Exp++;
                }else{
                    cout<<"信用点*100"<<endl;money+=100; 
                }
             }
             system("pause");goto sdd;
         } 
         else if(rew=="q"){
            if(stone<2000)goto sdd;else stone-=2000;
            system("cls");
            say("正在连接频次",50);say("...",1000);Sleep(2000);
            system("cls");cout<<endl;
            for(int i=1;i<=10;i++){
                int sd=1+rand()%1000;jdi--;zdi--;
            if(!jdi)goto gods;if(!zdi)goto nbs;
            if(sd<=5){
                gods:Set(YELLOW);
                cout<<"金色闪光!";jdi=80;int ds=1+rand()%4;cout<<role_name[S[ds]]<<endl;have_role[S[ds]]=1;
                Set(WHITE);
             }
             else if(sd>5&&sd<=105){
                nbs:Set(BLUE);
                cout<<"蓝色闪光!";zdi=10;int ds=1+rand()%7;cout<<role_name[A[ds]]<<endl;have_role[A[ds]]=1;
                Set(WHITE);
             }
             else{
                int asd=rand()%3;
                cout<<"白色闪光!";
                if(!asd){
                    cout<<"经验书*1"<<endl; Exp++;
                }else{
                    cout<<"信用点*100"<<endl;money+=100; 
                }
             }
             system("pause");
            }
            goto sdd;
         }
         else if(rew=="w"){
            if(nowsd>1)nowsd--;goto sdd;
         }
         else if(rew=="s"){
            if(nowsd<3)nowsd++;goto sdd;
         }
         else return;
    }
    else if(nowsd==2){
        Set(CYAN);
        cout<<"|----------------------|"<<endl;
        cout<<"|限定频次 |-| =========|"<<endl;
        cout<<"|/-/||/-/ |-|知识即力量|"<<endl;
        cout<<"|----------------------|"<<endl;
        cout<<"                S 福斯德 属性:真理  概率UP!"<<endl; 
        Set(WHITE);
        cout<<"[p]单抽"<<endl;cout<<"[q]十连抽"<<endl;cout<<"(ws切换卡池,0返回主界面)";
         string rew;
         rew=_getch();
         int xian=3;
         int S[11]={0,4,6,10,12};
         int A[11]={0,2,5,7,8,11,13,14};
         if(rew=="p"){
            if(stone<200)goto sdd;else stone-=200;
            system("cls");
            say("正在连接频次",50);say("...",1000);Sleep(2000);
            system("cls");cout<<endl;int sd=1+rand()%1000;jdi--;zdi--;
            if(!jdi)goto godssss;if(!zdi)goto nbssss;
            if(sd<=5){
                godssss:Set(YELLOW);
                int ming=rand()%2;
                if(bisd)ming=1;
                if(!ming){
                cout<<"金色闪光!";jdi=80;int ds=1+rand()%4;
                cout<<role_name[S[ds]]<<endl;have_role[S[ds]]=1;bisd=1;
                Set(WHITE); 
                }
                else{
                    cout<<"金色闪光!";jdi=80;
                    cout<<role_name[xian]<<endl;have_role[xian]=1;bisd=0;
                    Set(WHITE);
                }
             }
             else if(sd>5&&sd<=105){
                nbssss:Set(BLUE);
                cout<<"蓝色闪光!";zdi=10;int ds=1+rand()%7;
                cout<<role_name[A[ds]]<<endl;have_role[A[ds]]=1;
                Set(WHITE);
             }
             else{
                int asd=rand()%3;
                cout<<"白色闪光!";
                if(!asd){
                    cout<<"经验书*1"<<endl;Exp++;
                }else{
                    cout<<"信用点*100"<<endl;money+=100; 
                }
             }
             system("pause");goto sdd;
         } 
         else if(rew=="q"){
            if(stone<2000)goto sdd;else stone-=2000;
            system("cls");
            say("正在连接频次",50);say("...",1000);Sleep(2000);
            system("cls");cout<<endl;
            for(int i=1;i<=10;i++){
                int sd=1+rand()%1000;jdi--;zdi--;
            if(!jdi)goto godsssss;if(!zdi)goto nbsssss;
            if(sd<=5){
                godsssss:Set(YELLOW);
                int ming=rand()%2;
                if(bisd)ming=1;
                if(!ming){
                cout<<"金色闪光!";jdi=80;int ds=1+rand()%4;
                cout<<role_name[S[ds]]<<endl;have_role[S[ds]]=1;bisd=1;
                Set(WHITE); 
                }
                else{
                    cout<<"金色闪光!";jdi=80;
                    cout<<role_name[xian]<<endl;have_role[xian]=1;bisd=0;
                    Set(WHITE);
                }
             }
             else if(sd>5&&sd<=105){
                nbsssss:Set(BLUE);
                cout<<"蓝色闪光!";zdi=10;int ds=1+rand()%7;cout<<role_name[A[ds]]<<endl;have_role[A[ds]]=1;
                Set(WHITE);
             }
             else{
                int asd=rand()%3;
                cout<<"白色闪光!";
                if(!asd){
                    cout<<"经验书*1"<<endl; Exp++;
                }else{
                    cout<<"信用点*100"<<endl;money+=100; 
                }
             }
             system("pause");
            }
            goto sdd;
         }
         else if(rew=="w"){
            if(nowsd>1)nowsd--;goto sdd;
         }
         else if(rew=="s"){
            if(nowsd<3)nowsd++;goto sdd;
         }
         else return;
    }
    else if(nowsd==3){
        Set(MAGENTA);
        cout<<"|----------------------|"<<endl;
        cout<<"|限定频次 |-| =========|"<<endl;
        cout<<"|-|[]====> | 夜长梦多--|"<<endl;
        cout<<"|----------------------|"<<endl;
        cout<<"                S 绮夜 属性:运行  概率UP!"<<endl; 
        Set(WHITE);
        cout<<"[p]单抽"<<endl;cout<<"[q]十连抽"<<endl;cout<<"(ws切换卡池,0返回主界面)";
         string rew;
         rew=_getch();
         int xian=9;
         int S[11]={0,4,6,10,12};
         int A[11]={0,2,5,7,8,11,13,14};
         if(rew=="p"){
            if(stone<200)goto sdd;else stone-=200;
            system("cls");
            say("正在连接频次",50);say("...",1000);Sleep(2000);
            system("cls");cout<<endl;int sd=1+rand()%1000;jdi--;zdi--;
            if(!jdi)goto godsss;if(!zdi)goto nbsss;
            if(sd<=5){
                godsss:Set(YELLOW);
                int ming=rand()%2;
                if(bisd)ming=1;
                if(!ming){
                cout<<"金色闪光!";jdi=80;int ds=1+rand()%4;
                cout<<role_name[S[ds]]<<endl;have_role[S[ds]]=1;bisd=1;
                Set(WHITE); 
                }
                else{
                    cout<<"金色闪光!";jdi=80;
                    cout<<role_name[xian]<<endl;have_role[xian]=1;bisd=0;
                    Set(WHITE);
                }
             }
             else if(sd>5&&sd<=105){
                nbsss:Set(BLUE);
                cout<<"蓝色闪光!";zdi=10;int ds=1+rand()%7;
                cout<<role_name[A[ds]]<<endl;have_role[A[ds]]=1;
                Set(WHITE);
             }
             else{
                int asd=rand()%3;
                cout<<"白色闪光!";
                if(!asd){
                    cout<<"经验书*1"<<endl;Exp++;
                }else{
                    cout<<"信用点*100"<<endl;money+=100; 
                }
             }
             system("pause");goto sdd;
         } 
         else if(rew=="q"){
            if(stone<2000)goto sdd;else stone-=2000;
            system("cls");
            say("正在连接频次",50);say("...",1000);Sleep(2000);
            system("cls");cout<<endl;
            for(int i=1;i<=10;i++){
                int sd=1+rand()%1000;jdi--;zdi--;
            if(!jdi)goto godss;if(!zdi)goto nbss;
            if(sd<=5){
                godss:Set(YELLOW);
                int ming=rand()%2;
                if(bisd)ming=1;
                if(!ming){
                cout<<"金色闪光!";jdi=80;int ds=1+rand()%4;
                cout<<role_name[S[ds]]<<endl;have_role[S[ds]]=1;bisd=1;
                Set(WHITE); 
                }else{
                    cout<<"金色闪光!";jdi=80;
                    cout<<role_name[xian]<<endl;have_role[xian]=1;bisd=0;
                    Set(WHITE);
                }
             }
             else if(sd>5&&sd<=105){
                nbss:Set(BLUE);
                cout<<"蓝色闪光!";zdi=10;int ds=1+rand()%7;cout<<role_name[A[ds]]<<endl;have_role[A[ds]]=1;
                Set(WHITE);
             }
             else{
                int asd=rand()%3;
                cout<<"白色闪光!";
                if(!asd){
                    cout<<"经验书*1"<<endl; Exp++;
                }else{
                    cout<<"信用点*100"<<endl;money+=100; 
                }
             }
             system("pause");
            }
            goto sdd;
         }
         else if(rew=="w"){
            if(nowsd>1)nowsd--;goto sdd;
         }
         else if(rew=="s"){
            if(nowsd<3)nowsd++;goto sdd;
         }
         else return;
    }
}
void fight(int te[],die de[],int k[],int times,int xing,int cjj,int nowm,int nowd){
    bool flag=0,fsd=0;
    if(times==1)for(int i=1;i<=4;i++)ks[i]=0;
    for(int i=1;i<=4;i++){
        if(de[i].hp>0&&de[i].level!=0)flag=1;
    }
    if(!flag){
        win:
            win=1;
    system("cls");
    say("你赢了!",40);
    Sleep(3000);
    return;
    }
    flag=0;
    for(int i=1;i<=4;i++){
        if(had[te[i]].hp-ks[i]>0&&te[i]!=0)flag=1;
    }
    if(!flag){
        lose:
        win=0;
    system("cls");
    say("你输了!",40);
    Sleep(3000);
    return;
    }
    system("cls");
    tis=times;
    if(times==1){
    say("战斗开始!第1回合!",60);   
    for(int i=1;i<=4;i++){
    dun[i]=ks[i]=0;
    ns=0;
    nl[i]=50;   
    lian[i]=0;
    ceng[i]=0;
    zengr[i]=zengf[i]=0;
    sf[i]=0;havez[i]=havezd[i]=0;bntcd[i]=bntdcd[i]=0;
    }
    guanghui=mizong=0;chus=0;bisd=bidg=0;lin=0;tsd=0;shine=0;ling=0;hdh=0;
    for(int i=1;i<=7;i++)dugou[i]=0;
    int we,kin;
        for(int i=1;i<=4;i++){
            if(te[i]==4){
            kin=1;  
            break;
            }
        }
        if(kin==1){
            for(int i=1;i<=4;i++){
                if(te[i]!=0){
                    zengr[i]+=20;
                    zengf[i]+=20;
                }
            }
        }
        if(pan(9)&&had[9].level>=20){
            nl[getnum(9)]+=50;
        }
    }
    else {say("第",60);cout<<times;say("回合!",60);}
    cout<<endl;
    if(pan(7)&&had[7].level>=20){
        if(shisuo[nowd]==0)shisuo[nowd]=1;
    }
    if(pan(11)){
        for(int i=1;i<=4;i++)nl[i]+=5;
        for(int i=1;i<=4;i++){
            if(bntcd[i]==0){
                if(havez[i]){
                    zengr[i]-=30;
                    havez[i]=0;
                }
            }
            if(bntcd[i]>0)bntcd[i]--;
        }
        for(int i=1;i<=4;i++){
            if(bntdcd[i]==0){
                if(havezd[i]){
                    zengr[i]-=20;
                    havezd[i]=0;
                }
            }
            if(bntdcd[i]>0)bntdcd[i]--;
        }
    } 
    if(mizong){
        for(int i=1;i<=4;i++){
            if(te[i]==9)nl[i]+=20;
        }
    }
    bool tj=0;
    int fghs;
    for(int i=1;i<=4;i++){
        if(te[i]==6){
        tj=1;   
        fghs=i;
        }
    }
    if(tj){
        if(had[6].level>=20&&had[6].hp-ks[getnum(6)]>0){
            cout<<"[武灵之意]"<<endl;
            ks[fghs]=max(0,ks[fghs]-had[6].range/2);
            cout<<'+'<<had[6].range/2<<endl;
            Sleep(2000);
        }
    }
    if(pan(12)&&had[12].level>=20&&lin>0&&had[12].hp-k[getnum(12)]>0){
        if(bidg){
            for(int i=1;i<=4;i++)zengr[i]-=20;
            bidg=0;
        }
        if(bisd){
            for(int i=1;i<=4;i++)zengf[i]-=20;
            bisd=0;
        }
        if(times%lin==0){
            cout<<"[起鹤玉涟]"<<endl;
            Sleep(1000);
            cout<<"[全体伤害提高]"<<endl;
            for(int i=1;i<=4;i++)zengr[i]+=20;
            bidg=1;
            Sleep(1000);
            xing++;
        }
        if(lin%times==0){
            cout<<"[起鹤玉涟]"<<endl;
            Sleep(1000);
            cout<<"[全体防御提高]"<<endl;
            for(int i=1;i<=4;i++)zengf[i]+=20;
            bisd=1;
            Sleep(1000);
            cjj++;
        }
    }
    if(guanghui>0){
        guanghui--;
        say("[光辉剑-夺魂]",80);cout<<endl;
        int pe;
        for(int i=1;i<=4;i++){
            if(te[i]==10)pe=i;
        }
                    de[nowd].hp-=max((had[10].range*25/100)*(100+had[10].ara)/100*(100+zengr[pe])/100-de[nowd].fs,1);
             cout<<'-'<<max(had[10].range*25/100*(100+had[10].ara)/100*(100+zengr[pe])/100-de[nowd].fs,1)<<endl;
             if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
             cjj++;
             Sleep(2000); 
    }
    if(pan(12)&&lin>0&&had[12].level>=40&&times%4==0&&had[12].hp-k[getnum(12)]>0){
        cout<<"[月翎鸿阳]"<<endl;
        Sleep(1000);
        for(int i=1;i<=lin;i++){
            de[nowd].hp-=max(83+had[12].range*52/100*(100+had[12].ara)/100*(100+zengr[getnum(12)])/100-de[nowd].fs,1);
             cout<<'-'<<max(83+had[12].range*52/100*(100+had[12].ara)/100*(100+zengr[getnum(12)])/100-de[nowd].fs,1)<<endl;
             if(lian[getnum(12)]==1)lian[getnum(12)]++;
             if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
        }
        Sleep(2000); 
        lin=0;
    }
    if(bds){
        int fg;
        for(int i=1;i<=4;i++){
            if(te[i]==1)fg=i;
        }
        cout<<"[前行意志]"<<endl;
        Sleep(1000);
        say("本回合造成伤害增加!",50);cout<<endl;
        zengr[fg]+=20;
        bds=0; 
        hasdl=1;
    }
    else{
        if(hasdl){
        int fg;
        for(int i=1;i<=4;i++){
            if(te[i]==1)fg=i;
        }   
        zengr[fg]-=20;
        hasdl=0;
        }
    }
    bool f=1;
    int h=1;
    if(had[nowm].fast>de[nowd].fast){
        kkk:
        system("cls");
        if(f)cout<<"你先行动!"<<endl;
        else{
            cout<<"你的行动!"<<endl; 
            f=1;
            h=0;
        }
        flag=0;
    for(int i=1;i<=4;i++){
        if(had[te[i]].hp-ks[i]>0&&te[i]!=0)flag=1;
    }
    if(!flag)goto lose;
        Sleep(1000);
        for(int i=1;i<=4;i++){
            if(te[i]!=0)nl[i]+=10;
        } 
        if(had[13].level>=20&&pan(13)&&had[13].hp-ks[getnum(13)]>0&&tsd&&!shine)shine=1;
        if(pan(13)&&had[13].hp-ks[getnum(13)]>0&&tsd&&shine>0){
        cout<<"[光明侍从]行动!"<<endl;
        Sleep(1000);
        if(had[13].level>=40)zengr[getnum(13)]+=30;
         for(int i=1;i<=4;i++){
                    if(de[i].hp>0&&de[i].level!=0){
                        de[i].hp-=max(1,(had[13].range*28*shine/100)*(100+had[13].ara)/100*(100+zengr[getnum(13)])/100-de[i].fs);
                        cout<<'-'<<max(1,(had[13].range*28*shine/100)*(100+had[13].ara)/100*(100+zengr[getnum(13)])/100-de[i].fs)<<endl;
                        if(lian[getnum(13)]==1)ceng[getnum(13)]++;
                        nl[nowm]+=10;
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                    if(had[13].level>=40)zengr[getnum(13)]-=30;
                    Sleep(1000);
                    shine=0;
    }
        re:
        if(ling&&pan(14)&&!hdh&&had[14].level>=40){
            hdh=1;
            zengr[getnum(14)]+=30;
        }
        else if(!ling&&pan(14)&&hdh&&had[14].level>=40){
            hdh=0;
            zengr[getnum(14)]-=30;
        }
        if(te[nowm]==9){
            if(mizong==1){
                mizong=0;
                system("cls");
                say("绮夜 解除[迷踪]状态!",80);
                Sleep(1000);
                system("cls");
                zengr[nowm]-=30;
            }
        }
        system("cls");
        say("当前场上角色:",40);say(role_name[te[nowm]],40);cout<<endl;
        say("剩余血量:",40);cout<<had[te[nowm]].hp-k[nowm];
        if(dun[nowm]!=0)cout<<'+'<<dun[nowm];
        cout<<endl;
        cout<<"剩余程序:"<<cjj<<" "<<"剩余行动点:"<<xing<<endl;
        cout<<"要执行什么操作?"<<endl;
        cout<<"[1]普通攻击"<<endl;
        cout<<"[2]释放战技:"<<ji[te[nowm]]<<endl;
        cout<<"[3]释放爆发"<<endl;
        cout<<"[4]切换角色"<<endl;
        cout<<"[5]结束回合"<<endl;
        while(1){
        kj=_getch();
        if(kj=="1"||kj=="2"||kj=="3"||kj=="4"||kj=="5")break;
    }
        if(kj=="1"){
            system("cls");
            if(xing==0){
                cout<<"行动点不足!"<<endl;
                Sleep(2000);
                goto re; 
            }
            if(pan(13)&&had[13].hp-k[getnum(13)]>0&&tsd)shine=min(10,shine+1);
            say(role_name[te[nowm]],40);say(" 使用了普攻!",40);cout<<endl;if(te[nowm]==12)lin++;
             de[nowd].hp-=max(had[te[nowm]].range*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1);
             cout<<'-'<<max(had[te[nowm]].range*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1)<<endl;
             if(te[nowm]==2&&had[2].level>=20){
                de[nowd].hp-=max(had[te[nowm]].range/5*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100,1);
             cout<<'-'<<max(had[te[nowm]].range/5*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100,1)<<endl;
             if(lian[nowm]==1)ceng[nowm]++;
             }
             if(te[nowm]==10&&had[10].level>=20){
                int stl=1+rand()%10;
                if(stl<=8){
                    cout<<"[月辉剑-连击]"<<endl;
                    Sleep(1000);
                    de[nowd].hp-=max(had[te[nowm]].range*120/100*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1);
             cout<<'-'<<max(had[te[nowm]].range*120/100*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1)<<endl;
             nl[nowm]+=10;
             if(lian[nowm]==1)ceng[nowm]++;
                }
                cjj++;
             }
             if(te[nowm]==14&&!ling){
                int k=rand()%5+1;
                if(k==1){
                    ling=1;
                    if(had[14].level>=20){
                        de[nowd].hp-=max(had[te[nowm]].range*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1);
             cout<<'-'<<max(had[te[nowm]].range*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1)<<endl;
                    }
                }
             }
             nl[nowm]+=10;
             if(lian[nowm]==1)ceng[nowm]++;
             if(te[nowm]==8){
                int r=1+rand()%20;
                if(r==1){
                    cout<<"[最终大奖]"<<endl;
                    Sleep(2000); 
                    de[nowd].hp-=max((had[te[nowm]].range*450/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1);
             cout<<'-'<<max(had[te[nowm]].range*450/100*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1)<<endl;
                }
             }
             if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
             fsd=0;int r;
             for(int i=1;i<=4;i++)if(te[i]==3&&had[te[i]].hp-k[i]>0){r=i;fsd=1;break;}
             if(fsd){
                int k=rand()%2;
                if(k==1){
                    if(pan(13)&&had[13].hp-ks[getnum(13)]>0&&tsd)shine=min(10,shine+1);;
                    cout<<"[学海无涯]"<<endl;
                     Sleep(1000);
                     nowm=r;
                      de[nowd].hp-=max(1,(50+had[te[nowm]].range*160/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
             cout<<'-'<<max(1,(50+had[te[nowm]].range*160/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
             if(had[3].level>=40){
                de[nowd].hp-=max(1,(50+had[te[nowm]].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
             cout<<'-'<<max(1,(50+had[te[nowm]].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
             if(lian[nowm]==1)ceng[nowm]++;
             }
             if(lian[nowm]==1)ceng[nowm]++;
             if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
                 }
             }
             for(int i=1;i<=4;i++){
                if(lian[i]==1){
                    while(ceng[i]>=4){
                        ceng[i]-=3;
                        cout<<"[联动]"<<endl;
                         Sleep(1000);
                          for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            de[i].hp-=max(1,(60+had[4].range*220/100)*(100+had[4].ara)/100*(100+zengr[nowm])/100-de[i].fs);
                        cout<<'-'<<max(1,(42+had[4].range*220/100)*(100+had[4].ara)/100*(100+zengr[nowm])/100-de[i].fs)<<endl;
                        for(int i=1;i<=4;i++){
                            if(te[i]==4){
                            nl[i]+=10;
                            break;  
                            }
                        }
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                for(int i=1;i<=4;i++){
                            if(te[i]==4){
                            nl[i]+=10;
                            break;  
                            }
                        }
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                     }
                 }
             }
             say("敌方剩余血量:",40);cout<<max(0,de[nowd].hp)<<endl;
             system("pause");
             xing--;
             cjj++;
             goto re;
        }
        else if(kj=="2"){
            system("cls");
            if(xing==0&&te[nowm]!=8){
                cout<<"行动点不足!"<<endl;
                Sleep(2000);
                goto re; 
            }
            if(cjj!=0){
                if(pan(13)&&had[13].hp-k[getnum(13)]>0&&tsd)shine=min(10,shine+1);;
                int shang,bi;
                say(role_name[te[nowm]],40);say(" 使用了战技:",40);say(ji[te[nowm]],40);say("!",40);cout<<endl;
                nl[nowm]+=10;
                if(te[nowm]==1){
                    shang=1;
                    for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            de[i].hp-=max(1,(42+had[1].range*80/100)*(100+had[te[nowm]].ara*(100+zengr[nowm])/100)/100-de[i].fs);
                        cout<<'-'<<max(1,(42+had[1].range*80/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[i].fs)<<endl;
                        if(lian[nowm]==1)ceng[nowm]++;
                        nl[nowm]+=10;
                        if(had[1].level>=20)nl[nowm]+=10;
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                }
                else if(te[nowm]==2){
                    shang=1;
                    de[nowd].hp-=max(1,(40+had[2].range*240/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(40+had[2].range*240/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
                    if(lian[nowm]==1)ceng[nowm]++;
                    nl[nowm]+=10;
                    if(had[2].level>=40&&!sf[nowd]){
                        cout<<"[时生玉质]"<<endl;
                        cout<<"敌方防御降低!"<<endl;
                        Sleep(2000); 
                        de[nowd].fs=de[nowd].fs*80/100;
                        sf[nowd]=1;
                    }
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                }
                 else if(te[nowm]==3){
                    shang=1;
                    if(had[3].level>=20)bi=1;
                    de[nowd].hp-=max(1,(56+had[3].range*110/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(56+had[3].range*110/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
                    if(lian[nowm]==1)ceng[nowm]++;
                    nl[nowm]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                }
                else if(te[nowm]==4){
                    shang=0;
                    if(!ns){
                    int ais=0,d;
                    cout<<"请选择'联动对象':"<<endl; 
                    for(int i=1;i<=4;i++){
                        if(te[i]!=4&&te[i]!=0&&had[te[i]].hp-k[i]>0){
                            cout<<"[按"<<i<<"+Enter]"<<role_name[te[i]]<<endl;
                        }
                    }
                    while(1){
                        cin>>d;
                        if(te[d]!=0&&te[d]!=4&&had[te[d]].hp-k[d]>0)break;
                    } 
                    say(role_name[te[d]],40);say(" 成为'联动对象'!",40);
                    Sleep(1000);
                    nowm=d;
                    lian[d]=1;
                    if(had[4].level>=20)zengr[d]+=20;
                    ns=1;   
                    }
                    else{
                        say("不可使用!",50);cout<<endl;
                        Sleep(1000);
                        goto re;
                    }
                } 
                else if(te[nowm]==5){
                    shang=0;
                    int d;
                    cout<<"请选择使用对象:"<<endl; 
                    for(int i=1;i<=4;i++){
                        if(te[i]!=5&&te[i]!=0){
                            cout<<"[按"<<i<<"+Enter]"<<role_name[te[i]]<<endl;
                        }
                    }
                    while(1){
                        cin>>d;
                        if(te[d]!=0&&te[d]!=5)break;
                    } 
                    say(role_name[te[d]],40);say(" 恢复血量。",40);cout<<endl;
                    nowm=d;
                    ks[d]=max(0,ks[d]-had[5].hp*50/100);
                    cout<<'+'<<had[5].hp*50/100<<endl;
                    if(had[5].level>=20){
                        cout<<"[五谷丰登]"<<endl;
                        ks[nowm]=max(0,ks[nowm]-had[5].hp*20/100);
                    cout<<'+'<<had[5].hp*20/100<<endl;
                    }
                    xing+=2;
                    Sleep(1000);
                }
                else if(te[nowm]==6){
                    shang=1;
                    for(int i=1;i<=4;i++){
                        dun[i]+=had[6].hp*50/100;
                    }
                    for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            de[i].hp-=max(1,(35+had[6].range*110/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[i].fs);
                        cout<<'-'<<max(1,(35+had[6].range*110/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[i].fs)<<endl;
                        if(lian[nowm]==1)ceng[nowm]++;
                        nl[nowm]+=10;
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                }
                else if(te[nowm]==7){
                    shang=1;
                    for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            for(int i=1;i<=cjj;i++){
                                if(shisuo[i])nl[nowm]+=10;
                                if(shisuo[i]&&had[7].level>=40&&de[i].fs<had[7].range*75/100){
                                    de[i].fs=0;
                                } 
                            de[i].hp-=max(1,(34+had[7].range*80/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[i].fs);
                        cout<<'-'<<max(1,(34+had[7].range*80/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[i].fs)<<endl;
                        if(lian[nowm]==1)ceng[nowm]++;
                        nl[nowm]+=10;
                        shisuo[i]++;
                            }
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        }   
                    }
                    cjj=1;
                } 
                else if(te[nowm]==8){
                    shang=0;
                    say("投掷节点!",80);
                    Sleep(2000);
                    cout<<endl;
                    for(int i=1;i<=7;i++){
                        if(dugou[i]!=1)dugou[i]=rand()%2;
                    }
                    for(int i=1;i<=7;i++){
                        if(dugou[i]==1){
                            Set(RED);
                            cout<<"红 "; 
                        }
                        else{
                            Set(WHITE);
                            cout<<"白 "; 
                        }
                    }
                    cout<<endl;
                    if(had[8].level>=20){
                        int der=1+rand()%5;
                        if(der==1){
                            cout<<"[新定义算法]"<<endl;
                            shang=1;
                            Sleep(1000);
                            if(lian[nowm]==1)ceng[nowm]++;
                            de[nowd].hp-=max(had[te[nowm]].range*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1);
             cout<<'-'<<max(had[te[nowm]].range*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs,1)<<endl;
              if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
                        }
                    }
                    if(had[8].level>=40){
                        for(int i=1;i<=4;i++)nl[i]+=10;
                    }
                    bool shajin=1;
                    for(int i=1;i<=7;i++){
                        if(dugou[i]==0)shajin=0;
                    }
                    Set(WHITE);
                    xing++;
                    if(shajin){
                        cout<<endl<<"爆发:砂金算法 已解锁!";
                        nl[nowm]=1000000000;
                        for(int i=1;i<=7;i++)dugou[i]=0;
                    }
                }
                else if(te[nowm]==9){
                    shang=1;
                    de[nowd].hp-=max(1,(50+had[9].range*270/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(50+had[9].range*270/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
                    if(lian[nowm]==1)ceng[nowm]++;
                    nl[nowm]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
             say("绮夜 进入[迷踪]状态!",80);cout<<endl; 
             mizong=1;
             zengr[nowm]+=30;
             for(int i=1;i<=4;i++){if(te[i]!=0&&te[i]!=9&&had[te[i]].hp-k[i]>0){nowm=i;say(role_name[te[i]],40);say(" 上场!",40);cout<<endl;break;}}
                } 
                else if(te[nowm]==10){
                    shang=1;
                    de[nowd].hp-=max(1,(30+had[10].range*(200+75*cjj)/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(30+had[10].range*(200+75*cjj)/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
                    if(lian[nowm]==1)ceng[nowm]++;
                    nl[nowm]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
             cjj=1;
                }
                else if(te[nowm]==11){
                    shang=0;
                    if(had[11].level>=20){
                        int r=rand()%2;
                        if(r)cjj++;
                    }
                    int d;
                    cout<<"请选择使用对象:"<<endl;
                    for(int i=1;i<=4;i++){
                        if(te[i]!=11&&te[i]!=0&&had[te[i]].hp-k[i]>0){
                            cout<<"[按"<<i<<"+Enter]"<<role_name[te[i]]<<endl;
                        }
                    }
                    while(1){
                        cin>>d;
                        if(te[d]!=0&&te[d]!=11&&had[te[d]].hp-k[d]>0)break;
                    } 
                    if(!bntcd[d]&&!havez[d]){
                        bntcd[d]=3;
                        zengr[d]+=30;
                        havez[d]=1;
                    }
                    nl[d]+=20;
                    nowm=d;
                    cout<<role_name[te[d]]<<" 上场!"<<endl;
                    Sleep(1000);
                }
                else if(te[nowm]==12){
                    shang=1;
                    lin+=2;
                    de[nowd].hp-=max(1,(42+had[12].range*250/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(42+had[12].range*250/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
                    if(lian[nowm]==1)ceng[nowm]++;
                    nl[nowm]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                }
                else if(te[nowm]==13){
                    shang=1;
                    if(!tsd)tsd=1;
                    else shine=min(10,shine+3);
                    for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            de[i].hp-=max(1,(40+had[13].range*70/100)*(100+had[te[nowm]].ara*(100+zengr[nowm])/100)/100-de[i].fs);
                        cout<<'-'<<max(1,(40+had[13].range*70/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[i].fs)<<endl;
                        if(lian[nowm]==1)ceng[nowm]++;
                        nl[nowm]+=10;
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                }
                else if(te[nowm]==14){
                    shang=1;
                    ling=1; 
                    ks[nowm]+=(had[14].hp-ks[nowm])/10;
                    de[nowd].hp-=max(1,(30+had[14].range*290/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(30+had[14].range*290/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
                    if(lian[nowm]==1)ceng[nowm]++;
                    nl[nowm]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                } 
                 fsd=0;int r;
             for(int i=1;i<=4;i++)if(te[i]==3&&had[te[i]].hp-k[i]>0){r=i;fsd=1;break;}
             if(fsd&&shang){
                int k=rand()%2;
                if(bi)k=1;
                if(k==1){
                    if(pan(13)&&had[13].hp-ks[getnum(13)]>0&&tsd)shine=min(10,shine+1);;
                    cout<<"[学海无涯]"<<endl;
                     Sleep(1000);
                     nowm=r;
                      de[nowd].hp-=max(1,(50+had[te[nowm]].range*160/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
             cout<<'-'<<max(1,(50+had[te[nowm]].range*160/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
              if(had[3].level>=40){
                de[nowd].hp-=max(1,(50+had[te[nowm]].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
             cout<<'-'<<max(1,(50+had[te[nowm]].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
             if(lian[nowm]==1)ceng[nowm]++;
             }
             if(lian[nowm]==1)ceng[nowm]++;
             if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
                 }
             }
             for(int i=1;i<=4;i++){
                if(lian[i]==1){
                    while(ceng[i]>=4){
                        ceng[i]-=3;
                        cout<<"[联动]"<<endl;
                         Sleep(1000);
                          for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            de[i].hp-=max(1,(60+had[4].range*220/100)*(100+had[4].ara)/100*(100+zengr[nowm])/100-de[i].fs);
                        cout<<'-'<<max(1,(42+had[4].range*220/100)*(100+had[4].ara)/100*(100+zengr[nowm])/100-de[i].fs)<<endl;
                        for(int i=1;i<=4;i++){
                            if(te[i]==4){
                            nl[i]+=10;
                            break;  
                            }
                        }
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                for(int i=1;i<=4;i++){
                            if(te[i]==4){
                            nl[i]+=10;
                            break;  
                            }
                        }
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                     }
                 }
             }
                cjj--;
                    xing--;
                    Sleep(1000);
                    goto re;
            }
            else{
                say("程序不足!",40);
                Sleep(1000);
                goto re;
            }
        }
        else if(kj=="3"){
            system("cls");
            cout<<"可使用爆发角色:"<<endl; 
            for(int i=1;i<=4;i++){
                if(nl[i]>=nx[te[i]]&&te[i]!=0&&had[i].hp-ks[i]>0){
                    cout<<role_name[te[i]]<<" "<<"可释放爆发:"<<bao[te[i]]<<" [按"<<i<<"+Enter释放]"<<endl; 
                }
            }
            cout<<"输入0+Enter返回" <<endl;
            int sds;
            cin>>sds;
            if(sds==0){
                goto re;
            }
            if(xing==0&&te[sds]!=3){
                cout<<"行动点不足!"<<endl;
                Sleep(2000);
                goto re; 
            }
            else if(nl[sds]<nx[te[sds]]){
                cout<<"能量不足!"<<endl;
                Sleep(2000);
                goto re; 
            } 
            else{
                if(pan(13)&&had[13].hp-k[getnum(13)]>0&&tsd&&sds==nowm)shine=min(10,shine+1);;
                int shang,bi=0;
                nl[sds]-=nx[te[sds]];
                say(role_name[te[sds]],40);say(" 使用爆发! ",40);say(bao[te[sds]],40);cout<<endl;
                if(te[sds]==1){
                    shang=1;
                    for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            de[i].hp-=max(1,(78+had[1].range*280/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs);
                            cout<<'-'<<max(1,(78+had[1].range*280/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs)<<endl;
                            if(lian[sds]==1)ceng[sds]++;
                        nl[sds]+=10;
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                    if(i==nowd)for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
                        }       
             }
                }
                bds=1;
            }
            else if(te[sds]==2){
                shang=1;
                de[nowd].hp-=max(1,(78+had[2].range*340/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(78+had[2].range*340/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
            }
             xing++;
        }
        else if(te[sds]==3){
            shang=1;
            if(had[3].level>=20)bi=1;
            de[nowd].hp-=max(1,(90+had[3].range*200/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(90+had[3].range*200/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
        }
        xing+=2;
        }
        else if(te[sds]==4){
            shang=1;
            de[nowd].hp-=max(1,(89+had[4].range*150/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(89+had[4].range*150/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    nl[sds]+=10;
                    if(had[4].level>=40){
                        for(int i=1;i<=4;i++)nl[i]+=30;
                    }
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
        } 
        cjj+=2;
        xing++;
    }
    else if(te[sds]==5){
        shang=0;
        say("全体恢复血量!",80);cout<<endl;
        for(int i=1;i<=4;i++){
            if(te[i]!=0&&had[te[i]].hp-ks[i]>0){
                ks[i]=max(0,ks[i]-had[5].hp*50/100);
                 cout<<'+'<<had[5].hp*50/100<<endl;
            }
        }
        if(had[5].level>=40){
            for(int i=1;i<=4;i++)nl[i]+=20;
        }
        xing++;
        cjj+=2; 
    }
    else if(te[sds]==6){
        shang=1;
        for(int i=1;i<=4;i++){
            if(te[i]!=0&&had[te[i]].hp-ks[i]>0)nl[i]+=30;
        }
        for(int i=1;i<=4;i++){
        if(de[i].hp>0&&de[i].level!=0){
        de[i].hp-=max(1,(50+had[6].range*200/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs);
        cout<<'-'<<max(1,(78+had[6].range*200/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs)<<endl;
        if(lian[sds]==1)ceng[sds]++;
        nl[sds]+=10;
        if(de[i].hp<=0){
        say(de[i].name,40);say(" 倒下!",40);cout<<endl;
        nl[sds]+=30;
        if(i==nowd)for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
            }       
        }
        }
    }
    else if(te[sds]==7){
        shang=1;
            for(int i=1;i<=4;i++){
            if(de[i].hp>0&&de[i].level!=0){
            de[i].hp-=max(1,(60+had[7].range*210/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs);
                cout<<'-'<<max(1,(60+had[7].range*210/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs)<<endl;
                if(lian[sds]==1)ceng[sds]++;
                for(int i=1;i<=shisuo[i];i++){
                    de[i].hp-=max(1,(had[7].range*30/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs);
                    cout<<'-'<<max(1,(had[7].range*30/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs)<<endl;
                    if(lian[sds]==1)ceng[sds]++;
                }
                shisuo[i]=0;
                nl[sds]+=10;
                if(de[i].hp<=0){
            say(de[i].name,40);say(" 倒下!",40);cout<<endl;
            nl[sds]+=30;
            if(i==nowd)for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
                        }       
             }
                }
    } 
    else if(te[sds]==8){
        shang=1;
                for(int i=1;i<=4;i++){
                    if(de[i].hp>0&&de[i].level!=0){
                        de[i].hp-=max(1,(80+had[8].range*350/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs);
                        cout<<'-'<<max(1,(80+had[8].range*350/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[i].fs)<<endl;
                        if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[i].hp<=0){
            say(de[i].name,40);say(" 倒下!",40);cout<<endl;
            nl[sds]+=30;
                if(i==nowd)for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
                    }       
         }
            }
            int r=1+rand()%5;
                if(r==1){
                    cout<<"[最终大奖]"<<endl;
                    Sleep(2000); 
                    de[nowd].hp-=max(had[te[sds]].range*450/100*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs,1);
             cout<<'-'<<max(had[te[sds]].range*450/100*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs,1)<<endl;
             if(de[nowd].hp<=0){
            say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
            nl[sds]+=30;
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
                    }
                }
    }
    else if(te[sds]==9){
        shang=1;
        int chu=1;
        start:
            if(de[nowd].hp>0){
                if(te[nowm]==9){
                    de[nowd].hp-=max(1,((50+had[9].range*350/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)/chu);
                    cout<<'-'<<max(1,((50+had[9].range*350/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)/chu)<<endl;
                }
                else{
                    de[nowd].hp-=max(1,((80+had[9].range*520/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)/chu);
                    cout<<'-'<<max(1,((80+had[9].range*520/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)/chu)<<endl;
                    xing++;
                }
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                if(had[9].level>=40)nl[sds]+=20;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
                  chu=2;
                  goto start;
            }
            }
    } 
    else if(te[sds]==10){
            shang=1;
                de[nowd].hp-=max(1,(60+had[10].range*380/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(60+had[10].range*380/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
            }
             guanghui+=3;
    }
    else if(te[sds]==11){
        shang=0;
        cout<<"[全体回复能量]"<<endl;
        cout<<"[全体伤害提高]"<<endl;
        for(int i=1;i<=4;i++){
            nl[i]+=10;
            if(!havezd[i]){
                bntdcd[i]=3;
                zengr[i]+=20;
                havezd[i]=1;
            }
        }
        xing++;if(had[11].level>=40)xing++;
    }
    else if(te[sds]==12){
        if(!lin){
            shang=0;
        say("全体恢复血量!",80);cout<<endl;
        for(int i=1;i<=4;i++){
            if(te[i]!=0&&had[te[i]].hp-ks[i]>0){
                ks[i]=max(0,ks[i]-(31+had[12].range*110/100));
                 cout<<'+'<<31+had[12].range*110/100<<endl;
            }
        }
        }else if(lin<=3){
            shang=1;
                de[nowd].hp-=max(1,(32+had[12].range*150/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(32+had[12].range*150/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
            }
        }else{
            shang=1;
            lin=0;
                de[nowd].hp-=max(1,(67+had[12].range*405/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(67+had[12].range*405/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
            }
        }
    }
    else if(te[sds]==13){
        shang=1;
        if(tsd)shine=min(10,shine+3);
                de[nowd].hp-=max(1,(90+had[13].range*320/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(90+had[13].range*320/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
            }
            if(tsd){
                cout<<"[光明侍从]行动!"<<endl;
        Sleep(1000);
        if(had[13].level>=40)zengr[getnum(13)]+=30;
         for(int i=1;i<=4;i++){
                    if(de[i].hp>0&&de[i].level!=0){
                        de[i].hp-=max(1,(had[13].range*28*shine/100)*(100+had[13].ara)/100*(100+zengr[getnum(13)])/100-de[i].fs);
                        cout<<'-'<<max(1,(had[13].range*28*shine/100)*(100+had[13].ara)/100*(100+zengr[getnum(13)])/100-de[i].fs)<<endl;
                        if(lian[getnum(13)]==1)ceng[getnum(13)]++;
                        nl[nowm]+=10;
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                nl[nowm]+=30;
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                    if(had[13].level>=40)zengr[getnum(13)]-=30;
                    Sleep(1000);
                    shine=0;
            }
    }
    else if(te[sds]==14){
        shang=1;
        ling=0;
        zengr[sds]+=had[14].hp*100/ks[sds];
                de[nowd].hp-=max(1,(90+had[14].range*410/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs);
                    cout<<'-'<<max(1,(90+had[14].range*410/100)*(100+had[te[sds]].ara)/100*(100+zengr[sds])/100-de[nowd].fs)<<endl;
                    zengr[sds]-=had[14].hp*100/ks[sds];
                    if(lian[sds]==1)ceng[sds]++;
                    nl[sds]+=10;
                    if(de[nowd].hp<=0){
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                nl[sds]+=30;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){nowd=i;say(de[i].name,40);say(" 上场!",40);cout<<endl;break;}}
            }
    }
         fsd=0;int r;
             for(int i=1;i<=4;i++)if(te[i]==3&&had[te[i]].hp-k[i]>0){r=i;fsd=1;break;}
             if(fsd&&shang){
                int k=rand()%2;
                if(bi)k=1;
                if(k==1){
                    cout<<"[学海无涯]"<<endl;
                     Sleep(1000);
                     nowm=r;
                      de[nowd].hp-=max(1,(50+had[te[nowm]].range*160/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
             cout<<'-'<<max(1,(50+had[te[nowm]].range*160/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
             if(had[3].level>=40){
                de[nowd].hp-=max(1,(50+had[te[nowm]].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs);
             cout<<'-'<<max(1,(50+had[te[nowm]].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs)<<endl;
             if(lian[nowm]==1)ceng[nowm]++;
             }
             if(lian[nowm]==1)ceng[nowm]++;
             if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
                 }
             }
             for(int i=1;i<=4;i++){
                if(lian[i]==1){
                    while(ceng[i]>=4){
                        ceng[i]-=3;
                        cout<<"[联动]"<<endl;
                         Sleep(1000);
                          for(int i=1;i<=4;i++){
                        if(de[i].hp>0&&de[i].level!=0){
                            de[i].hp-=max(1,(60+had[4].range*220/100)*(100+had[4].ara)/100*(100+zengr[nowm])/100-de[i].fs);
                        cout<<'-'<<max(1,(42+had[4].range*220/100)*(100+had[4].ara)/100*(100+zengr[nowm])/100-de[i].fs)<<endl;
                        for(int i=1;i<=4;i++){
                            if(te[i]==4){
                            nl[i]+=10;
                            break;  
                            }
                        }
                        if(de[i].hp<=0){
                say(de[i].name,40);say(" 倒下!",40);cout<<endl;
                for(int i=1;i<=4;i++){
                            if(te[i]==4){
                            nl[i]+=10;
                            break;  
                            }
                        }
                for(int j=1;j<=4;j++){if(de[j].hp>0&&de[j].level!=0){nowd=j;say(de[j].name,40);say(" 上场!",40);cout<<endl;break;}}
             }
                        } 
                    }
                     }
                 }
             }
        say("敌方剩余血量:",40);cout<<max(0,de[nowd].hp)<<endl;
             system("pause");
             xing--;
             goto re;
    } 
    }
    else if(kj=="4"){
        system("cls");
        if(xing>0||lin>0){
        say("请选择要切换上场的角色:",40);
        cout<<endl;
        for(int i=1;i<=4;i++){
            if(te[i]!=0&&had[te[i]].hp-k[i]>0){
                cout<<role_name[te[i]]<<" "<<"剩余血量:"<<had[te[i]].hp-k[i]<<" "<<"(按"<<i<<"切换)  "<<endl; 
            }
        }
        while(1){
            kj=_getch();
            bool o=0;
            for(int i=1;i<=4;i++)if(kj==to_strings(i)&&had[te[i]].hp-k[i]>0){cout<<endl<<role_name[te[i]]<<" "<<"已切换上阵!";xing--;nowm=i;o=1;break;}
            if(o)break;
        }
        if(lin>0){
            lin--;xing++;
        }
        Sleep(2000);
        goto re;    
        }
        else{
            cout<<"行动点不足!"<<endl;
            Sleep(2000);
            goto re;
        }
    }
    else if(kj=="5"){
        system("cls");
        say("回合结束!",60);
        cout<<endl;
        for(int i=1;i<=4;i++){
            if(te[i]==5&&had[te[i]].hp-ks[i]>0){
                cout<<"[感觉不错]"<<endl;
                Sleep(500);
                ks[nowm]=max(0,ks[nowm]-had[5].hp*20/100);
                cout<<'+'<<had[5].hp*20/100<<endl;
            }
        }
        Sleep(2000);
        system("cls");
        flag=0; 
        for(int i=1;i<=4;i++){
        if(de[i].hp>0&&de[i].level!=0)flag=1;
    }
    if(!flag)goto win;
    else if(h==0){
        h=1;
        goto end;
    }
        say("敌方行动!",40);
        aka:
        Sleep(1000);
        system("cls");
         say(de[nowd].name,40);say(" 发动进攻!",40);
         cout<<endl;
         if(de[nowd].name=="时序天顶之星"||de[nowd].name=="时序天顶之星-改"){
            int tim=2;
            if(de[nowd].name=="时序天顶之星-改")tim=3;
            bool shang=0;
            while(tim--){
                int sdf=rand()%2;
                if(de[nowd].name=="时序天顶之星-改")sdf=rand()%4;
                if(sdf==1){
                    shang=1;
                    cout<<"[苍穹-散]"<<endl;
                    for(int i=1;i<=4;i++){
        if(te[i]!=0&&had[te[i]].hp-ks[i]>0){
            if(te[i]==10&&xing>0){
            xing--;
            cout<<"[日辉剑-幻象]";cout<<endl;
            Sleep(2000);
             continue; 
         }
        dun[i]-=max(1,de[nowd].range*(de[nowd].ara+100)/100-had[te[i]].fs*(had[te[i]].afs+100)/100*(100+zengf[i])/100);
         if(dun[i]<0){
            ks[i]-=dun[i];
            dun[i]=0;
         }
         nl[i]+=10;
         cout<<'-'<<max(1,de[nowd].range*(de[nowd].ara+100)/100-had[te[i]].fs*(had[te[i]].afs+100)/100*(100+zengf[i])/100)<<endl;   
         if(had[te[i]].hp-k[i]<=0){
            say(role_name[te[i]],40);say(" 倒下!",40);cout<<endl;
            if(de[nowd].name=="时序天顶之星-改"){
                de[nowd].ara+=15; 
                cout<<"[时序天顶之星-改 获得伤害提高效果]"<<endl;
             }
            if(te[i]==6&&had[6].level>=40&&!chus){
                cout<<"[多元可能]"<<endl;
                Sleep(2000);
                ks[i]=0;
                nl[i]+=50;
                continue;
            }
            if(i==nowm)for(int l=1;l<=4;l++){if(te[l]!=0&&had[te[l]].hp-k[l]>0){nowm=l;say(role_name[te[l]],40);say(" 上场!",40);cout<<endl;break;}}
         }
                        } 
                    }
                }
                else if(sdf==0){
                    shang=1;
                    cout<<"[苍穹-聚]"<<endl;
                    Sleep(1000);
                    if(te[nowm]==10&&xing>0){
            xing--;
            cout<<"[日辉剑-幻象]";cout<<endl;
            Sleep(2000);
             continue; 
         }
                    dun[nowm]-=max(1,de[nowd].range*3*(de[nowd].ara+100)/100-had[te[nowm]].fs*(had[te[nowm]].afs+100)/100*(100+zengf[nowm])/100);
         if(dun[nowm]<0){
            ks[nowm]-=dun[nowm];
            dun[nowm]=0;
         }
         cout<<'-'<<max(1,de[nowd].range*3*(de[nowd].ara+100)/100-had[te[nowm]].fs*(had[te[nowm]].afs+100)/100*(100+zengf[nowm])/100)<<endl;
         nl[nowm]+=10;
         if(had[te[nowm]].hp-k[nowm]<=0){
            say(role_name[te[nowm]],40);say(" 倒下!",40);cout<<endl;
            if(te[nowm]==6&&had[6].level>=40&&!chus){
                cout<<"[多元可能]"<<endl;
                Sleep(2000);
                ks[nowm]=0;
                nl[nowm]+=50;
                continue;
            }
            for(int i=1;i<=4;i++){if(te[i]!=0&&had[te[i]].hp-k[i]>0){nowm=i;say(role_name[te[i]],40);say(" 上场!",40);cout<<endl;break;}}
         }
                }
                else if(de[nowd].name=="时序天顶之星-改"&&sdf==2){
                    shang=0;
                    cout<<"[苍穹之羽-砺锋]"<<endl;
                    Sleep(1000);
                    de[nowd].ara+=10;
                     cout<<"[时序天顶之星-改 获得伤害提高效果]"<<endl;
                }
                else if(de[nowd].name=="时序天顶之星-改"&&sdf==3){
                    shang=0;
                    cout<<"[苍穹之羽-护心]"<<endl;
                    Sleep(1000);
                    de[nowd].fs+=de[nowd].fs/10;
                     cout<<"[时序天顶之星-改 的防御力获得提高]"<<endl;
                }
                Sleep(1000);
            } 
            if(te[nowm]==10&&had[10].level>=40&&shang){
                int ry=rand()%2;
                if(ry){
                    cout<<endl;
                    cout<<"[轮回剑-反伤]"<<endl;
                    Sleep(1000);
                        de[nowd].hp-=max(1,((had[10].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs));
                    cout<<'-'<<max(1,((had[10].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs))<<endl;
                    nl[nowm]+=10;
                    if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
             Sleep(1000);
             ks[nowm]=max(0,ks[nowm]-had[10].hp*10/100);
                cout<<'+'<<had[10].hp*10/100<<endl;
                }
            }
            Sleep(2000);
            goto end;
        }
        else if(de[nowd].name=="算法-基础图论"||de[nowd].name=="算法-进阶图论"){
            de[nowd].hp=max(1,de[nowd].hp/2);
            if(de[nowd].name=="算法-进阶图论")de[nowd].hp+=100; 
            cout<<"[图论-自我引爆]"<<endl;
            for(int i=1;i<=4;i++){
        if(te[i]!=0&&had[te[i]].hp-ks[i]>0){
            if(te[i]==10&&xing>0){
            xing--;
            cout<<"[日辉剑-幻象]";cout<<endl;
            Sleep(2000);
             continue; 
         }
        dun[i]-=max(1,de[nowd].range*3*(de[nowd].ara+100)/100-had[te[i]].fs*(had[te[i]].afs+100)/100*(100+zengf[i])/100);
         if(dun[i]<0){
            ks[i]-=dun[i];
            dun[i]=0;
         }
         nl[i]+=10;
         cout<<'-'<<max(1,de[nowd].range*3*(de[nowd].ara+100)/100-had[te[i]].fs*(had[te[i]].afs+100)/100*(100+zengf[i])/100)<<endl;  
         if(had[te[i]].hp-k[i]<=0){
            say(role_name[te[i]],40);say(" 倒下!",40);cout<<endl;
            if(te[i]==6&&had[6].level>=40&&!chus){
                cout<<"[多元可能]"<<endl;
                Sleep(2000);
                ks[i]=0;
                nl[i]+=50;
                continue;
            }
            if(i==nowm)for(int l=1;l<=4;l++){if(te[l]!=0&&had[te[l]].hp-k[l]>0){nowm=l;say(role_name[te[l]],40);say(" 上场!",40);cout<<endl;break;}}
         }
                        } 
                    }
                    goto end;
        } 
        else if(de[nowd].name=="算法-数据流"){
                    cout<<"[集合数字洪流]"<<endl;
                    for(int i=1;i<=4;i++){
        if(te[i]!=0&&had[te[i]].hp-ks[i]>0){
            if(te[i]==10&&xing>0){
            xing--;
            cout<<"[日辉剑-幻象]";cout<<endl;
            Sleep(2000);
             continue; 
         }
        dun[i]-=max(1,de[nowd].range/2*(de[nowd].ara+100)/100-had[te[i]].fs*(had[te[i]].afs+100)/100*(100+zengf[i])/100);
         if(dun[i]<0){
            ks[i]-=dun[i];
            dun[i]=0;
         }
         nl[i]-=20;
         cout<<'-'<<max(1,de[nowd].range/2*(de[nowd].ara+100)/100-had[te[i]].fs*(had[te[i]].afs+100)/100*(100+zengf[i])/100)<<endl; 
         if(had[te[i]].hp-k[i]<=0){
            say(role_name[te[i]],40);say(" 倒下!",40);cout<<endl;
            if(te[i]==6&&had[6].level>=40&&!chus){
                cout<<"[多元可能]"<<endl;
                Sleep(2000);
                ks[i]=0;
                nl[i]+=50;
                continue;
            }
            if(i==nowm)for(int l=1;l<=4;l++){if(te[l]!=0&&had[te[l]].hp-k[l]>0){nowm=l;say(role_name[te[l]],40);say(" 上场!",40);cout<<endl;break;}}
         }
                        } 
                    }
                    cjj=0;
                    cout<<"[我方全体减少能量,程序归零]"<<endl;
                    Sleep(1000);
                    goto end;
        } 
        else{
        if(te[nowm]==10&&xing>0){
            xing--;
            cout<<"[日辉剑-幻象]";cout<<endl;
            Sleep(2000);
             goto end; 
         }
         dun[nowm]-=max(1,de[nowd].range*(de[nowd].ara+100)/100-had[te[nowm]].fs*(had[te[nowm]].afs+100)/100*(100+zengf[nowm])/100);
         if(dun[nowm]<0){
            ks[nowm]-=dun[nowm];
            dun[nowm]=0;
         }
         cout<<'-'<<max(1,de[nowd].range*(de[nowd].ara+100)/100-had[te[nowm]].fs*(had[te[nowm]].afs+100)/100*(100+zengf[nowm])/100)<<endl;
         nl[nowm]+=10;
         if(had[te[nowm]].hp-k[nowm]<=0){
            say(role_name[te[nowm]],40);say(" 倒下!",40);cout<<endl;
            if(te[nowm]==6&&had[6].level>=40&&!chus){
                cout<<"[多元可能]"<<endl;
                Sleep(2000);
                ks[nowm]=0;
                nl[nowm]+=50;
                goto end;
            }
            for(int i=1;i<=4;i++){if(te[i]!=0&&had[te[i]].hp-k[i]>0){nowm=i;say(role_name[te[i]],40);say(" 上场!",40);cout<<endl;break;}}
         } 
         else{
            if(te[nowm]==10&&had[10].level>=40){
                int ry=rand()%2;
                if(ry){
                    cout<<endl;
                    cout<<"[轮回剑-反伤]"<<endl;
                    Sleep(1000);
                        de[nowd].hp-=max(1,((had[10].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs));
                    cout<<'-'<<max(1,((had[10].range*150/100)*(100+had[te[nowm]].ara)/100*(100+zengr[nowm])/100-de[nowd].fs))<<endl;
                    nl[nowm]+=10;
                    if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
             Sleep(1000);
             ks[nowm]=max(0,ks[nowm]-had[10].hp*10/100);
                cout<<'+'<<had[10].hp*10/100<<endl;
                }
            }
         }
         Sleep(2000);
         if(!f)goto kkk;
         end:
            if(had[1].level>=40){
            bool gff=0;
            for(int i=1;i<=4;i++){
                if(te[i]==1)gff=1;
            } 
            if(gff){
                if(de[nowd].hp<=had[1].hp/20){
                    cout<<"[天启将终]"<<endl;
                    Sleep(1000);
                    de[nowd].hp=0;
                    if(de[nowd].hp<=0){
                nl[nowm]+=30;
                say(de[nowd].name,40);say(" 倒下!",40);cout<<endl;
                  for(int i=1;i<=4;i++){if(de[i].level!=0&&de[i].hp>0){say(de[i].name,40);say(" 上场!",40);cout<<endl;nowd=i;break;}}
             }
                }
            }   
            }
         fight(te,de,k,times+1,xing+2,cjj,nowm,nowd);   
        }
    }
}
else{
    cout<<"敌方行动!";
    Sleep(2000); 
     f=0;
     goto aka;
} 
}
void biandui(int p){
    int nowk=1;
    chas:
    system("cls");
    cout<<"关卡"<<p<<"-单行"<<endl;
        cout<<"目前队伍:"<<endl;
        for(int i=1;i<=4;i++){
            cout<<"["<<i<<"]";
            if(first_team[i]!=0&&first_team[i]!=1)cout<<"Lv"<<had[first_team[i]].level<<" "<<role_name[first_team[i]]<<endl;
            else if(first_team[i]!=0)cout<<"Lv"<<had[first_team[i]].level<<" "<<"S "<<name<<" 属性:"<<shu<<endl;
            else {
            cout<<"无"<<endl;    
            }
        } 
        string fg;
        cout<<"(e清空队伍,ad切换角色,空格上阵角色,q确定)"<<endl;
        if(nowk==1)cout<<"Lv"<<had[nowk].level<<" "<<"S "<<name<<" 属性:"<<shu;
        else cout<<"Lv"<<had[nowk].level<<" "<<role_name[nowk];
        fg=_getch();
        if(fg=="e"){
            for(int i=1;i<=4;i++)first_team[i]=0;
            goto chas;
        }
        else if(fg=="a"){
            for(int i=nowk-1;i>=1;i--){
                if(have_role[i]!=0){
                    nowk=i;
                    break;
                }
            }
            goto chas;
        }
        else if(fg=="d"){
            for(int i=nowk+1;i<=1500;i++){
                if(have_role[i]!=0){
                    nowk=i;
                    break;
                }
            }
            goto chas;
        }
        else if(fg==" "){
            bool flag=1;
            for(int i=1;i<=4;i++)if(first_team[i]==nowk){flag=0;break;}
            if(flag){
                for(int i=1;i<=4;i++)if(first_team[i]==0){first_team[i]=nowk;break;}
            }
            goto chas;
        }
        else if(fg=="q"){
            return;
        } 
}
void sq_biandui(int p){
    int nowk=1,nowdw=1;chass:
    system("cls");
    cout<<"关卡"<<p<<"-双行"<<endl;cout<<"目前队伍:"<<endl<<endl;
    if(nowdw==1)cout<<"#";cout<<"队伍1:"<<endl;
     for(int i=1;i<=4;i++){cout<<"["<<i<<"]";if(first_team[i]!=0&&first_team[i]!=1)cout<<"Lv"<<had[first_team[i]].level<<" "<<role_name[first_team[i]]<<endl;else if(first_team[i]!=0)cout<<"Lv"<<had[first_team[i]].level<<" "<<"S "<<name<<" 属性:"<<shu<<endl;else {cout<<"无"<<endl;}} 
        cout<<endl;
    if(nowdw==2)cout<<"#";cout<<"队伍2:"<<endl;
     for(int i=1;i<=4;i++){
            cout<<"["<<i<<"]";
            if(second_team[i]!=0&&second_team[i]!=1)cout<<"Lv"<<had[second_team[i]].level<<" "<<role_name[second_team[i]]<<endl;
            else if(second_team[i]!=0)cout<<"Lv"<<had[second_team[i]].level<<" "<<"S "<<name<<" 属性:"<<shu<<endl;
            else{
            cout<<"无"<<endl;    
            }
        }   
        string fg;
        cout<<"(e清空队伍,ad切换角色,ws切换队伍,空格上阵角色,q确定)"<<endl;
        if(nowk==1)cout<<"Lv"<<had[nowk].level<<" "<<"S "<<name<<" 属性:"<<shu;
        else cout<<"Lv"<<had[nowk].level<<" "<<role_name[nowk];
        fg=getch();
        if(fg=="e"){if(nowdw==1){for(int i=1;i<=4;i++)first_team[i]=0;goto chass;}else{for(int i=1;i<=4;i++)second_team[i]=0;goto chass;}}
        else if(fg=="a"){for(int i=nowk-1;i>=1;i--){if(have_role[i]!=0){nowk=i;break;}}goto chass;}
        else if(fg=="d"){for(int i=nowk+1;i<=1500;i++){if(have_role[i]!=0){nowk=i;break;}}goto chass;}
        else if(fg==" "){
            if(nowdw==1){
                bool flag=1;
            for(int i=1;i<=4;i++)if(first_team[i]==nowk||second_team[i]==nowk){flag=0;break;}
            if(flag){
                for(int i=1;i<=4;i++)if(first_team[i]==0){first_team[i]=nowk;break;}
            }
            }
            else if(nowdw==2){
                bool flag=1;
            for(int i=1;i<=4;i++)if(second_team[i]==nowk||first_team[i]==nowk){flag=0;break;}
            if(flag){
                for(int i=1;i<=4;i++)if(second_team[i]==0){second_team[i]=nowk;break;}
            }
            }
            goto chass;
        }
        else if(fg=="w"){
            if(nowdw==2)nowdw=1;
            goto chass;
        }
        else if(fg=="s"){
            if(nowdw==1)nowdw=2;
            goto chass;
        }
        else if(fg=="q"){
            return;
        }  
}
void commonstep1(){
    biandui(1);die ones[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=4;i++){ones[i].name="算法-顺序结构";ones[i].level=1;ones[i].hp=290;ones[i].fs=10;ones[i].range=30;}
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");
    if(tis-1<=10&&win){tongw[1]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(tis-1<=15&&win){tongw[1]=max(2,tongw[1]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(tis-1<=20&&win){tongw[1]=max(1,tongw[1]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep2(){
    biandui(2);die ones[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=4;i++){ones[i].name="算法-循环结构";ones[i].level=1;ones[i].hp=350;ones[i].range+=5;ones[i].fs=15;}
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");
    if(tis-1<=10&&win){tongw[2]=3;Set(RED);cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);}  
    else if(tis-1<=15&&win){tongw[2]=max(2,tongw[2]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(tis-1<=20&&win){tongw[2]=max(1,tongw[2]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{cout<<"------【失败】------"<<endl;}
}
void commonstep3(){
    biandui(3);die ones[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=3;i++){ones[i].name="算法-循环结构-双重特化";ones[i].level=1;ones[i].hp=450;ones[i].range+=10;ones[i].fs=15;}
    ones[4].name="算法-高精度集合体"; ones[4].level=1;ones[4].hp=1250;ones[4].ara+=50;ones[4].fs=25;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");
    if(tis-1<=10&&win){tongw[3]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(tis-1<=15&&win){tongw[3]=max(2,tongw[3]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(tis-1<=20&&win){tongw[3]=max(1,tongw[3]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep4(){
    biandui(4);die ones[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-选择排序";ones[i].level=1;ones[i].hp=700;ones[i].range-=10;ones[i].fs=15;}
    ones[3].name="算法-高精度集合体"; ones[3].level=1;ones[3].hp=1250;ones[3].ara+=70;ones[3].fs=25;ones[4].name="算法-高精度集合体"; ones[4].level=1;ones[4].hp=1250;ones[4].ara=70;ones[4].fs=25;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");
    if(tis-1<=10&&win){tongw[4]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(tis-1<=15&&win){tongw[4]=max(2,tongw[4]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(tis-1<=20&&win){tongw[4]=max(1,tongw[4]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep5(){
    biandui(5);die ones[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-快速排序";ones[i].level=1;ones[i].hp=200;ones[i].range=55;ones[i].fast=350; ones[i].fs=10;}
    ones[3].name="算法-高精度集合体"; ones[3].range=100;ones[3].level=1;ones[3].hp=1750;ones[3].ara+=120;ones[3].fs=35;ones[4].name="算法-高精度集合体"; ones[4].level=1;ones[4].range=100;ones[4].hp=1750;ones[4].ara+=120;ones[4].fs=35;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");
    if(tis-1<=10&&win){tongw[5]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(tis-1<=15&&win){tongw[5]=max(2,tongw[5]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(tis-1<=20&&win){tongw[5]=max(1,tongw[5]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep6(){
    biandui(6);die ones[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-快速排序";ones[i].level=1;ones[i].hp=300;ones[i].range=65;ones[i].fast=350; ones[i].fs=15;}
    ones[3].name="算法-高精度集合体"; ones[3].level=1;ones[3].hp=3050;ones[3].range=150;ones[3].ara+=150;ones[3].fs=45;ones[4].name="算法-高精度集合体"; ones[4].level=1;ones[4].hp=3050;ones[4].range=150;ones[4].ara+=150;ones[4].fs=45;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");
    if(tis-1<=10&&win){tongw[6]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(tis-1<=15&&win){tongw[6]=max(2,tongw[6]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(tis-1<=20&&win){tongw[6]=max(1,tongw[6]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep7(){
    sq_biandui(7);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-快速排序";ones[i].level=1;ones[i].hp=1000;ones[i].range=185;ones[i].fast=300; ones[i].fs=55;}
    ones[3].name="算法-高精度集合体"; ones[3].level=1;ones[3].range=200;ones[3].hp=5100;ones[3].ara+=200;ones[3].fs=100;ones[4].name="算法-高精度集合体"; ones[4].level=1;ones[4].hp=5100;ones[4].range=150;ones[4].ara+=200;ones[4].fs=100;
    for(int i=1;i<=4;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=1200;twos[i].fs=50;twos[i].range=600;}
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losing;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tongw[7]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(allti<=15&&win){tongw[7]=max(2,tongw[7]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tongw[7]=max(1,tongw[7]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losing:cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep8(){
    sq_biandui(8);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-冒泡排序";ones[i].level=1;ones[i].hp=2500;ones[i].range=285;ones[i].fast=100; ones[i].fs=105;}
    ones[3].name="算法-线段树"; ones[3].level=1;ones[3].range=300;ones[3].hp=12000;ones[3].ara+=20;ones[3].fs=180;ones[4].name="算法-dp-状态压缩"; ones[4].level=1;ones[4].hp=10000;ones[4].range=289;ones[4].ara+=100;ones[4].fs=50;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=1200;twos[i].fs=60;twos[i].range=600;}
    twos[3].name="算法-高精度集合体"; twos[3].level=1;twos[3].range=250;twos[3].hp=8000;twos[3].ara+=200;twos[3].fs=100;twos[4].name="算法-高精度集合体"; twos[4].level=1;twos[4].hp=8000;twos[4].ara+=200;twos[4].fs=100;twos[4].range=250;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tongw[8]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(allti<=15&&win){tongw[8]=max(2,tongw[8]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tongw[8]=max(1,tongw[8]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep9(){
    sq_biandui(9);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-冒泡排序";ones[i].level=1;ones[i].hp=5500;ones[i].range=485;ones[i].fast=200; ones[i].fs=155;}
    ones[3].name="算法-线段树"; ones[3].level=1;ones[3].range=500;ones[3].hp=15000;ones[3].ara+=40;ones[3].fs=180;ones[4].name="算法-dp-状态压缩"; ones[4].level=1;ones[4].hp=20000;ones[4].range=489;ones[4].ara+=120;ones[4].fs=180;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=3200;twos[i].fs=100;twos[i].range=600;}
    twos[3].name="算法-高精度集合体"; twos[3].level=1;twos[3].range=450;twos[3].hp=12000;twos[3].ara+=200;twos[3].fs=250;twos[4].name="算法-高精度集合体"; twos[4].level=1;twos[4].range=450;twos[4].hp=12000;twos[4].ara+=200;twos[4].fs=250;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tongw[9]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);} 
    else if(allti<=15&&win){tongw[9]=max(2,tongw[9]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tongw[9]=max(1,tongw[9]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void commonstep10(){
    sq_biandui(10);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-排序集合";ones[i].level=1;ones[i].hp=15500;ones[i].range=1085;ones[i].fast=250; ones[i].fs=255;}
    ones[3].name="算法-线段树"; ones[3].level=1;ones[3].range=1000;ones[3].hp=25000;ones[3].ara+=60;ones[3].fs=380;ones[4].name="算法-dp-状态压缩"; ones[4].level=1;ones[4].hp=32000;ones[4].range=689;ones[4].ara+=160;ones[4].fs=280;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=5200;twos[i].fs=100;twos[i].range=600;}
    twos[3].name="算法-高精度集合体"; twos[3].level=1;twos[3].range=650;twos[3].hp=22000;twos[3].ara+=250;twos[3].fs=350;twos[4].name="算法-高精度集合体"; twos[4].level=1;twos[4].range=650;twos[4].hp=22000;twos[4].ara+=250;twos[4].fs=350;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tongw[10]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);}    
    else if(allti<=15&&win){tongw[10]=max(2,tongw[10]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tongw[10]=max(1,tongw[10]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void betterstep1(){
    sq_biandui(1);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-排序集合";ones[i].level=1;ones[i].hp=25500;ones[i].range=1585;ones[i].fast=260; ones[i].fs=355;}
    ones[3].name="算法-进阶图论"; ones[3].level=1;ones[3].range=1000;ones[3].hp=10000;ones[3].ara+=10;ones[3].fs=400;ones[4].name="算法-数据流"; ones[4].level=1;ones[4].hp=80000;ones[4].range=889;ones[4].ara+=50;ones[4].fs=380;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=9200;twos[i].fs=100;twos[i].range=600;}
    twos[3].name="伪时序信徒-头领"; twos[3].level=1;twos[3].range=1250;twos[3].hp=42000;twos[3].ara+=150;twos[3].fs=550;twos[4].name="算法-高精度集合体"; twos[4].level=1;twos[4].range=1050;twos[4].hp=98000;twos[4].ara+=150;twos[4].fs=550;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tonguw[1]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);}    
    else if(allti<=15&&win){tonguw[1]=max(2,tonguw[1]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tonguw[1]=max(1,tonguw[1]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
} 
void betterstep2(){
    sq_biandui(2);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-插头dp";ones[i].level=1;ones[i].hp=115500;ones[i].range=1685;ones[i].fast=160; ones[i].fs=855;}
    ones[3].name="算法-进阶图论"; ones[3].level=1;ones[3].range=1000;ones[3].hp=15000;ones[3].ara+=20;ones[3].fs=450;ones[4].name="算法-数据流"; ones[4].level=1;ones[4].hp=100000;ones[4].range=1089;ones[4].ara+=60;ones[4].fs=680;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=9200;twos[i].fs=100;twos[i].range=600;}
    twos[3].name="伪时序信徒-头领"; twos[3].level=1;twos[3].range=1650;twos[3].hp=62000;twos[3].ara+=180;twos[3].fs=500;twos[4].name="时序天顶之星"; twos[4].level=1;twos[4].range=1050;twos[4].hp=100000;twos[4].ara+=40;twos[4].fs=850;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tonguw[1]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);}    
    else if(allti<=15&&win){tonguw[1]=max(2,tonguw[1]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tonguw[1]=max(1,tonguw[1]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
} 
void betterstep3(){
    sq_biandui(3);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-插头dp";ones[i].level=1;ones[i].hp=225500;ones[i].range=1685;ones[i].fast=160; ones[i].fs=955;}
    ones[3].name="算法-进阶图论"; ones[3].level=1;ones[3].range=1000;ones[3].hp=13000;ones[3].ara+=20;ones[3].fs=450;ones[4].name="算法-数据流"; ones[4].level=1;ones[4].hp=120000;ones[4].range=1089;ones[4].ara+=70;ones[4].fs=980;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=9200;twos[i].fs=100;twos[i].range=600;}
    twos[3].name="时序天顶之星"; twos[3].level=1;twos[3].range=1150;twos[3].hp=150000;twos[3].ara+=40;twos[3].fs=850;twos[4].name="时序天顶之星"; twos[4].level=1;twos[4].range=1150;twos[4].hp=150000;twos[4].ara+=40;twos[4].fs=850;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tonguw[3]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);}    
    else if(allti<=15&&win){tonguw[3]=max(2,tonguw[3]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tonguw[3]=max(1,tonguw[3]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
} 
void betterstep4(){
    sq_biandui(4);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=2;i++){ones[i].name="算法-数据流";ones[i].level=1;ones[i].hp=200000;ones[i].range=1085;ones[i].fast=260; ones[i].fs=1055;}
    ones[3].name="算法-进阶图论"; ones[3].level=1;ones[3].range=1000;ones[3].hp=15000;ones[3].ara+=20;ones[3].fs=450;ones[4].name="时序天顶之星"; ones[4].level=1;ones[4].hp=180000;ones[4].range=1289;ones[4].ara+=60;ones[4].fs=980;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=10000;twos[i].fs=100;twos[i].range=600;}
    twos[3].name="时序天顶之星"; twos[3].level=1;twos[3].range=1250;twos[3].hp=180000;twos[3].ara+=40;twos[3].fs=1050;twos[4].name="时序天顶之星"; twos[4].level=1;twos[4].range=1250;twos[4].hp=180000;twos[4].ara+=60;twos[4].fs=1050;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tonguw[4]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);}    
    else if(allti<=15&&win){tonguw[4]=max(2,tonguw[4]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tonguw[4]=max(1,tonguw[4]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
} 
void betterstep5(){
    sq_biandui(5);die ones[5],twos[5];
    for(int i=1;i<=4;i++)team[i]=first_team[i];
    for(int i=1;i<=3;i++){ones[i].name="算法-数据流";ones[i].level=1;ones[i].hp=250000;ones[i].range=1285;ones[i].fast=260; ones[i].fs=1555;}
    ones[4].name="时序天顶之星"; ones[4].level=1;ones[4].hp=240000;ones[4].range=1389;ones[4].ara+=50;ones[4].fs=1580;
    for(int i=1;i<=2;i++){twos[i].name="算法-基础图论";twos[i].level=1;twos[i].hp=13000;twos[i].fs=150;twos[i].range=700;}
    twos[3].name="算法-数据流"; twos[3].level=1;twos[3].range=1050;twos[3].hp=280000;twos[3].ara+=10;twos[3].fs=1850;twos[4].name="时序天顶之星-改"; twos[4].level=1;twos[4].range=1250;twos[4].hp=300000;twos[4].ara+=20;twos[4].fs=1850;
    int allti;
    fight(first_team,ones,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(win==0)goto losings;else say("与此同时,另外一边....",80);Sleep(2000);
    for(int i=1;i<=4;i++)team[i]=second_team[i];
    fight(second_team,twos,ks,1,3,0,1,1);system("cls");allti+=tis-1;
    if(allti<=10&&win){tonguw[5]=3;Set(RED); cout<<"------【优秀】------"<<endl;Set(WHITE);Sleep(2000);}    
    else if(allti<=15&&win){tonguw[5]=max(2,tonguw[5]);Set(YELLOW);cout<<"------【良好】------"<<endl;Set(WHITE);Sleep(2000);}
    else if(allti<=20&&win){tonguw[5]=max(1,tonguw[5]);Set(BLUE);cout<<"------【合格】------"<<endl;Set(WHITE);Sleep(2000);}
    else{losings:cout<<"------【失败】------"<<endl;Sleep(2000);}
}
void bianyis(){
    int flog=1; 
    besd:
    save();
    system("cls");
    cout<<"基础关卡";if(flog==1)cout<<"#";cout<<endl;
    cout<<"进阶关卡";if(flog==2)cout<<"#";cout<<endl<<endl;
    if(flog==1){
        for(int i=1;i<=10;i++){
            cout<<"基础关卡"<<i;if(tongw[i]==3)cout<<"(已通关)";cout<<endl;
        }
        string choses;
        cout<<"(输入数字+Enter挑战对应关卡,输入k+Enter切换进阶/基础关卡,输入0+Enter退出,输入g+Enter领取当前奖励)"<<endl;
        cin>>choses;
        if(choses=="1")commonstep1();
        else if(choses=="2")commonstep2();
        else if(choses=="3")commonstep3();
        else if(choses=="4")commonstep4();
        else if(choses=="5")commonstep5();
        else if(choses=="6")commonstep6();
        else if(choses=="7")commonstep7();
        else if(choses=="8")commonstep8();
        else if(choses=="9")commonstep9();
        else if(choses=="10")commonstep10();
        else if(choses=="k"){flog=2;goto besd;}
        else if(choses=="g"){
            int ghj;
            for(int i=1;i<=10;i++){
                if(tongw[i]==3&&!jiangs[i]){
                    ghj++;jiangs[i]=1;
                    stone+=600;Exp+=10;money+=10000;
                }
            }
            system("cls");
            cout<<"获得源码*"<<ghj*600<<" 经验书*"<<ghj*10<<" 信用点*"<<ghj*10000;
            Sleep(2000); 
        }
        else return;
        goto besd;
    } 
    else if(flog==2){
        for(int i=1;i<=5;i++){
            cout<<"进阶关卡"<<i;if(tonguw[i]==3)cout<<"(已通关)";cout<<endl;
        }
        string choses;
        cout<<"(输入数字+Enter挑战对应关卡,输入k+Enter切换进阶/基础关卡,输入0+Enter退出,输入g+Enter领取当前奖励)"<<endl;
        cin>>choses;
        if(choses=="1")betterstep1();
        else if(choses=="2")betterstep2();
        else if(choses=="3")betterstep3();
        else if(choses=="4")betterstep4();
        else if(choses=="5")betterstep5();
        else if(choses=="k"){flog=1;goto besd;}
        else if(choses=="g"){
            int ghj;
            for(int i=1;i<=5;i++){
                if(tonguw[i]==3&&!jiangss[i]){
                    ghj++;jiangss[i]=1;
                    stone+=400;Exp+=12;money+=12000;
                }
            }
            system("cls");
            cout<<"获得源码*"<<ghj*400<<" 经验书*"<<ghj*12<<" 信用点*"<<ghj*12000;
            Sleep(2000);
        }
        else return;
        goto besd;
    }
}
void zaoyu(int gf){
    die guai1[5];
    if(gf==0){
        for(int i=1;i<=4;i++){
            guai1[i].name="算法-顺序结构";guai1[i].level=1; 
        }
        fight(team,guai1,ks,1,3,0,1,1);system("cls");
        if(win==1){
            Exp+=1;stone+=10;money+=1000;
            cout<<"获得源码*10"<<" 经验书*1"<<" 信用点*1000";
        }else{
            say("你发现你根本打不过眼前的怪物,于是趁其不备开溜了。",50);
        }
    }
    else if(gf==1){
        for(int i=1;i<=3;i++){
            guai1[i].name="算法-循环结构";guai1[i].hp=350;guai1[i].range+=10;guai1[i].level=1; 
        }
        fight(team,guai1,ks,1,3,0,1,1);system("cls");
        if(win==1){
            Exp+=2;stone+=10;money+=1500;
            cout<<"获得源码*10"<<" 经验书*2"<<" 信用点*1500";
        }else{
            say("你发现你根本打不过眼前的怪物,于是趁其不备开溜了。",50);
        }
    }
    else if(gf==2){
        for(int i=1;i<=3;i++){
            guai1[i].name="算法-基础图论";guai1[i].hp=150;guai1[i].range=100;guai1[i].level=1; 
        }
        fight(team,guai1,ks,1,3,0,1,1);system("cls");
        if(win==1){
            Exp+=2;stone+=10;money+=1500;
            cout<<"获得源码*10"<<" 经验书*2"<<" 信用点*1500";
        }else{
            say("你发现你根本打不过眼前的怪物,于是趁其不备开溜了。",50);
        }
    }
    else if(gf==3){
        for(int i=1;i<=1;i++){
            guai1[i].name="算法-数据流";guai1[i].hp=1050;guai1[i].range+=30;guai1[i].level=1; 
        }
        fight(team,guai1,ks,1,3,0,1,1);system("cls");
        if(win==1){
            Exp+=4;stone+=20;money+=2500;
            cout<<"获得源码*20"<<" 经验书*4"<<" 信用点*2500";
        }else{
            say("你发现你根本打不过眼前的怪物,于是趁其不备开溜了。",50);
        }
    }
    Sleep(2000); 
}
void explore(){
    ac:
    system("cls");
    save();
    if(nows==16&&bianyi){
        bianyis();
        system("cls");
        nows=6;
    }
    else if(nows<=10&&nows!=7){
        int fghjk=rand()%3;
        if(!fghjk){
            cout<<"遭遇怪物!";
            Sleep(2000);
            int pm=rand()%4;
            zaoyu(pm);
            system("cls"); 
        }
    }
    cout<<"信用点:"<<money<<" "<<"源码:"<<stone<<endl; 
    cout<<"目前所处:"<< place[nows]<<endl;
        if(nows==lists[1].pnum||place[nows]==lists[1].plac){
        return;
        }
    int t=1,to[201]={},p=0,b;
    for(int i=1;i<=200;i++){
        if(a[nows][i]==1){
        cout<<"[按"<<t<<"]前往"<<place[i]<<endl;
        t++;
        to[++p]=i;
        }
    }
    cout<<"按p查看背包"<<endl;
    cout<<"按o查看角色"<<endl;
    cout<<"按r查看任务列表"<<endl;
    cout<<"按y调整队伍"<<endl;
    if(kkks==1)cout<<"按x打开运行"; 
    k=_getch();
    if(k=="p"){
        system("cls");
        for(int i=1;i<=thing;i++)cout<<bag[i].name<<" "<<"数量:"<<bag[i].num<<endl;
        cout<<"按0返回"<<endl;
         while(1){
        k=_getch();
        if(k=="0")break;
    }
    goto ac;
    }
    else if(k=="o"){
        system("cls");
        int f,c[15001];
         t1=0;
        for(int i=1;i<=1500;i++){
            if(have_role[i]==1){
                if(i==1)cout<<"S"<<" "<<name<<"  "<<"属性:"<<shu<<" ";
                else cout<<role_name[i]<<" ";
                cout<<"Lv"<<had[i].level<<endl;
                cout<<"已装备:";
                if(had[i].hand==0)cout<<"无";
                else cout<<hands[had[i].hand]<<endl; 
                c[++t1]=i;
                cout<<"(按"<<t1<<"+Enter查看详情)"<<endl<<endl; 
            }
        } 
        cout<<"按0+Enter返回"<<endl;
        while(1){
        cin>>k;
        if(k=="0")break;
        else{
            for(int i=1;i<=t1;i++){
                if(k==to_strings(i)){
                    sd:
                    system("cls");
                    if(i==1)cout<<"S"<<" "<<name<<"  "<<"属性:"<<shu<<" ";
                    else cout<<role_name[c[i]]<<" ";
                    cout<<"Lv"<<had[c[i]].level<<endl; 
                    cout<<"已装备:";
                if(had[c[i]].hand==0)cout<<"无"<<endl;
                cout<<jianjie[c[i]]<<endl;
                cout<<"生命值:"<<had[c[i]].hp<<" "<<"攻击力:"<<had[c[i]].range<<" "<<"防御力:"<<had[c[i]].fs<<" "<<"速度:"<<had[c[i]].fast<<endl;
                cout<<talent1[c[i]]<<endl<<talent2[c[i]]<<endl<<talent3[c[i]]<<endl<<zn[c[i]]<<endl<<bf[c[i]]<<endl<<endl;
                cout<<"剩余经验书:"<<Exp<<endl;
                if(had[c[i]].level<100){
                cout<<"按1升级,按0返回"<<endl;
                string lk;
                while(1){
                    cin>>lk;
                    if(lk=="1"&&Exp>0&&money>=2000){
                        had[c[i]].level++;
                        Exp--;
                        money-=2000;
                        shuf(c[i]);
                        save();
                        goto sd;
                    }
                    else if(lk=="1"&&Exp<=0){
                        say("经验书不足!",80);
                        cout<<endl;
                        system("pause");
                        goto sd;
                    }
                    else if(lk=="1"&&money<2000){
                        say("信用点不足!",80);
                        cout<<endl;
                        system("pause");
                        goto sd;
                    }
                    else if(lk=="0"){
                        goto ac;
                    }
                }   
                }
                else{
                    cout<<"已满级(按0返回)";
                    string f;
                    while(1){
                        cin>>f;
                        if(f=="0"){
                        goto ac;
                    }
                    } 
                }
                }
            }
        }
    }
        goto ac;
    }
    else if(k=="r"){
        system("cls");
        t2=0;
        for(int i=1;i<=1500;i++){
            if(haafe[i]==1){
                cout<<t2+1<<':'<<lists[i].names<<endl<<lists[i].jie<<endl<<"地点:"<<lists[i].plac<<endl<<"奖励:"<<lists[i].jiang<<endl<<endl; 
                t2++;
            }
        }
        cout<<"按0返回";
          while(1){
        k=_getch();
        if(k=="0")break;
    }
    goto ac;
    }
    else if(k=="y"){
        system("cls");
        int nowk=1,sk;
        string fg;
        cha:
        system("cls");
        cout<<"目前队伍:"<<endl;
        for(int i=1;i<=4;i++){
            cout<<"["<<i<<"]";
            if(team[i]!=0&&team[i]!=1)cout<<"Lv"<<had[team[i]].level<<" "<<role_name[team[i]]<<endl;
            else if(team[i]!=0)cout<<"Lv"<<had[team[i]].level<<" "<<"S "<<name<<" 属性:"<<shu<<endl;
            else {
            cout<<"无"<<endl;    
            }
        } 
        cout<<"(e清空队伍,ad切换角色,空格上阵角色,0返回)"<<endl;
        if(nowk==1)cout<<"Lv"<<had[nowk].level<<" "<<"S "<<name<<" 属性:"<<shu;
        else cout<<"Lv"<<had[nowk].level<<" "<<role_name[nowk];
        fg=_getch();
        if(fg=="e"){
            for(int i=1;i<=4;i++)team[i]=0;
            goto cha;
        }
        else if(fg=="a"){
            for(int i=nowk-1;i>=1;i--){
                if(have_role[i]!=0){
                    nowk=i;
                    break;
                }
            }
            goto cha;
        }
        else if(fg=="d"){
            for(int i=nowk+1;i<=1500;i++){
                if(have_role[i]!=0){
                    nowk=i;
                    break;
                }
            }
            goto cha;
        }
        else if(fg==" "){
            bool flag=1;
            for(int i=1;i<=4;i++)if(team[i]==nowk){flag=0;break;}
            if(flag){
                for(int i=1;i<=4;i++)if(team[i]==0){team[i]=nowk;break;}
            }
            goto cha;
        }
        else if(fg=="0"){
            save();
            goto ac;
        }
        else goto cha;
    }
    else if(k=="x"){
        wan_e_mi_chi();
        goto ac;
    }
    else{
        cout<<endl;
        for(int i=1;i<=p;i++){
            if(k==to_strings(i)){
        nows=to[i]; 
        break;  
            }
        }
        goto ac; 
    }
}
void wa(){
    cout<<endl;
    while(1){
        k=_getch();
        if(k==" ")break;
    }
}
void role1_theat1(){
    system("cls");
    say("(按空格可推进剧情)",0);
    wa();
    say("(这是...哪里...我...为什么会在这...)",80);
    wa();
    say("???:喂!快醒醒!",80);
    wa();
        say("(我...好像睡了一觉...)",80);
        wa();
    say("???:嗯...福斯德先生说遇到这种人,只要打一拳就好了,我试试...",80);
    wa();
    cout<<"[按1]别!千万别!!!"<<endl;
    cout<<"[按2]你打一个试试!"<<endl; 
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    }
    system("cls");
    say("(面前的白发少女退后两步,仔细端详着你)",80); 
    wa();
    say("???:原来你醒了啊。",80);
    wa();
    cout<<"[按1]我不醒就看不见明天的太阳了。"<<endl; 
     while(1){
        k=_getch();
        if(k=="1")break;
    }
    system("cls");
    say("白染:你听到我说话了?抱歉抱歉,团联动巡逻Oier白染,很高兴认识你。",80);
    wa();
    cout<<"[按1]你好。"<<endl;
    cout<<"[按2]没听说过。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    }
    system("cls"); 
    if(k=="2")say("白染:欸?团联动这么不知名吗?不应该呀...算了,你叫什么名字?",80);
    else say("白染:你好啊,你叫什么名字?",80);
    wa();
    say("(忘记了...随便编一个吧)",80);
    wa();
    system("cls");
    cout<<"你叫......"<<endl<<"(输入你的姓名,按Enter确认)"; 
    cin>>name;
    role_name[1]=name;
    system("cls");
    cout<<"你的性别是......"<<endl<<"输入性别,1男,2女,按Enter确认"; 
    cin>>xin;
    system("cls");
    say("白染:不错的名字呢!所以,你来到这里是为了什么呢?",80);
    wa();
    say(name,80);say(":我不知道...",80);
    wa();
    say("白染:啊?怎么比我还糊涂...算了,我先带你去见盟主,见到了你大概就想起来了。",80);
    wa();
    cout<<"[第一章 序幕 人铸神之伟业 已开启]"<<endl; 
    say("( 白染 已加入队伍)",80); 
    have_role[1]=have_role[2]=1;
    haafe[1]=1;
    lists[1].names="第一章_序幕_人铸神之伟业";lists[1].jie="跟随白染,前往团联动区";lists[1].plac="界碑谷";lists[1].pnum=2,lists[1].jiang="源码*100,经验书*2";t2++;
    wa();
    team[1]=2;team[2]=1;
    explore();
    system("cls");
    system("pause");
    say("(按空格可推进剧情)",0);
    wa();
    say("白染:快点跟上!过了界碑谷,就到团联动区了!",80);
    wa();
    say("(团联动...到底是个什么地方呢...)",80);
    wa();
    say("白染:小心!!",80);
    wa();
    say("白染为你挡下了一个未知生物的攻击。",80);
    wa();
    cout<<"[按1]你没事吧!"<<endl;
    cout<<"[按2]什么东西!!"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    }
    system("cls");
    if(k=="1")say("白染:我没事...该死...这里怎么会出现[算法]...躲在我身后!",80);
    else say("白染:该死...这里怎么会出现[算法]...躲在我身后!",80);
    cout<<endl;
    fight(team,jiaocheng,ks,1,3,0,1,1);
    system("cls");
    say("白染:解决了...没想到你的实力还不错!",80);
    wa();
    say("(不对...还没有结束...)",80);
    wa();
    say("(一只手持双刀的巨大算法怪物于前方出现)",80);
    wa();
    say("白染:算法构解程度至少达到上位绿级...这下有麻烦了。",80);
    Sleep(2000);
    cout<<endl;
    fight(team,dredp,ks,1,3,0,1,1);
    system("cls");
    say("(算法怪物身上的气息进一步增强)",80);
    wa();
    say("白染:升级了...这样下去不是办法,你先离开,我来断后!",80);
    wa();
    cout<<"[按1]这样很危险..."<<endl;
    cout<<"[按2]我不会走的。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls");
    say("白染:少废话!让你走你就走!",80);
    wa();
    say("???:为只见过一面,可信度未知的人甘愿使自己身处险境,恕我直言,这并不是大义,而是愚钝的表现。",80); 
    wa();
    say("(一个巨大的矩形于算法怪物之上凝聚,砸落,算法怪物被击退数米,一位手持书本的男子从后方出现)",80);
    wa(); 
    say("白染:福斯德先生!您怎么会在这?",80);
    wa();
    say("福斯德:这种没有意义的问题下次少问,这家伙由我来解决。",80);
    wa();
    say("白染:我们也来帮忙!",80);
    wa(); 
    dredp[1].hp=2500;dredp[1].range+=20;dredp[1].fs+=20;dredp[1].name="算法-dp-一维优化-增强型多重背包"; team[3]=3;
    fight(team,dredp,ks,1,3,0,1,1);
    team[3]=0;
    system("cls");
    say("(随着一声巨响,那算法怪物的身躯轰然倒下)",80);
    wa();
    say("白染:赢了!不愧是福斯德先生!",80);
    wa();
    say("福斯德:愚钝是人类的本性,而你似乎根本没有意识到这点。",80);
    wa();
    cout<<"[按1]你什么意思!"<<endl;
    cout<<"[按2]听起来,你很拽哦。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls"); 
    say("福斯德:那个可疑的家伙,你似乎没有资格质疑我。至少,现在没有。",80);
    wa();
    say("白染:那个...你别在意,福斯德先生的说话风格就是这样。他其实...",80);
    wa(); 
    say("福斯德:没什么事的话,我先走了。",80);
    wa();
    say("(福斯德离开)",80);
    wa();
    say("白染:呼~ 刚才真是好险,没想到界碑谷都能出现这种程度的算法魔物,我要赶紧去禀告九重秋鸽先生,抱歉失陪了,前面一直走就到Armaizae了,我们在那里见!",80);
    wa();
    say("(白染离开)",80);
    wa();
    cout<<"[第一章 序幕 人铸神之伟业 已完成]"<<endl;
    say("已解锁功能:运行(于无尽的信息网中,找到合适的同伴,与你同行吧)",80);
    kkks=1;
    Sleep(2000);
    stone+=100;
    theat++;
     lists[1].names="第一章_第一幕_宿命回响";lists[1].jie="前往Armaizae,寻找白染";lists[1].plac="Armaizae";lists[1].pnum=7,lists[1].jiang="源码*40,经验书*5,信用点*10000";
}
void role1_theat2_part1(){
    system("cls");
    say("(按空格可推进剧情)",0);
    wa();
    say("(这里就是Armaizae了吗?白染会在哪里...)",80);
    wa();
    say("???:这位",80);if(xin==1)say("先生,",80);else say("小姐,",80);say("请留步。",80);
    wa();
    cout<<"[按1]请问你是..."<<endl;
    cout<<"[按2]你TM谁呀!"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls"); 
    say("Orz_Sponge_Bob:居然忘了做自我介绍,是我疏忽了,在下Orz_Sponge_Bob,团联动维护部Oier,很荣幸见到您。",80);
    wa();
    cout<<"[按1]我看你多少沾点..."<<endl;
    cout<<"[按2]Nice to meet you too."<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls"); 
    say("Orz_Sponge_Bob:那么,请您配合我们的工作,出示一下您的团员证。",80);
    wa();
    cout<<"[按1]抱歉,我没有。"<<endl;
    cout<<"[按2]我现在走还来得及吗?"<<endl;
    cout<<"[按3]团什么证?"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3")break;
    } 
    system("cls"); 
    if(k=="3")say("Orz_Sponge_Bob:呃...总之,如果您没有团员证,是不能在团联动随意游览的,如果您不是[伪时序信徒],我们可以带您去找九重秋鸽先生办理临时团员证。",80);
    else say("Orz_Sponge_Bob:请您放心,我们没有要驱逐您的意思,只是如果没有团员证,是不能在团联动随意游览的,如果您不是[伪时序信徒],我们很乐意带您去找九重秋鸽先生办理临时团员证。",80);
    wa();
    say(name,80);say(":所以,九重秋鸽到底是谁?",80);
    wa();
    say("Orz_Sponge_Bob:九重秋鸽先生是团联动之主,十年前,他将这片混乱的土地统一,建立了团联动,纵使你是外来者,也应该有所耳闻才对...莫非...",80);
    wa();
    say("???:诶!等等!",80);
    wa();
    say("(远处跑来一个白色的身影,正是白染)",80);
    wa();
    say("Orz_Sponge_Bob:白染?你现在不应该在界碑谷一带巡逻吗?怎么会在这里?",80);
    wa();
    say("白染:(喘气)事...事情是这样的...",80);
    wa();
    say("(白染把事情的经过说了一遍)",80);
    wa();
    say("Orz_Sponge_Bob:原来如此...失忆...明白了,白染...",80);
    wa();
    say("(远处传来一声巨响,一个巨大的白色身影冲出,那东西看着像算法魔物,可其中的力量又不太相似,跟随着的还有几个一身白衣,戴着面具的人)",80);
    wa();
    say("Orz_Sponge_Bob:可恶...又是这群家伙!这次,非要让你们付出点代价!",80);
    wa();
    shixu[1].hp=shixu[2].hp=290;shixu[3].hp=290;shixu[4].hp=2890;
    fight(team,shixu,ks,1,3,0,1,1); 
    if(win){
        system("cls");
        say("(随着那个巨大身影的倒下,其余[伪时序信徒]纷纷遁逃)",80);
        wa();
        say("Orz_Sponge_Bob:可恶!站住!",80);
        wa();
        say("(只一瞬间,一股金色的光晕于地面周围荡开,接触到金光的[伪时序信徒]立刻停止奔逃,如同被静止了一般,一栋房屋的屋顶之上,一个蓝色的身影飞跃而下。)",80);
        wa();
        say("???:看来我来的有些迟了。",80);
        wa();
        say("Orz_Sponge_Bob:九重秋鸽先生...麻烦您了。",80);
        wa();
        say("九重秋鸽:无妨。",80);
        wa(); 
        stone+=40;Exp+=2;money+=10000; part++;
        lists[1].jie="与九重秋鸽交谈,获得团员证";lists[1].plac="团联动广场-东";lists[1].pnum=11,lists[1].jiang="源码*50,经验书*2,信用点*5000";
    }
    else{
        system("cls");
        return;
    }
}
void role1_theat2_part2(){
    system("cls");
    say("(按空格可推进剧情)",0);
    wa();
    say("Orz_Sponge_Bob:九重秋鸽先生,对于这些[伪时序信徒],您打算怎么处置?",80);
    wa();
    say("九重秋鸽:后天晚上把他们绑起来丢到寂静森,会有人来处置他们的。",80);
    wa();
    cout<<"[按1]等等,我..."<<endl;
    cout<<"[按2]哪里走!"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls"); 
    if(xin==1)say("九重秋鸽:这位先生,您有什么事吗?",80);
    else say("九重秋鸽:这位美丽的小姐,您有什么事找我吗?",80);
    wa();
    say("Orz_Sponge_Bob:九重秋鸽先生,关于这位...",80);
    wa();
    say("(Orz_Sponge_Bob又把情况复述一遍)",80);
    wa();
    say("九重秋鸽:我明白了,不过,现在我还有工作要忙...",80);
    wa();
    say("(九重秋鸽掏出一张空白的团员证,递给Orz_Sponge_Bob)",80);
    wa();
    say("九重秋鸽:请你们帮忙,带这位",80);if(xin==1)say("先生",80);else say("小姐",80);say("去团联动大楼填补团员证吧。",80);
    wa();
    say("Orz_Sponge_Bob:明白。",80);
    wa();
    say("(Orz_Sponge_Bob等人离开,九重秋鸽摆摆手,拐入一处小巷,福斯德正倚靠在墙边,看见九重秋鸽走来,缓缓合上手中书本)",80);
    wa();
    say("福斯德:这么轻易就相信一个外来者,这可不是你的行事风格。",80);
    wa();
    say("九重秋鸽:你难道不觉得,他和一个人很像吗?",80);
    wa();
    say("福斯德:的确是合理的推测,但缺少具有说服力的论据。",80);
    wa();
    say("九重秋鸽:福斯德,我觉得,我们的转机,就要到来了...",80);
    wa();
    say("福斯德:不管你有什么计划,我可不会将希望全寄予可能性未知的转机上。",80);
    wa();
    say("九重秋鸽:和你说话还真是累人,话说,你以前有朋友吗?对你朋友也这样说话吗?",80);
    wa();
    say("福斯德:...与你无关。",80);
    wa();    
    say("(与此同时,另一边...)",80);
    wa();
    say("Orz_Sponge_Bob:好了,我们去团联动大楼吧。",80); 
    wa();
    stone+=50;Exp+=2;money+=5000; part++;
        lists[1].jie="前往团联动大楼,填补团员证";lists[1].plac="团联动大楼";lists[1].pnum=15,lists[1].jiang="源码*50,经验书*2,信用点*5000";
}
void role1_theat2_part3(){
    system("cls");
    say("(按空格可推进剧情)",0);
    wa();
    say("(Orz_Sponge_Bob等人带你走入团联动大楼,来到一个柜台面前)",80);
    wa();
    say("Orz_Sponge_Bob:莎拉小姐,别来无恙。",80);
    wa();
    say("莎拉:是Orz_Sponge_Bob先生,好久不见,请问您要办理什么业务吗?",80);
    wa();
    say("Orz_Sponge_Bob:哦,这位",80);if(xin==1)say("先生",80);else say("小姐",80);say("要办理团员证,麻烦您了。",80);
    wa();
    say("莎拉:抱歉,Orz_Sponge_Bob先生,您应该知道团联动的规矩,没有九重秋鸽先生的许可,就算是lznxes来了,我们也不能随意给外人办理团员证。",80);
    wa();
    say("九重秋鸽:现在我许可了。",80);
    wa();
    say("(九重秋鸽出现)",80);
    wa();
    cout<<"[按1]影分身之术!"<<endl;
    cout<<"[按2]鸣人!是你!"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls"); 
    say("九重秋鸽:这位真是幽默风趣,这只是个全息投影装置,要是会那种东西,我还会天天忙的打转?总之,莎拉,按Orz_Sponge_Bob说的办。",80);
    wa();
    say("莎拉:是,九重秋鸽先生。",80);
    wa();
    say("九重秋鸽:我还有事,先不聊了。",80);
    wa();
    say("(九重秋鸽的投影消散)",80);
    wa();
    say("莎拉:那么,这位",80);if(xin==1)say("先生",80);else say("小姐",80);say(",姓名,年龄。",80);
    wa();
    say("白染:我知道我知道,",80);if(xin==1)say("他",80);else say("她",80);say("叫",80);say(name,80);say(",年龄......",80);
    wa(); 
    cout<<"[按1]刚满十八岁。"<<endl;
    cout<<"[按2]我不到啊。"<<endl;
    cout<<"[按3]问别人年龄很不礼貌的。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3")break;
    } 
    system("cls"); 
    if(k=="1")say("白染:胡说,你看起来比我都大,肯定多于20岁!还有,你不是失忆了吗!",80);
    else if(k=="3")say("白染:其实你就是不知道吧...",80);
    else say("白染:我就知道。",80);
    wa();
    say("莎拉:如果不知道年龄的话,可以试试这个。",80);
    wa();
    say("(莎拉拿出了一个金属圆球)",80);
    wa();
    say("白染:诶?这是什么?",80);
    wa();
    say("莎拉:年龄测定球,福斯德先生的发明,可以通过接触来测量有机生命体的生长情况从而推算出年龄,您可以试试。",80);
    wa();
    cout<<"[按1]让我看看怎么个事。"<<endl;
    cout<<"[按2]好,我测。"<<endl;
    cout<<"[按3]这年龄测定球不大,不小,外表好极了。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3")break;
    } 
    system("cls");
    say("(你将手放在年龄测定球上)",80);
    wa();
    say("(年龄测定球毫无反应)",80);
    wa();
    say("莎拉:奇怪.....以前从没出现过这种状况....",80);
    wa();
    say("Orz_Sponge_Bob:行了,时间不早了,年龄那一栏先空着,有时间再填。",80); 
    wa();
    say("莎拉:好吧...",80);
    wa();
    say("(一段时间后,总算填好了团员证...)",80);
    wa();
    say("Orz_Sponge_Bob:好了,现在,欢迎你加入团联动,按九重秋鸽先生的嘱咐,你应该加入核心部门。接下来我会问你几个问题,来测试你适合加入哪个部门。",80);
    wa();
    cout<<"[按1]总共有几个部门?"<<endl;
    while(1){
        k=_getch();
        if(k=="1")break;
    } 
    system("cls");
    say("Orz_Sponge_Bob:团联动有七大核心部门,分别为维护部,执行部,侦察部,战略部,巡卫部,特勤部,后勤部。你准备好了吗?",80);
    wa();
    cout<<"[按1]准备好了!"<<endl;
    cout<<"[按2]差不多了。"<<endl;
    cout<<"[按3]反正我无所谓。"<<endl;
    cout<<"[按4]行。"<<endl;
    cout<<"[按5]可能吧..."<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3"||k=="4"||k=="5")break;
    } 
    system("cls");
    int kpl;
    if(k=="1")kpl+=2;else if(k=="2")kpl++;else if(k=="4")kpl--;else if(k=="5")kpl-=2;
    say("Orz_Sponge_Bob:好,我开始了。第一个问题,假如你和你的同伴无意间遇见了一件你们追求了很久的东西,你会怎么做?",80);
    wa();
    cout<<"[按1]当然是把握住机会。"<<endl;
    cout<<"[按2]那要看这个东西对我而言重不重要。"<<endl;
    cout<<"[按3]肯定有诈,我不会去冒险。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3")break;
    } 
    system("cls");
    if(k=="1")kpl++;else if(k=="3")kpl--;
    say("Orz_Sponge_Bob:我明白了,第二个问题,假如你和你的同伴遇见了无法战胜的强敌,你会怎么做?",80);
    wa();
    cout<<"[按1]与同伴一起战斗到底!"<<endl;
    cout<<"[按2]拖住对手,让同伴逃跑。"<<endl;
    cout<<"[按3]与对手谈判,尝试以理服人。"<<endl;
    cout<<"[按4]和同伴一起寻找机会逃跑。"<<endl;
    cout<<"[按5]丢下同伴开溜。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3"||k=="4"||k=="5")break;
    } 
    system("cls");
    if(k=="1")kpl+=2;else if(k=="2")kpl++;else if(k=="4")kpl--;else if(k=="5")kpl-=2;
    say("Orz_Sponge_Bob:我明白了,最后一个问题,假如你和你的同伴要去执行一个任务,你在出发前提前得知了这次旅途的终点,你们什么都无法改变,一切都将以悲剧收场,你还会踏上这趟旅途吗?",80);
    wa();
    cout<<"[按1]我会义无反顾地继续前行。"<<endl;
    cout<<"[按2]我不相信什么事情是命中注定的。"<<endl;
    cout<<"[按3]仔细评估消息的真实性再做决定。"<<endl;
    cout<<"[按4]这不是我能决定的。"<<endl;
    cout<<"[按5]我不会出发。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3"||k=="4"||k=="5")break;
    } 
    system("cls");
    if(k=="1")kpl+=2;else if(k=="2")kpl++;else if(k=="4")kpl--;else if(k=="5")kpl-=2;
    say("Orz_Sponge_Bob:我明白了,那么,最适合你的部门是",80);
    if(kpl>=6){say("执行部。",80);bumen=1;}
    else if(kpl>=4){say("巡卫部。",80);bumen=2;}
    else if(kpl>=2){say("侦察部。",80);bumen=3;}
    else if(kpl>=-1){say("维护部。",80);bumen=4;}
    else if(kpl>=-3){say("特勤部。",80);bumen=5;}
    else if(kpl>=-5){say("战略部。",80);bumen=6;}
    else{say("后勤部。",80);bumen=7;} 
    if(bumen==1){wa();say("白染:太好了!这样以后我们就是同伴了!",80);}
    else if(bumen==4)say("欢迎你加入。",80);
    wa(); 
    say("Orz_Sponge_Bob:",80);
    if(bumen==1)say("成为执行部成员需要时刻冲在第一线,将生命置之度外,与任何邪恶与不公斗争,希望你能够胜任。",80);
    else if(bumen==2)say("巡卫部成员的主要任务是守护,守护目之所及的一切事物,需要拥有强大的心理素质,希望你能够胜任。",80);
    else if(bumen==3)say("成为侦察部成员需要拥有敏锐的洞察力和强大的信息收集能力,除了收集情报外还要协助执行部作战,希望你能够胜任。",80);
    else if(bumen==4)say("维护部成员负责维护治安稳定,需要更多冷静的思考,希望你能够胜任。",80);
    else if(bumen==5)say("特勤部需要处理许多暗处的工作,需要拥有强大的实力和谨慎的行为,希望你能够胜任。",80);
    else if(bumen==6)say("战略部成员负责统筹战局,要有足够的谋略和军事素养,希望你能够胜任。",80);
    else if(bumen==7)say("后勤部成员虽然不用上前线,但也至关重要,希望你能够胜任。",80);
    wa();
    say("白染:这样就算正式加入了吧?跟我来跟我来,我带你看看我们团队的训练装置!",80);
    wa();
    say("(还没等你反应,白染就抓起你的手,将你拉了出去)",80);
    wa(); 
    stone+=50;Exp+=2;money+=5000; part++;
    lists[1].jie="去看看白染说的训练装置";lists[1].plac="kommy之圣城-编译区";lists[1].pnum=16,lists[1].jiang="源码*100,经验书*3,信用点*10000";
}
void role1_theat2_part4(){
    system("cls");
    say("(按空格可推进剧情)",0);
    wa();
    say("白染:好了!就是这里!",80);
    wa();
    say("困倦的Oier:呃...啊...啊!两位是来进行编译的吗?",80);
    wa();
    say("白染:查尔斯!是我!你怎么这么没干劲!这里可是团联动!提起精神来!",80);
    wa();
    say("查尔斯:诶呦,姑奶奶,您可别提了,我都已经三张红条了,现在全团都在忙着打[伪时序信徒],都没人来编译了,再不完成这个月的业绩,我就要被炒了...",80);
    wa();
    say("白染:行了,我们就是来编译的,我认识了个新朋友,带",80);if(xin==1)say("他",80); else say("她",80);say("来体验体验。",80);
    wa();
    say("查尔斯:得嘞!两位先在外面等候,我调试下程序,一会就好!",80);
    wa();
    say("白染:我和你说,这编译运用了虚拟现实技术,100%拟真真实战斗场景,不仅好玩,还能锻炼战斗技巧!",80);
    wa();
    say("查尔斯:完事了!两位请进!",80);
    nows=6;wa();
    say("白染:好了,我们进去吧!",80);
    wa();
    stone+=100;Exp+=3;money+=10000; part++;
    lists[1].jie="体验编译";lists[1].plac="kommy之圣城-编译区";lists[1].pnum=16,lists[1].jiang="源码*150,经验书*2";
}
void role1_theat2_part5(){
    system("cls");
    say("(按空格可推进剧情)",0);
    wa();
    say("查尔斯:两位准备好了吗?",80);
    wa();
    say("白染:准备好了!",80);
    wa();
    say("查尔斯:好的!我们马上开始!",80);
    Sleep(2000);
    for(int i=1;i<=3;i++){
        bianyichu[i].name="算法-循环结构-双重特化";bianyichu[i].level=1;bianyichu[i].hp=450;bianyichu[i].ara=10;
    }
    fight(team,bianyichu,ks,1,3,0,1,1);
    system("cls");
    say("查尔斯:体验结束了,两位。",80);
    wa();
    say("白染:怎么样?好玩吗?",80);
    wa();
    cout<<"[按1]有点无聊..."<<endl;
    cout<<"[按2]我不会喜欢一个没有DLC的买断制游戏。"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls"); 
    say("白染:好像确实是这样,一直以来都只有那几个关卡...",80);
    wa();
    say("查尔斯:感谢两位让我开张,如果没事的话,就请离开吧。",80);
    wa();
    cout<<"[按1]你要么更新一下版本?"<<endl;
    cout<<"[按2]要不把[伪时序信徒]做进去?"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2")break;
    } 
    system("cls"); 
    say("查尔斯:好像确实需要更新一下...不断变化才能吸引玩家...可是,光是结合普通[伪时序信徒],也没多少人愿意买单...",80);
    wa();
    say("白染:欸,",80);say(name,80);say(",你还记得我们之前打的那个,白色的大家伙吗?",80);
    wa();
    say("(和查尔斯说了关于时序天顶之星的信息)",80);
    wa();
    say("查尔斯:巨大的白色机甲...一听就很酷!我已经有灵感了!",80);
    wa();
    say("(查尔斯开始敲代码)",80);
    wa();
    say("(几小时后...)",80);
    wa();
    say("查尔斯:完成了!全新的关卡!",80);
    wa();
    say("白染:怎么感觉你夹带了好多私货...",80);
    wa();
    say("查尔斯:两位!请务必帮我测试!不收你们信用点...不对,我倒贴!",80);
    wa();
    say("白染:信用点就免了,我们帮你测就是。",80);
    wa();
    say("查尔斯:真是太感谢了!那么——我们现在开始!",80);
    wa();
    die shixuch[5];
    for(int i=1;i<=3;i++){
        shixuch[i].name="伪时序信徒"; shixuch[i].level=1;shixuch[i].hp=350;shixuch[i].range=45;shixuch[i].fs=15;
    }
    shixuch[4].name="时序天顶之星-改";shixuch[4].hp=3500;shixuch[4].level=1;shixuch[4].range=55;shixuch[4].ara=25;shixuch[4].fs=25; 
    fight(team,shixuch,ks,1,3,0,1,1);
    system("cls");
    say("查尔斯:体验结束,两位有何感想?",80);
    wa();
    cout<<"[按1]一般,下次还填非常简单。"<<endl;
    cout<<"[按2]这强度不削能玩?"<<endl;
    cout<<"[按3]此时我只想说:一无所有,或者赢下所有!"<<endl;
    while(1){
        k=_getch();
        if(k=="1"||k=="2"||k=="3")break;
    } 
    system("cls"); 
    say("白染:嗯...虽然是难了一点,但比之前的关卡好玩多了。",80);
    wa();
    say("查尔斯:感谢两位,这一次,我绝不会被炒!两位要是有新的灵感,记得来告诉我!",80);
    wa();
    say("白染:我们会的!",80);say(name,80);say(",我们走吧。",80);
    wa(); 
    cout<<"[第一章 第一幕 宿命回响 已完成]"<<endl;
    say("已解锁功能:编译(你也许可以叫它深境螺旋或忘却之庭 于kommy之圣城-编译区进行)",80);
    bianyi=1;
    nows=6;
    stone+=150;Exp+=3; part=1;theat=2;
    lists[1].names="第一章_第二幕_皇冠之重(未完成)";lists[1].jie="九重秋鸽似乎有事找你,去看看";lists[1].plac="Armaizae";lists[1].pnum=114514,lists[1].jiang="源码*100,经验书*3,信用点*10000";
    Sleep(2000); 
} 
int main(){
     CONSOLE_CURSOR_INFO cursor_info={1,0}; 
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
    srand((unsigned int)time(NULL));
    jiaocheng[1].name=jiaocheng[2].name="算法-顺序结构";jiaocheng[3].name="算法-循环结构";jiaocheng[1].level=jiaocheng[2].level=jiaocheng[3].level=1;jiaocheng[3].hp+=100;dredp[1].name="算法-dp-增强型多重背包";dredp[1].level=15;dredp[1].hp+=1000;dredp[1].ara+=100;dredp[1].fs+=20;shixu[1].name=shixu[2].name=shixu[3].name="伪时序信徒";shixu[1].level=shixu[2].level=shixu[3].level=1;shixu[4].name="时序天顶之星";shixu[4].hp+=2600;shixu[4].level=1;shixu[4].range+=15;shixu[4].ara+=20;shixu[4].fs+=20; 
    a[1][2]=a[2][1]=a[2][3]=a[3][2]=a[2][4]=a[4][2]=a[3][5]=a[5][3]=a[4][5]=a[5][4]=a[5][6]=a[6][5]=a[5][8]=a[8][5]=a[8][9]=a[9][8]=a[8][10]=a[10][8]=a[9][10]=a[10][9]=a[10][7]=a[7][10]=a[6][8]=a[8][6]=a[7][11]=a[11][7]=a[11][13]=a[13][11]=a[11][14]=a[14][11]=a[13][12]=a[12][13]=a[14][12]=a[12][14]=a[12][15]=a[15][12]=a[6][16]=a[16][6]=1;
    Set(RED);
    had[1].hp=206;had[1].range=101;had[1].fs=28;had[1].fast=180;had[2].hp=198;had[2].range=98;had[2].fs=19;had[2].fast=220;had[2].ara=20;had[2].afs=-20;had[3].hp=225;had[3].range=119;had[3].fs=24;had[3].fast=250;had[4].hp=210;had[4].range=111;had[4].fs=34;had[4].fast=175;had[5].hp=200;had[5].range=89;had[5].fs=30;had[5].fast=300;had[6].hp=250;had[6].range=85;had[6].fs=60;had[6].fast=120;had[7].hp=150;had[7].range=110;had[7].fs=9;had[7].fast=270;had[8].hp=190;had[8].range=100;had[8].fs=10;had[8].fast=250;had[9].hp=169;had[9].range=121;had[9].fs=21;had[9].fast=450;had[10].hp=200;had[10].range=110;had[10].fs=22;had[10].fast=400;had[11].hp=180;had[11].range=85;had[11].fs=25;had[11].fast=400;had[12].hp=199;had[12].range=105;had[12].fs=25;had[12].fast=255;had[13].hp=190;had[13].range=105;had[13].fs=10;had[13].fast=300;had[13].ara=10;had[14].hp=180;had[14].range=105;had[14].fs=12;had[14].fast=370;
    cout<<"  oooo    III"<<endl;
    cout<<" o    o    I"<<endl;
    cout<<" o    o    I"<<endl;
    cout<<" o    o    I"<<endl;
    cout<<"  oooo    III   ";
    Set(WHITE);
    for(int i=1;i<=1500;i++){
        lists[i].names=lists[i].plac=lists[i].jie=lists[i].jiang="#";
    }
    read();
    check();
    cout<<"之路(fsd匠心之作)"<<endl<<endl;
    cout<<"按k开始游戏";
    role_name[1]=name;
    k=_getch();
    if(k=="k"){
        if(role==1&&theat==1){
            role1_theat1();
            save();
        }
        ertd:
        explore();
        if(role==1&&theat==2&&part==1){
            role1_theat2_part1();
            save();
            if(!win){
                nows=6;
                goto ertd;
            }
        }
        sdf:
        explore();
        if(role==1&&theat==2&&part==2){
            role1_theat2_part2();
            save();
        }
        explore();
         if(role==1&&theat==2&&part==3){
            role1_theat2_part3();
            save();
        }
        explore();
        if(role==1&&theat==2&&part==4){
            role1_theat2_part4();
            save();
        }
        explore();
        if(role==1&&theat==2&&part==5){
            role1_theat2_part5();
            save();
        }
        explore(); 
    }
}