#include<bits/stdc++.h>
#include<windows.h>
#include<unistd.h>
using namespace std;
const int maxncard=131,mobct=1,maxcen=3,cenda=17;
const int maxnrom=5,maxjs=3,ttyw=3;
const int romrdgl[]={0,23,3,7,5,8};
int cprd/*抽牌*/,hdkprd/*获得卡片*/,gwrd/*怪物随机*/,fjrd/*房间随机*/,gjrd/*怪物攻击随机*/,
xlrd/*血量随机*/,gbrd/*金币随机*/,tiprd/*tip随机*/,whrd/*问号随机*/,qfrd/*充能球*/;
int maxheal=75,nwjs=1,nwspct=50/*现在删牌价格*/;
const string name[]={"","打击","防御","生存者","中和","刀刃之舞","小刀","切割",
"偏折","背刺","致盲","恐怖","打击+","防御+","生存者+","中和+","刀刃之舞+",
"小刀+","切割+","偏折+","背刺+","致盲+","恐怖+","后空翻","后空翻+","肾上腺素",
"肾上腺素+","杂技","杂技+","致命毒药","致命毒药+","带毒刺击","带毒刺击+",
"催化剂","催化剂+","早有准备","早有准备+","战术大师","战术大师+","本能反应",
"本能反应+","冲刺","冲刺+","投掷匕首","投掷匕首+","斗篷与匕首","斗篷与匕首+",
"突然一拳","突然一拳+","精准","精准+","灵动步法","灵动步法+","幽魂形态",
"幽魂形态+","余像","余像+","眩晕","伤口","粘液","进阶之灾","连续拳","连续拳+",
"剑柄打击","剑柄打击+","重整精神","重整精神+","硬撑","硬撑+","壁垒","壁垒+",
"巩固","巩固+","全身撞击","全身撞击+","痛击","痛击+","祭品","祭品+","燃烧","燃烧+",
"突破极限","突破极限+","岿然不动","岿然不动+","幽灵铠甲","幽灵铠甲+","顺劈斩",
"顺劈斩+","旋风斩","旋风斩+","无谋冲锋","无谋冲锋+","双重打击","双重打击+",
"铁斩波","铁斩波+","金刚臂","金刚臂+","闪电霹雳","闪电霹雳+","C","C++","flick",
"flick+","双重释放","双重释放+","电击","电击+","冰川","冰川+","冷静头脑","冷静头脑+",
"扩容","扩容+","裂变","裂变+","愁云惨淡","愁云惨淡+","核心电涌","核心电涌+","碎片整理",
"碎片整理+","偏差认知","偏差认知+","彩虹","彩虹+","暴雪","暴雪+","电动力学","电动力学+"};
const int gcst[maxncard]={0,0,0,0,0,99,0,79,39,50,130,129,0,0,0,0,119,0,109,59,99,
131,150,69,89,145,167,89,109,55,66,25,30,150,165,114,125,93,101,89,93,79,90,
78,89,88,99,77,87,101,115,96,106,171,192,104,120,0,0,0,0,110,125,73,87,96,102,
93,101,134,150,131,148,99,109,0,0,150,169,68,78,86,96,99,114,87,100,54,67,56,
71,59,75,72,87,71,81,60,73,69,71,100,110,0,0,0,0,0,0,100,110,88,99,100,110,89,100,
78,87,120,130,100,120,99,111,86,100,105,119,99,110};//价格
const string namemb[]={"","FULi","篮球","菜","starfish","三柱","三柱","三柱","龟",
"尊师","九鸟","卫星","战车","球","刀","刀刃之舞","小蓝球","鸠","蛇花","史莱姆","心脏"};
const int cost[maxncard]={0,1,1,1,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,1,1,
0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,2,2,1,1,1,1,1,1,1,1,1,1,3,3,1,1,0,0,1,0,1,1,
1,1,1,1,1,1,3,2,2,1,1,0,2,2,0,0,1,1,1,1,2,2,1,1,1,1,-1,-1,0,0,1,1,1,1,2,2,1,
1,-1,-1,0,0,1,0,1,0,2,2,1,1,1,1,2,1,2,2,1,1,1,1,1,1,2,2,1,1,2,2};//花费
const int def[maxncard]={0,0,5,8,0,0,0,0,4,0,0,0,0,8,11,0,0,0,0,6,0,0,0,5,8,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,13,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,15,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,40,10,13,0,0,0,0,0,0,0,0,5,7,0,0,
0,0,0,0,0,0,0,0,0,0,7,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//防御
const int atk[maxncard]={0,6,0,0,3,0,4,6,0,11,0,0,9,0,0,4,0,6,9,0,15,0,0,0,0,
0,0,0,0,0,0,6,9,0,0,0,0,0,0,0,0,10,13,9,12,0,0,7,9,0,0,0,0,0,0,0,0,0,0,0,0,2,2,
9,10,0,0,0,0,0,0,0,0,0,0,8,10,0,0,0,0,0,0,0,0,0,0,8,11,5,8,7,10,5,7,5,7,12,14,
4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,14,11,15,0,0,0,0,0,0,0,0,0,0};//攻击
const int needd[maxncard]={0,1,0,0,1,0,1,1,0,1,2,1,1,0,0,1,0,1,1,0,1,2,1,0,0,
0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,2,2,2,2,1,1,1,1,1,1,1,1,2,2,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,0,0,0,0};//是否需要攻击对象
const bool ifdis[maxncard]={0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,1,1,1,0,
0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,0,1,1,
0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,1,1};//是否消耗
const bool ifpl[maxncard]={0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,
0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,
0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,
0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1};//是否升级
const int gailv[maxncard]={0,0,0,0,0,9,0,9,15,6,3,2,0,0,0,0,1,0,2,5,2,1,1,15,5,
2,1,8,3,15,5,15,5,3,1,6,2,3,1,3,1,6,2,9,3,5,1,8,2,4,2,4,2,6,2,4,2,0,0,0,0,6,3,
12,4,4,2,3,1,3,1,2,1,5,2,0,0,1,1,8,4,3,1,1,1,4,2,10,3,8,2,9,4,6,2,10,3,15,4,8,
2,0,0,0,0,0,0,0,0,4,2,7,3,6,2,6,2,9,3,4,1,5,2,6,3,8,4,4,2,7,3};//抽中概率
const int ydpcd[maxncard]={0,12,13,14,15,16,17,18,19,20,21,22,12,13,14,15,16,
17,18,19,20,21,22,24,24,26,26,28,28,30,30,32,32,34,34,36,36,38,38,40,40,42,
42,44,44,46,46,48,48,50,50,52,52,54,54,56,56,57,58,59,60,62,62,64,64,66,66,68,
68,70,70,72,72,74,74,76,76,78,78,80,80,82,82,84,84,86,86,88,88,90,90,92,92,94,
94,96,96,98,98,100,100,102,102,104,104,106,106,108,108,110,110,112,112,114,114,
116,116,118,118,120,120,122,122,124,124,126,126,128,128,130,130};//升级后卡牌位置
const int nfdc[maxncard]={0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};//能否打出
int tcard[maxncard]={0,3,4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//初始卡组
int zuobicard[maxncard]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0,0,0,1,1,2,0,5,0,
3,0,1};//1769种子卡牌
const int dycc[maxncard]={0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//固有
const int xuw[maxncard]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//虚无
const int tmsc[maxncard]={0,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,1,1,
0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4,5,
1,1,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,-1,-1,1,1,2,2,1,1,1,1,1,
1,-1,-1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0};//攻击次数
const int jsp[maxncard]={0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3};//角色
const int kysc[maxncard]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//可否删除
const int paix[maxncard]={0,0,1,1,0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,1,0,1,1,1,1,
1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,
0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1};//1技能
int yiwu[ttyw+1]={0,1,0,0};
//遗物
//1,开局抽2张牌
//2,每局回6点血
//3,生成一个电球
int uncard[maxncard];
int uscard[maxncard];
int hdcard[maxncard];
int nowpow,mbcnt,nowju=0;
bool winflag=0;
bool chocard[maxncard];
int ccd[maxncard];
int imputs(){
string imputa;
cin>>imputa;
int imputin=0;
bool imputz=0;
if(imputa[0]=='-')imputz=1;
for(int i=0;i<imputa.length();i++){
if(imputa[i]-'0'<=9&&imputa[i]-'0'>=0){
imputin*=10;imputin+=imputa[i]-'0';
}
}
if(imputz)return -imputin;
return imputin;
}
void mbcrth(int,int);
void clshs();
void cfbd(int);
void cfzd(int,int);
void add(int);
int Rr(int,int&);
struct mob{
int shld,heal,xur,lik,strg,atk,ys,rgzp,zdu,ncz,bl,
strgad,mjead,mje,cur,yhuxt,ntdef,ntgst,ntgmje,ntgpow,
yxia,jjun,jinj,zsh,mxheal,cpts,xhhcp,fl,jbkc,jbkcmx,goldb=0,
bal[100],chcs,mxcs,focus,fcsu,elgs,icgs,xhu,bkbl[100],ddlx;
//1电 2冰 3黑暗 4等离子
bool sfxr,sfys;
void mobdf(){
if(bl==0)shld=0;
else shld=max(shld,0);
strg+=strgad;
mje+=mjead;
if(yhuxt>0)yhuxt--;
shld+=ntdef;ntdef=0;
strg+=ntgst;ntgst=0;
mje+=ntgmje;ntgmje=0;
nowpow+=ntgpow;ntgpow=0;
heal+=zsh;zsh--;zsh=max(zsh,0);
heal=min(heal,mxheal);
sfxr=0;sfys=0;
xhhcp=cpts;
if(fl>0&&heal<=mxheal/2&&heal>0){
mbcrth(lik,heal);mbcrth(lik,heal);
heal=0;
}
jbkc=jbkcmx;
focus+=fcsu;
chcs=min(chcs,mxcs);
if(lik==0&&bal[1]!=0){
for(int i=1;i<=xhu;i++){
cfbd(1);
}
}
}
void zuatcal(){
if(xur>0)xur--;
if(ys>0)ys--;
if(cur>0)cur--;
if(zdu>0){
heal-=zdu;
zdu--;
}
}
void mobshuo(int dirmob,int likkk){
if(likkk!=0)cout<<namemb[likkk];
if(dirmob==0){
printf("充能球:(末端)");
for(int i=chcs;i>=1;i--){
switch(bal[i]){
case 1:printf("电球(%d) ",3+focus);break;
case 2:printf("冰球(%d) ",2+focus);break;
case 3:printf("黑球(%d/%d) ",bkbl[i],6+focus);break;
case 4:printf("等离子球 ");break;
default:printf("空 ");
}
}
printf("(前端)\n");
}
if(dirmob!=0)printf("%d号\n",dirmob);
if(dirmob!=0)printf("血量:%d/%d\n",heal,mxheal);
if(shld>0)printf("盾:%d\n",shld);
if(ntdef!=0)printf("下回合防御:%d\n",ntdef);
if(dirmob!=0)printf("攻击:%d\n",atk);
if(mje!=0)printf("敏捷:%d\n",mje);
if(mjead!=0)printf("敏捷增加:%d\n",mjead);
if(ntgmje!=0)printf("下回合敏捷:%d\n",ntgmje);
if(rgzp!=0)printf("人工制品:%d\n",rgzp);
if(strg!=0)printf("力量:%d\n",strg);
if(ntgst!=0)printf("下回合力量:%d\n",ntgst);
if(strgad!=0)printf("力量增加:%d\n",strgad);
if(xur!=0)printf("虚弱:%d\n",xur);
if(cur!=0)printf("脆弱:%d\n",cur);
if(ys!=0)printf("易伤:%d\n",ys);
if(zdu!=0)printf("中毒:%d\n",zdu);
if(bl!=0)printf("堡垒\n");
if(yhuxt!=0)printf("幽魂形态:%d\n",yhuxt);
if(yxia!=0)printf("余像:%d\n",yxia);
if(jjun!=0)printf("精准:%d\n",jjun);
if(jinj!=0)printf("荆棘:%d\n",jinj);
if(zsh!=0)printf("再生:%d\n",zsh);
if(cpts>0&&dirmob==0)printf("抽牌提升:%d\n",cpts);
if(xhhcp>0&&dirmob==0)printf("下回合抽牌:%d\n",xhhcp);
if(fl>0&&dirmob!=0)printf("分裂\n");
if(jbkcmx>0)printf("坚不可摧:%d\n",jbkc);
if(focus!=0)printf("集中:%d\n",focus);
if(fcsu!=0)printf("集中上升:%d\n",fcsu);
if(ddlx!=0)printf("电动力学\n");
if(dirmob!=0)puts("");
}
void mobinitt(bool ckifm){
atk=0;rgzp=0;shld=0;strg=0;xur=0;ys=0;zdu=0;ncz=0;bl=0;
strgad=0;mjead=0;mje=0;cur=0;yhuxt=0;ntdef=0;ntgst=0;ntgmje=0;
ntgpow=0;yxia=0;jjun=0;jinj=0;zsh=0;mxheal=maxheal;cpts=0;fl=0;
focus=0;fcsu=0;elgs=0;icgs=0;xhu=0;mxcs=10;chcs=1;
xhhcp=0;jbkcmx=0;jbkc=0;ddlx=0;
for(int i=1;i<=99;i++)bal[i]=bkbl[i]=0;
if(!ckifm)xhhcp=2*yiwu[1];
if(!ckifm)heal+=6*yiwu[2];
if(ckifm)goldb=Rr(10,gbrd)+10;
if(!ckifm){
if(nwjs==3||nwjs>maxjs)chcs=3;
for(int i=1;i<=yiwu[3];i++){
add(1);
}
}
}
void edhh(){
for(int i=1;i<=chcs;i++){
cfbd(i);
}
}
void jieshao(){
clshs();
if(nwjs==1||nwjs>maxjs){
printf("打击:对目标造成6/9点伤害\n");
printf("防御:获得5/8点防御\n");
printf("生存者:获得8/11点防御,丢弃一张牌\n");
printf("中和:对目标造成3/4点伤害,给予1/2层虚弱\n");
printf("刀刃之舞:获得3/4张小刀\n");
printf("小刀:消耗,造成4/6点伤害\n");
printf("切割:造成6/9点伤害\n");
printf("偏折:获得4/6点防御\n");
printf("背刺:固有,消耗,造成11/15点伤害\n");
printf("恐怖:消耗,给予99层易伤\n");
printf("后空翻:获得5/8点防御,抽2张牌\n");
printf("肾上腺素:消耗,获得1/2点能量,抽2张牌\n");
printf("杂技:抽3/4张牌,扔1张牌\n");
printf("致命毒药:给予5/7层中毒\n");
printf("带毒刺击:对目标造成6/9点伤害,给予3/4层中毒\n");
printf("催化剂:使目标中毒层数翻2/3倍\n");
printf("早有准备:抽1/2张牌,扔1/2张牌\n");
printf("战术大师:丢弃时获得1/2能量\n");
printf("本能反应:丢弃时抽2/3张牌\n");
printf("冲刺:获得10/13点防御,造成10/13点伤害\n");
printf("投掷匕首:造成9/12点伤害,抽1张牌,扔1张牌\n");
printf("斗篷与匕首:获得6点防御,获得1/2把小刀\n");
printf("突然一拳:造成7/9点伤害,给予1/2层虚弱\n");
printf("精准:获得4/6点精准\n");
printf("灵动步法:获得2/3点敏捷\n");
printf("幽魂形态:获得2/3点幽魂形态,1点敏捷下降\n");
printf("余像:(固有),获得一点余像\n");
}
if(nwjs==2||nwjs>maxjs){
printf("连续拳:造成2点伤害4/5次\n");
printf("剑柄打击:造成8/11点伤害,抽1张牌\n");
printf("重整精神:消耗所有非攻击牌,每张牌获得5/7点防御\n");
printf("硬撑:获得15/20点防御,增加两张伤口\n");
printf("堡垒:获得堡垒\n");
printf("巩固:将你的防御翻倍\n");
printf("全身撞击:造成你的防御点伤害\n");
printf("痛击:造成8/10点伤害,给予2/3层易伤\n");
printf("祭品:失去6点生命,获得2点能量,抽3/5张牌\n");
printf("燃烧:消耗,获得2/3点力量\n");
printf("突破极限:消耗(不消耗),将力量翻倍\n");
printf("岿然不动:获得30/40点防御\n");
printf("顺劈斩:对所有敌人造成8/11点伤害\n");
printf("旋风斩:对所有人造成5/8点伤害X次\n");
printf("无谋冲锋:造成7/10点伤害,获得一张眩晕\n");
printf("双重打击:造成5/7点伤害两次\n");
printf("铁斩波:造成5/7点伤害,获得5/7点防御\n");
printf("金刚臂:造成12/14点伤害,给予2/3层虚弱\n");
}
printf("致盲:消耗,所有敌人获得2/3层虚弱\n");
printf("C:?\n");
printf("flick:?\n");
Sleep(10000);
}
int deff(int cddef){
int sjd=cddef+mje;
if(cur>0)return sjd*80/100;
return sjd;
}
}player,mmmob[114514],defmob;
void cfbd(int qh){
switch(player.bal[qh]){
case 1:
while(1){
if(player.ddlx==0){
int sjmb=Rr(mbcnt,qfrd);
if(mmmob[sjmb].heal>0){
mmmob[sjmb].shld-=max(3+player.focus,0);
mmmob[sjmb].heal+=min(0,mmmob[sjmb].shld);
mmmob[sjmb].shld=max(0,mmmob[sjmb].shld);
break;
}
}
else{
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0){
mmmob[i].shld-=max(3+player.focus,0);
mmmob[i].heal+=min(0,mmmob[i].shld);
mmmob[i].shld=max(0,mmmob[i].shld);;
}
}
break;
}
bool sfyg=0;
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0)sfyg=1;
}
if(!sfyg)break;
}
break;
case 2:player.shld+=max(2+player.focus,0);break;
case 3:player.bkbl[qh]+=max(6+player.focus,0);break;
case 4:nowpow++;break;
}
}
void cfzd(int qh,int times){
int aktm=0;
switch(player.bal[qh]){
case 1:
while(1){
if(player.ddlx==0){
int sjmb=Rr(mbcnt,qfrd);
if(mmmob[sjmb].heal>0){
mmmob[sjmb].shld-=max(8+player.focus,0);
mmmob[sjmb].heal+=min(0,mmmob[sjmb].shld);
mmmob[sjmb].shld=max(0,mmmob[sjmb].shld);
aktm++;
}
}
else{
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0){
mmmob[i].shld-=max(8+player.focus,0);
mmmob[i].heal+=min(0,mmmob[i].shld);
mmmob[i].shld=max(0,mmmob[i].shld);
}
}
aktm++;
}
if(aktm>=times)break;
bool sfyg=0;
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0)sfyg=1;
}
if(!sfyg)break;
}
break;
case 2:player.shld+=max(4+player.focus,0)*times;break;
case 3:
while(1){
int sjmb=Rr(mbcnt,qfrd);
if(mmmob[sjmb].heal>0){
mmmob[sjmb].shld-=player.bkbl[1]*times;
mmmob[sjmb].heal+=min(0,mmmob[sjmb].shld);
mmmob[sjmb].shld=max(0,mmmob[sjmb].shld);
aktm++;
}
if(aktm>=times)break;
bool sfyg=0;
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0)sfyg=1;
}
if(!sfyg)break;
}
break;
case 4:nowpow+=2*times;break;
}
for(int i=1;i<=player.chcs;i++){
player.bal[i]=player.bal[i+1];player.bkbl[i]=player.bkbl[i+1];
}
player.bkbl[player.chcs]=player.bal[player.chcs]=0;
}
void add(int blzl){
int yjgq=0;
if(blzl==1)player.elgs++;
if(blzl==2)player.icgs++;
for(int i=1;i<=player.chcs;i++){
if(player.bal[i]==0){
yjgq=i;break;
}
}
if(yjgq>0){
player.bal[yjgq]=blzl;
player.bkbl[yjgq]=max(6+player.focus,0);
}
else{
cfzd(1,1);
player.bal[player.chcs]=blzl;
player.bkbl[player.chcs]=max(6+player.focus,0);
}
}
void clshs(){
for(int i=1;i<=40;i++){
printf("\n");
}
printf("当前层数:%d ",nowju);
printf("血量:%d/%d ",player.heal,maxheal);
printf("金币:%d ",player.goldb);
puts("");
int maxtp=22;
int nwtp=Rr(maxtp,tiprd);
switch(nwtp){
case 1:printf("这是一条tip");break;
case 2:printf("猜猜有多少有用的tip");break;
case 3:printf("rp++");break;
case 4:printf("boss之前是火堆");break;
case 5:printf("不是什么卡都要拿");break;
case 6:printf("chh又在睡觉");break;
case 7:printf("每日碎心");break;
case 8:printf("为什么chh没禁止玩杀戮尖塔,因为这可以锻炼学生的计算能力");break;
case 9:printf("tip;tip;tip;tip;tip;");break;
case 10:printf("编这个游戏的人是只鸽子");break;
case 11:printf("你的rks多少了");break;
case 12:printf("啪啪御,啪啪防,啪啪斩");break;
case 13:printf("我要sl");break;
case 14:printf("连续拳遇到荆棘");break;
case 15:printf("别忘记今天好好享受母庸置疑");break;
case 16:printf("你相信光(IN12)吗?");break;
case 17:printf("这是第17条tip");break;
case 18:printf("有一股力量注入了你,你决定去打歌");break;
case 19:printf("小约翰可汗");break;
case 20:printf("nor叔,你去哪了");break;
case 21:printf("核邪铀碍四人组");break;
case 22:printf("杀戮尖塔,启动");break;
}
puts("");puts("");
}
void mobinit(mob&);
void mbcrt(int likk){
mbcnt++;
mmmob[mbcnt].lik=likk;
mobinit(mmmob[mbcnt]);
}
void mbcrth(int likk,int mhal){
mbcnt++;
mmmob[mbcnt].lik=likk;
mobinit(mmmob[mbcnt]);
mmmob[mbcnt].mxheal=mmmob[mbcnt].heal=mhal;
}
void cdbc(){
freopen("slay.txt","w",stdout);
printf("%d %d %d %d %d %d ",nowju-1,player.heal,maxheal,nwjs,nwspct,player.goldb);
printf("%d %d %d %d %d %d %d %d %d %d ",cprd,hdkprd,gwrd,fjrd,gjrd,xlrd,tiprd,gbrd,whrd,qfrd);
for(int i=1;i<maxncard;i++){
printf("%d ",tcard[i]);
}
for(int i=1;i<=ttyw;i++){
printf("%d ",yiwu[i]);
}
puts("");
fclose(stdout);
freopen("CON","w",stdout);
printf("已存档\n");
return;
}
void choucard();
bool checkmh();
void mobinit(mob&);
int Rr(int rdmax,int &nwrd){
srand(nwrd);
nwrd=rand();
return nwrd%rdmax+1;
}
void mob1init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=40;
xxmob.lik=1;
}
int mob1(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;xxmob.zsh=5;xxmob.strg+=2;atk=xxmob.strg+6;break;
case 2:xxmob.ncz=1;break;
}
xxmob.zuatcal();
return atk;
}
void mob2init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=Rr(3,xlrd)+12;
xxmob.lik=2;
}
int mob2(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;atk=xxmob.strg+8;break;
case 1:xxmob.ncz=2;break;
case 2:xxmob.ncz=3;
for(int i=1;i<=mbcnt;i++){
mmmob[i].strg+=1;
}
break;
case 3:xxmob.ncz=2;
for(int i=1;i<=mbcnt;i++){
mmmob[i].shld+=xxmob.deff(5);
}
break;
}
xxmob.zuatcal();
return atk;
}
void mob3init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=33;
xxmob.lik=3;
}
int mob3(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;
for(int i=1;i<=mbcnt;i++){
mmmob[i].shld+=xxmob.deff(5);
}
atk=xxmob.strg+6;
break;
case 2:xxmob.ncz=3;break;
case 3:xxmob.ncz=2;
if(player.rgzp==0)player.cur+=2;
else player.rgzp--;
if(player.rgzp==0)player.ys+=2;
else player.rgzp--;
atk=xxmob.strg+6;
break;
}
xxmob.zuatcal();
return atk;
}
void mob4init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.zsh=5;
xxmob.heal=xxmob.mxheal=45;
xxmob.lik=4;
}
int mob4(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;xxmob.zsh++;atk=xxmob.strg+5;break;
case 2:xxmob.ncz=3;break;
case 3:xxmob.ncz=2;xxmob.zsh+=2;xxmob.strg++;atk=xxmob.strg+7;break;
}
xxmob.zuatcal();
return atk;
}
void mob5init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=26;
xxmob.rgzp=1;
xxmob.lik=5;
}
int mob5(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;uncard[57]++;atk=8+xxmob.strg;break;
case 2:xxmob.ncz=1;break;
}
xxmob.zuatcal();
return atk;
}
void mob6init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=33;
xxmob.lik=6;
}
int mob6(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;atk=10+xxmob.strg;break;
case 1:xxmob.ncz=2;break;
case 2:xxmob.ncz=1;uncard[57]+=2;atk=9+xxmob.strg;break;
}
xxmob.zuatcal();
return atk;
}
void mob7init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=29;
xxmob.lik=7;xxmob.rgzp=1;
}
int mob7(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;uncard[57]++;atk=8+xxmob.strg;break;
case 2:xxmob.ncz=1;break;
}
xxmob.zuatcal();
return atk;
}
void mob8init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=20;
xxmob.rgzp=1;
xxmob.bl=1;
xxmob.shld=30;
xxmob.lik=8;
}
int mob8(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;uncard[57]+=2;atk=10+xxmob.strg;break;
case 2:xxmob.ncz=1;atk=(8+xxmob.strg)*2;break;
}
xxmob.zuatcal();
return atk;
}
void mob9init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=40;
xxmob.rgzp=1;
xxmob.lik=9;
}
int mob9(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;
if(player.rgzp==0)player.ys++;
else player.rgzp--;
if(player.rgzp==0)player.xur++;
else player.rgzp--;
if(player.cur==0)player.cur++;
else player.rgzp--;
break;
case 2:xxmob.ncz=3;xxmob.strg+=1;atk=8+xxmob.strg;break;
case 3:xxmob.ncz=2;atk=(7+xxmob.strg)*2;break;
}
xxmob.zuatcal();
return atk;
}
void mob10init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=65;
xxmob.rgzp=1;
xxmob.lik=10;
xxmob.shld=10;
}
int mob10(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;xxmob.strg+=1;atk=xxmob.strg*6;break;
case 2:xxmob.ncz=0;atk=xxmob.strg*3;break;
}
xxmob.zuatcal();
return atk;
}
void mob11init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=49;
xxmob.shld=10;
xxmob.lik=11;
}
int mob11(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;atk=8+xxmob.strg;break;
case 1:xxmob.ncz=2;break;
case 2:xxmob.ncz=0;xxmob.strg+=1;atk=(5+xxmob.strg)*2;break;
}
xxmob.zuatcal();
return atk;
}
void mob12init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=40;
xxmob.bl=1;
xxmob.shld=25;
xxmob.rgzp=2;
xxmob.lik=12;
}
int mob12(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;xxmob.strg+=3;atk=5+xxmob.strg;break;
case 1:xxmob.ncz=2;atk=10+xxmob.strg;break;
case 2:xxmob.ncz=0;atk=10+xxmob.strg;break;
}
xxmob.zuatcal();
return atk;
}
void mob13init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=71;
xxmob.lik=13;
}
int mob13(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;
if(player.rgzp==0)player.ys++;
else player.rgzp--;
break;
case 1:xxmob.ncz=2;
if(player.rgzp==0)player.ys++;
else player.rgzp--;
atk=(7+xxmob.strg)*2;break;
case 2:xxmob.ncz=3;break;
case 3:xxmob.ncz=1;mbcrt(2);break;
break;
}
xxmob.zuatcal();
return atk;
}
void mob14init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=16;
xxmob.jinj=1;
xxmob.lik=14;
}
int mob14(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;xxmob.jinj++;atk=xxmob.strg+6;break;
case 2:xxmob.ncz=2;atk=xxmob.strg+6;break;
}
xxmob.zuatcal();
return atk;
}
void mob15init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=72;
xxmob.jinj=3;
xxmob.lik=15;
}
int mob15(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=1;
if(mbcnt<=4)mbcrt(14);
else atk=xxmob.strg+12;
break;
}
xxmob.zuatcal();
return atk;
}
void mob16init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=10;
xxmob.bl=1;xxmob.shld=30;
xxmob.lik=16;
}
int mob16(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=1;
for(int i=1;i<=mbcnt;i++){
mmmob[i].strg++;
mmmob[i].shld+=xxmob.deff(7);
}
break;
}
xxmob.zuatcal();
return atk;
}
void mob17init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=49;
xxmob.lik=17;
xxmob.ncz=Rr(3,gjrd)-1;
xxmob.strg=1;
}
int mob17(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;xxmob.strg++;break;
case 1:xxmob.ncz=2;atk=xxmob.strg*6;break;
case 2:xxmob.ncz=0;atk=xxmob.strg*6;break;
}
xxmob.zuatcal();
return atk;
}
void mob18init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=100;
xxmob.lik=18;
xxmob.ncz=Rr(3,gjrd)-1;
}
int mob18(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;atk=20+xxmob.strg;break;
case 1:xxmob.ncz=2;atk=20+xxmob.strg;break;
case 2:xxmob.ncz=0;break;
}
xxmob.zuatcal();
return atk;
}
void mob19init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=120;
xxmob.lik=19;xxmob.fl=1;
}
int mob19(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;break;
case 2:xxmob.ncz=0;uncard[59]+=2;atk=max(8,xxmob.mxheal/4)+xxmob.strg;break;
}
xxmob.zuatcal();
return atk;
}
void mob20init(mob &xxmob){
xxmob.mobinitt(1);
xxmob.heal=xxmob.mxheal=400;
xxmob.lik=20;xxmob.jbkcmx=100;
}
int mob20(mob &xxmob){
xxmob.mobdf();
int atk=0;
switch(xxmob.ncz){
case 0:xxmob.ncz=1;break;
case 1:xxmob.ncz=2;uncard[57]+=2;uncard[58]+=2;uncard[59]+=2;
if(player.rgzp==0)player.yxia--;
else player.rgzp--;
break;
case 2:xxmob.ncz=3;xxmob.strg++;atk=xxmob.strg*15;break;
case 3:xxmob.ncz=4;atk=player.heal*2/3+xxmob.strg;break;
case 4:xxmob.ncz=5;
if(player.rgzp==0)player.cur+=2;
else player.rgzp--;
if(player.rgzp==0)player.xur+=2;
else player.rgzp--;
if(player.rgzp==0)player.ys+=2;
else player.rgzp--;
if(player.rgzp==0)player.mje-=1;
else player.rgzp--;
if(player.rgzp==0)player.strg-=1;
else player.rgzp--;
if(player.rgzp==0)player.xhhcp-=1;
else player.rgzp--;
break;
case 5:xxmob.ncz=2;
if(player.rgzp==0)player.yxia--;
else player.rgzp--;
break;
}
xxmob.zuatcal();
return atk;
}
int mobchs(mob &mobb){
switch(mobb.lik){
case 1:return mobb.atk=mob1(mobb);
case 2:return mobb.atk=mob2(mobb);
case 3:return mobb.atk=mob3(mobb);
case 4:return mobb.atk=mob4(mobb);
case 5:return mobb.atk=mob5(mobb);
case 6:return mobb.atk=mob6(mobb);
case 7:return mobb.atk=mob7(mobb);
case 8:return mobb.atk=mob8(mobb);
case 9:return mobb.atk=mob9(mobb);
case 10:return mobb.atk=mob10(mobb);
case 11:return mobb.atk=mob11(mobb);
case 12:return mobb.atk=mob12(mobb);
case 13:return mobb.atk=mob13(mobb);
case 14:return mobb.atk=mob14(mobb);
case 15:return mobb.atk=mob15(mobb);
case 16:return mobb.atk=mob16(mobb);
case 17:return mobb.atk=mob17(mobb);
case 18:return mobb.atk=mob18(mobb);
case 19:return mobb.atk=mob19(mobb);
case 20:return mobb.atk=mob20(mobb);
default:break;
}
return 0;
}
void mobinit(mob &mobb){
switch(mobb.lik){
case 1:mob1init(mobb);break;
case 2:mob2init(mobb);break;
case 3:mob3init(mobb);break;
case 4:mob4init(mobb);break;
case 5:mob5init(mobb);break;
case 6:mob6init(mobb);break;
case 7:mob7init(mobb);break;
case 8:mob8init(mobb);break;
case 9:mob9init(mobb);break;
case 10:mob10init(mobb);break;
case 11:mob11init(mobb);break;
case 12:mob12init(mobb);break;
case 13:mob13init(mobb);break;
case 14:mob14init(mobb);break;
case 15:mob15init(mobb);break;
case 16:mob16init(mobb);break;
case 17:mob17init(mobb);break;
case 18:mob18init(mobb);break;
case 19:mob19init(mobb);break;
case 20:mob20init(mobb);break;
default:break;
}
return;
}
void diucard(){
clshs();
printf("请选择一张牌丢弃\n");
for(int i=1;i<maxncard;i++){
if(hdcard[i]>0){
printf("%d:",i);
cout<<name[i];
printf(" %d张\n",hdcard[i]);
}
}
while(1){
bool nopi=0;
for(int i=1;i<maxncard;i++){
if(hdcard[i]>0)nopi=1;
}
if(!nopi)break;
int trwcd;
trwcd=imputs();
if(hdcard[trwcd]>=1){
switch(trwcd){
case 37:nowpow+=1;break;
case 38:nowpow+=2;break;
case 39:choucard();choucard();break;
case 40:choucard();choucard();choucard();break;
}
hdcard[trwcd]--;
uscard[trwcd]++;
break;
}
printf("请重新选择\n");
}
}
void atkcal(int pai,mob &xxmob){
hdcard[pai]--;
if(!ifdis[pai])uscard[pai]++;
nowpow-=max(cost[pai],0);
int atkkk=atk[pai]+player.strg;
if(def[pai]!=0)player.shld+=player.deff(def[pai])*tmsc[pai];
player.shld+=player.yxia;
if(pai==6||pai==17)atkkk+=player.jjun;
if(player.xur>0)atkkk=atkkk*4/5;
if(xxmob.ys>0)atkkk=atkkk*3/2;
if(xxmob.yhuxt>0)atkkk=min(1,atkkk);
int tmscc=tmsc[pai];
if(tmsc[pai]==-1){
tmscc=nowpow;
}
if(needd[pai]==1){
if(paix[pai]==0){
int zhhsh=atkkk*tmscc-xxmob.shld;
xxmob.shld=max(-zhhsh,0);
if(zhhsh>=0&&xxmob.jbkcmx>0)zhhsh=min(zhhsh,xxmob.jbkc);
zhhsh=max(zhhsh,0);
xxmob.heal-=zhhsh;
if(xxmob.jbkcmx>0)xxmob.jbkc=max(xxmob.jbkc-zhhsh,0);
if(player.yhuxt==0)player.shld-=xxmob.jinj*tmscc;
else player.shld-=min(xxmob.jinj,tmscc);
if(player.shld<0)player.heal+=player.shld,player.shld=0;
}
}
if(needd[pai]==2){
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0){
if(paix[pai]==0){
int zhhsh=atkkk*tmscc-mmmob[i].shld;
mmmob[i].shld=max(-zhhsh,0);
if(zhhsh>=0&&mmmob[i].jbkcmx>0)zhhsh=min(zhhsh,mmmob[i].jbkc);
zhhsh=max(zhhsh,0);
mmmob[i].heal-=zhhsh;
if(mmmob[i].jbkcmx>0)mmmob[i].jbkc=max(mmmob[i].jbkc-zhhsh,0);
if(player.yhuxt==0)player.shld-=mmmob[i].jinj*tmscc;
else player.shld-=min(mmmob[i].jinj,tmscc);
if(player.shld<0)player.heal+=player.shld,player.shld=0;
}
}
}
}
switch(pai){
case 3:diucard();break;
case 4:
if(xxmob.rgzp==0)xxmob.xur+=1;
else xxmob.rgzp--;
break;
case 5:hdcard[6]+=3;break;
case 10:
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].rgzp==0)mmmob[i].xur+=2;
else mmmob[i].rgzp--;
}
break;
case 11:
if(xxmob.rgzp==0)xxmob.ys+=99;
else xxmob.rgzp--;
break;
case 14:diucard();break;
case 15:
if(xxmob.rgzp==0)xxmob.xur+=2;
else xxmob.rgzp--;
break;
case 16:hdcard[6]+=4;break;
case 21:
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].rgzp==0)mmmob[i].xur+=3;
else mmmob[i].rgzp--;
}
break;
case 22:
if(xxmob.rgzp==0)xxmob.ys+=99;
else xxmob.rgzp--;
break;
case 23:choucard();choucard();break;
case 24:choucard();choucard();break;
case 25:nowpow+=1;choucard();choucard();break;
case 26:nowpow+=2;choucard();choucard();break;
case 27:choucard();choucard();choucard();diucard();break;
case 28:choucard();choucard();choucard();choucard();diucard();break;
case 29:if(xxmob.rgzp==0)xxmob.zdu+=5;
else xxmob.rgzp--;
break;
case 30:if(xxmob.rgzp==0)xxmob.zdu+=7;
else xxmob.rgzp--;
break;
case 31:if(xxmob.rgzp==0)xxmob.zdu+=3;
else xxmob.rgzp--;
break;
case 32:if(xxmob.rgzp==0)xxmob.zdu+=4;
else xxmob.rgzp--;
break;
case 33:xxmob.zdu*=2;break;
case 34:xxmob.zdu*=3;break;
case 35:choucard();diucard();break;
case 36:choucard();choucard();diucard();diucard();break;
case 43:choucard();diucard();break;
case 44:choucard();diucard();break;
case 45:hdcard[6]+=1;break;
case 46:hdcard[6]+=2;break;
case 47:if(xxmob.rgzp==0)xxmob.xur+=1;
else xxmob.rgzp--;break;
case 48:if(xxmob.rgzp==0)xxmob.xur+=2;
else xxmob.rgzp--;break;
case 49:player.jjun+=4;break;
case 50:player.jjun+=6;break;
case 51:player.mje+=2;break;
case 52:player.mje+=3;break;
case 53:player.yhuxt+=2;
if(player.rgzp==0)player.mjead--;
else player.rgzp--;break;
case 54:player.yhuxt+=3;
if(player.rgzp==0)player.mjead--;
else player.rgzp--;break;
case 55:player.yxia++;break;
case 56:player.yxia++;break;
case 63:choucard();break;
case 64:choucard();choucard();break;
case 65:
for(int i=1;i<maxncard;i++){
if(paix[i]!=0){
player.shld+=hdcard[i]*player.deff(5);hdcard[i]=0;
}
}
break;
case 66:
for(int i=1;i<maxncard;i++){
if(paix[i]!=0){
player.shld+=hdcard[i]*player.deff(7);hdcard[i]=0;
}
}
break;
case 67:hdcard[58]+=2;break;
case 68:hdcard[58]+=2;break;
case 69:player.bl=1;break;
case 70:player.bl=1;break;
case 71:player.shld=max(player.shld*2,0);break;
case 72:player.shld=max(player.shld*2,0);break;
case 73:
if(xxmob.heal>0){
int zhhsh=player.shld-xxmob.shld;
xxmob.shld=max(-zhhsh,0);
if(zhhsh>=0&&xxmob.jbkcmx>0)zhhsh=min(zhhsh,xxmob.jbkc);
zhhsh=max(zhhsh,0);
xxmob.heal-=zhhsh;
if(xxmob.jbkcmx>0)xxmob.jbkc=max(xxmob.jbkc-zhhsh,0);
if(player.yhuxt==0)player.shld-=xxmob.jinj*tmscc;
else player.shld-=min(xxmob.jinj,tmscc);
if(player.shld<0)player.heal+=player.shld,player.shld=0;
}
break;
case 74:
if(xxmob.heal>0){
int zhhsh=player.shld-xxmob.shld;
xxmob.shld=max(-zhhsh,0);
if(zhhsh>=0&&xxmob.jbkcmx>0)zhhsh=min(zhhsh,xxmob.jbkc);
zhhsh=max(zhhsh,0);
xxmob.heal-=zhhsh;
if(xxmob.jbkcmx>0)xxmob.jbkc=max(xxmob.jbkc-zhhsh,0);
if(player.yhuxt==0)player.shld-=xxmob.jinj*tmscc;
else player.shld-=min(xxmob.jinj,tmscc);
if(player.shld<0)player.heal+=player.shld,player.shld=0;
}
break;
case 75:
if(xxmob.rgzp==0)xxmob.ys+=2;
else xxmob.rgzp--;
break;
case 76:
if(xxmob.rgzp==0)xxmob.ys+=3;
else xxmob.rgzp--;
break;
case 77:player.heal-=6;nowpow+=2;choucard();choucard();choucard();break;
case 78:player.heal-=6;nowpow+=2;choucard();choucard();choucard();choucard();choucard();break;
case 79:player.strg+=2;break;
case 80:player.strg+=3;break;
case 81:player.strg=max(player.strg*2,player.strg);break;
case 82:player.strg=max(player.strg*2,player.strg);break;
case 91:uncard[57]++;break;
case 92:uncard[57]++;break;
case 97:
if(xxmob.rgzp==0)xxmob.xur+=2;
else xxmob.rgzp--;
break;
case 98:
if(xxmob.rgzp==0)xxmob.xur+=3;
else xxmob.rgzp--;
break;
case 99:
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].rgzp==0)mmmob[i].ys++;
else mmmob[i].rgzp--;
}
break;
case 100:
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].rgzp==0)mmmob[i].ys++;
else mmmob[i].rgzp--;
}
break;
case 101:player.strg+=nowpow;break;
case 102:player.strg+=(nowpow+1);break;
case 103:
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal<=0)continue;
int tsmbh=Rr(7,xlrd)-1;
mmmob[i].heal+=tsmbh;mmmob[i].mxheal+=tsmbh;
mmmob[i].ys++;mmmob[i].strg++;mmmob[i].shld/=3;
}
player.strg++;player.xur++;
break;
case 104:
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal<=0)continue;
int tsmbh=Rr(5,xlrd)-1;
mmmob[i].heal+=tsmbh;mmmob[i].mxheal+=tsmbh;
mmmob[i].ys+=2;mmmob[i].strg++;mmmob[i].shld=0;
}
player.strg+=2;player.xur++;
break;
case 105:cfzd(1,2);break;
case 106:cfzd(1,2);break;
case 107:add(1);break;
case 108:add(1);break;
case 109:add(2);add(2);break;
case 110:add(2);add(2);break;
case 111:add(2);choucard();break;
case 112:add(2);choucard();choucard();break;
case 113:player.chcs+=2;player.chcs=min(player.mxcs,player.chcs);break;
case 114:player.chcs+=3;player.chcs=min(player.mxcs,player.chcs);break;
case 115:add(4);break;
case 116:add(4);break;
case 117:add(3);break;
case 118:add(3);break;
case 119:player.rgzp++;break;
case 120:player.rgzp++;break;
case 121:player.focus+=1;break;
case 122:player.focus+=2;break;
case 123:player.focus+=4;
if(player.rgzp==0)player.fcsu--;
else player.rgzp--;
break;
case 124:player.focus+=5;
if(player.rgzp==0)player.fcsu--;
else player.rgzp--;
break;
case 125:add(1);add(2);add(3);break;
case 126:add(1);add(2);add(3);break;
case 127:
for(int i=1;i<=mbcnt;i++){
int dmgic=player.icgs*2;
if(mmmob[i].heal>0){
int zhhsh=dmgic-mmmob[i].shld;
mmmob[i].shld=max(-zhhsh,0);
if(zhhsh>=0&&mmmob[i].jbkcmx>0)zhhsh=min(zhhsh,mmmob[i].jbkc);
zhhsh=max(zhhsh,0);
mmmob[i].heal-=zhhsh;
if(mmmob[i].jbkcmx>0)mmmob[i].jbkc=max(mmmob[i].jbkc-zhhsh,0);
if(player.yhuxt==0)player.shld-=mmmob[i].jinj*tmscc;
else player.shld-=min(mmmob[i].jinj,tmscc);
if(player.shld<0)player.heal+=player.shld,player.shld=0;
}
}
break;
case 128:
for(int i=1;i<=mbcnt;i++){
int dmgic2=player.icgs*3;
if(mmmob[i].heal>0){
int zhhsh=dmgic2-mmmob[i].shld;
mmmob[i].shld=max(-zhhsh,0);
if(zhhsh>=0&&mmmob[i].jbkcmx>0)zhhsh=min(zhhsh,mmmob[i].jbkc);
zhhsh=max(zhhsh,0);
mmmob[i].heal-=zhhsh;
if(mmmob[i].jbkcmx>0)mmmob[i].jbkc=max(mmmob[i].jbkc-zhhsh,0);
if(player.yhuxt==0)player.shld-=mmmob[i].jinj*tmscc;
else player.shld-=min(mmmob[i].jinj,tmscc);
if(player.shld<0)player.heal+=player.shld,player.shld=0;
}
}
break;
case 129:add(1);add(1);player.ddlx=1;break;
case 130:add(1);add(1);add(1);player.ddlx=1;break;
}
if(tmsc[pai]==-1){
nowpow=0;
}
return;
}
void checkun(){
bool flag=0;
for(int i=1;i<maxncard;i++){
if(uncard[i]>0){
flag=1;
break;
}
}
if(!flag){
for(int i=1;i<maxncard;i++){
uncard[i]=uscard[i];
uscard[i]=0;
}
}
return;
}
int selcard(){
int sumcard=0;
for(int i=1;i<maxncard;i++){
sumcard+=uncard[i];
}
if(sumcard==0)return 0;
int Rrcard=Rr(sumcard,cprd);
for(int i=1;i<maxncard;i++){
Rrcard-=uncard[i];
if(Rrcard<=0)return i;
}
}
void choucard(){
checkun();
int nxcard=selcard();
hdcard[nxcard]++;
uncard[nxcard]--;
}
void getcard(){
int fgbc=0;
for(int i=1;i<maxncard;i++){
if(dycc[i]){
while(uncard[i]>0){
fgbc++;
uncard[i]--;
hdcard[i]++;
}
}
}
for(int i=1;i<=5-fgbc+player.xhhcp;i++){
choucard();
}
return;
}
void clearcard(){
for(int i=1;i<maxncard;i++){
if(!xuw[i]){
uscard[i]+=hdcard[i];hdcard[i]=0;
}
else{
hdcard[i]=0;
}
}
}
void playerchoose(){
nowpow=3;
for(int i=1;i<=player.chcs;i++){
if(player.bal[i]==4)nowpow++;
}
while(checkmh()){
clshs();
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].xur>0&&!mmmob[i].sfxr){
mmmob[i].atk=mmmob[i].atk*4/5;
mmmob[i].sfxr=1;
}
if(player.ys>0&&!mmmob[i].sfys){
mmmob[i].atk=mmmob[i].atk*3/2;
mmmob[i].sfys=1;
}
}
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0){
mmmob[i].mobshuo(i,mmmob[i].lik);
}
}
printf("你有:\n");
for(int i=1;i<maxncard;i++){
if(hdcard[i]>0){
cout<<i<<" "<<name[i]<<" "<<hdcard[i]<<"个 费用:";
if(cost[i]>=0)cout<<cost[i]<<endl;
if(cost[i]==-1)cout<<"X"<<endl;
}
}
printf("费用:%d\n",nowpow);
player.mobshuo(0,0);
printf("请选择卡牌与攻击目标:(0表示结束回合,-1查看卡牌功能)\n") ;
int plchoose,atkmobb=0;
plchoose=imputs();
if(plchoose==0)break;
if(plchoose==-1){
player.jieshao();continue;
}
if(!nfdc[plchoose])continue;
if(needd[plchoose]==1){
atkmobb=imputs();
if(mmmob[atkmobb].heal<=0)continue;
}
if(hdcard[plchoose]==0||nowpow<cost[plchoose])continue;
atkcal(plchoose,mmmob[atkmobb]);
}
clearcard();
return;
}
bool checkmh(){
bool chflg=0;
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0)chflg=1;
}
return chflg;
}
void cardinit(){
for(int i=1;i<maxncard;i++){
hdcard[i]=uscard[i]=0;
uncard[i]=tcard[i];
}
defmob.heal=1;
}
void mobchoose(){
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal>0)mobchs(mmmob[i]);
}
return;
}
int chosejl(){
int sumgailv=0;
for(int i=1;i<maxncard;i++){
if((nwjs==jsp[i])||(jsp[i]==0)||nwjs>maxjs)sumgailv+=gailv[i];
}
int xdjgp=Rr(sumgailv,hdkprd);
for(int i=1;i<maxncard;i++){
if((nwjs==jsp[i])||(jsp[i]==0)||nwjs>maxjs){
if(gailv[i]>=xdjgp){
return i;
}
xdjgp-=gailv[i];
}
}
return 60;
}
void giveplayercard(){
clshs();
if(nowju>=cenda*maxcen)return;
printf("你获胜了\n选一张牌(0表示不要)\n");
for(int i=1;i<maxncard;i++) chocard[i]=0;
int chocnt=0;
while(chocnt<3){
int Rrr=chosejl();
if(!chocard[Rrr]){
chocnt++;
chocard[Rrr]=1;
ccd[chocnt]=Rrr;
}
}
for(int i=1;i<=3;i++){
printf("%d ",i);
cout<<name[ccd[i]];
printf(" 费用:");
if(cost[ccd[i]]==-1)printf("X");
else printf("%d",cost[ccd[i]]);
puts("");
}
int chocc;
chocc=imputs();
if(chocc==0){
return;
}
tcard[ccd[chocc]]++;
return;
}
void mobattk(){
for(int i=1;i<=mbcnt;i++){
if(mmmob[i].heal-mmmob[i].zdu>0){
if(mmmob[i].fl>0&&mmmob[i].heal<=mmmob[i].mxheal/2)mmmob[i].atk=0;
if(player.yhuxt==0)player.shld-=mmmob[i].atk;
else player.shld-=min(mmmob[i].atk,1);
if(mmmob[i].atk>0)mmmob[i].shld-=player.jinj;
if(mmmob[i].shld<0)mmmob[i].heal+=mmmob[i].shld;
}
}
if(player.shld<0)player.heal+=player.shld;
return;
}
void deletecard(){
clshs();
for(int i=1;i<maxncard;i++){
if(tcard[i]>0&&kysc[i]==0){
printf("%d ",i);
cout<<name[i];
printf(" %d张\n",tcard[i]);
}
}
printf("选择一张牌删除(0表示不删)\n");
int delcar;
delcar=imputs();
if(delcar==0||kysc[delcar]==1){
return;
}
tcard[delcar]=max(0,tcard[delcar]-1);
return;
}
void shop(){
for(int i=1;i<maxncard;i++)chocard[i]=0;
int ctwc=0,spcp=5;
while(ctwc<spcp){
int zcxz=chosejl();
if(chocard[zcxz]==0){
chocard[zcxz]++;
ctwc++;
ccd[ctwc]=zcxz;
}
}
bool sfsp=0;
while(1){
clshs();printf("欢迎光临\n");
for(int i=1;i<=spcp;i++){
if(chocard[ccd[i]]>0){
cout<<i<<" "<<name[ccd[i]]<<" 价格:"<<gcst[ccd[i]]<<endl;
}
}
if(!sfsp){
if(!sfsp){
cout<<spcp+1<<" 删牌 价格:"<<nwspct<<endl;
}
}
printf("你选择?(0表示离开)\n");
int plchsp=0;plchsp=imputs();
if(plchsp<=0||plchsp>spcp+1)return;
if(plchsp<=spcp&&chocard[ccd[plchsp]]<=0)continue;
if(plchsp<=spcp){
if(player.goldb<gcst[ccd[plchsp]])continue;
player.goldb-=gcst[ccd[plchsp]];
tcard[ccd[plchsp]]++;
chocard[ccd[plchsp]]=0;
}
if(plchsp>spcp){
if(player.goldb<nwspct)continue;
player.goldb-=nwspct;
nwspct+=25;sfsp=1;
deletecard();
}
}
}
int rdrom(){
int sumrm=0;
for(int i=1;i<=maxnrom;i++){
sumrm+=romrdgl[i];
}
int chrdrm=Rr(sumrm,fjrd);
for(int i=1;i<=maxnrom;i++){
if(chrdrm<=romrdgl[i]){
return i;
}
chrdrm-=romrdgl[i];
}
return 0;
}
void ctmob(){
int cens=(nowju-1)/cenda+1;
int cenz=(nowju-1)%cenda+1;
mbcnt=0;
if(cens==1&&cenz<cenda){
int mbzl=Rr(11,gwrd);
switch(mbzl){
case 1:mbcrt(1);break;
case 2:mbcrt(3);mbcrt(2);break;
case 3:mbcrt(4);break;
case 4:mbcrt(5);mbcrt(6);mbcrt(7);break;
case 5:mbcrt(8);break;
case 6:mbcrt(8);mbcrt(2);break;
case 7:mbcrt(9);break;
case 8:mbcrt(11);break;
case 9:mbcrt(12);break;
case 10:mbcrt(17);break;
case 11:mbcrt(10);break;
}
}
if(cens==1&&cenz==cenda){
int mbzl=Rr(2,gwrd);
switch(mbzl){
case 1:mbcrt(10);mbcrt(16);break;
case 2:mbcrth(19,140);break;
}
}
if(cens==2&&cenz<cenda){
int mbzl=Rr(7,gwrd);
switch(mbzl){
case 1:mbcrt(8);mbcrt(4);break;
case 2:mbcrt(8);mbcrt(4);mbcrt(2);break;
case 3:mbcrt(8);mbcrt(5);break;
case 4:mbcrt(10);mbcrt(2);mbcrt(2);break;
case 5:mbcrt(15);break;
case 6:mbcrt(17);mbcrt(17);break;
case 7:mbcrt(13);break;
}
}
if(cens==2&&cenz==cenda){
int mbzl=Rr(1,gwrd);
switch(mbzl){
case 1:mbcrt(13);mbcrt(13);break;
}
}
if(cens>2&&cenz<cenda&&cens<=maxcen){
int mbzl=Rr(8,gwrd);
switch(mbzl){
case 1:mbcrt(18);break;
case 2:mbcrt(11);mbcrt(10);break;
case 3:mbcrt(12);mbcrt(2);break;
case 4:mbcrt(10);mbcrt(9);mbcrt(16);break;
case 5:mbcrt(15);mbcrt(16);break;
case 6:mbcrt(10);mbcrt(16);break;
case 7:mbcrt(17);mbcrt(17);mbcrt(17);break;
case 8:mbcrt(19);break;
}
}
if(cens>2&&cenz==cenda&&cens<=maxcen){
int mbzl=Rr(2,gwrd);
switch(mbzl){
case 1:mbcrt(18);mbcrt(15);break;
case 2:mbcrt(10);mbcrt(13);mbcrt(16);break;
}
}
if(cens>maxcen){
int mbzl=Rr(2,gwrd);
switch(mbzl){
case 1:mbcrth(19,152);mbcrth(19,142);break;
case 2:mbcrt(20);break;
}
}
return;
}
bool zdrom(){
ctmob();
player.mobinitt(0);
while(checkmh()){
getcard();
player.mobdf();
mobchoose();
playerchoose();
player.edhh();
mobattk();
player.zuatcal();
if(player.heal<=0){
printf("你输了\n");
return 0;
}
}
int tzmg=0;
for(int i=1;i<=mbcnt;i++){
tzmg=max(mmmob[i].goldb,tzmg);
}
player.goldb+=tzmg;
giveplayercard();
if(nowju%cenda==0)player.heal=maxheal;
return 1;
}
void plcardd(){
clshs();
printf("选择升级的卡片(0表示不升)\n");
for(int i=1;i<maxncard;i++){
if(!ifpl[i]&&tcard[i]>0){
printf("%d:",i);
cout<<name[i]<<endl;
}
}
int chosepc;
chosepc=imputs();
if(chosepc==0)return;
if(!ifpl[chosepc]&&tcard[chosepc]>0){
tcard[chosepc]--;
tcard[ydpcd[chosepc]]++;
}
return;
}
void pluscard(){
clshs();
printf("请选择:\n1,休息\n2,锻造\n");
int playercos;
playercos=imputs();
if(playercos==1){
player.heal+=maxheal*30/100;
}
if(playercos==2){
plcardd();
}
return;
}
void jije(){
printf("是否进阶?\n1,是\n2,否\n");
int plxjj;
plxjj=imputs();
if(plxjj!=1)return;
nwjs++;
switch(nwjs){
case 2:tcard[1]=max(0,tcard[1]-1);tcard[2]=max(0,tcard[2]-1);tcard[75]++;
yiwu[1]--;yiwu[2]++;
break;
case 3:yiwu[2]--;yiwu[3]++;break;
case 4:tcard[60]++;yiwu[1]++;yiwu[2]++;break;
}
nwjs=min(nwjs,maxjs+1);
return;
}
void que1(){//删除一张牌
clshs();
printf("你决定:\n1,失去7点生命,删除一张牌\n2,离开\n");
int plcss;
plcss=imputs();
if(plcss==1){
player.heal-=7;
deletecard();
}
}
void que2(){
clshs();
printf("前面出现了一道光(IN12),你决定:\n");
printf("1,失去5点生命,获得一张随机牌\n");
printf("2,离开\n");
int plcss=imputs();
if(plcss==1){
player.heal-=5;
int jlp=chosejl();tcard[jlp]++;
printf("你获得了 ");cout<<name[jlp]<<endl;
Sleep(2000);
}
}
void que3(){
clshs();
printf("欢迎来到地精的游戏,你准备好了吗?\n");Sleep(1500);
printf("就当你准备好了吧\n");Sleep(1500);
printf("来吧\n");Sleep(1500);
int xxmax=6;
int xxpls=Rr(xxmax,whrd);
int jlppp;
switch(xxpls){
case 1:player.heal-=5;printf("砍你一刀\n");break;
case 2:deletecard();printf("删一张牌\n");break;
case 3:jlppp=chosejl();tcard[jlppp]++;printf("塞一张牌\n");break;
case 4:player.heal=maxheal;printf("回血\n");break;
case 5:deletecard();jlppp=chosejl();tcard[jlppp]++;printf("改变一张牌\n");break;
case 6:player.goldb+=100;printf("给金币\n");break;
}
Sleep(1000);
clshs();
printf("地精消失了\n");Sleep(2000);
}
void que4(){
printf("请选择:\n1,失去6点生命,升级一张牌\n2,失去6点生命,随机升级两张牌\n3,离开\n");
int plcss=imputs();
switch(plcss){
case 1:player.heal-=6;plcardd();break;
case 2:player.heal-=6;int ctsj=0;
while(ctsj<2){
int rrsj=Rr(maxncard-1,whrd);
if(tcard[rrsj]>0&&!ifpl[rrsj]){
tcard[ydpcd[rrsj]]++;
tcard[rrsj]--;
ctsj++;
printf("你升级了 ");cout<<name[rrsj]<<endl;
}
bool sfkysj=0;
for(int i=1;i<maxncard;i++){
if(tcard[i]>0&&!ifpl[i])sfkysj=1;
}
if(!sfkysj)break;
}
break;
}
}
bool ques(){
int maxwh=5;
int nww=Rr(maxwh,whrd);
switch(nww){
case 1:que1();break;
case 2:que2();break;
case 3:zdrom();break;
case 4:que3();break;
case 5:que4();break;
}
if(player.heal<=0)return 0;
return 1;
}
bool player_room(){
clshs();
if(nowju>cenda*maxcen&&nwjs<=maxjs){
printf("你赢了?");
Sleep(5000);
return 0;
}
if(nowju>cenda*maxcen+1){
printf("你赢了!");
Sleep(5000);
return 0;
}
cdbc();
int csrom=Rr(2,fjrd);
int rroom=rdrom(),rroom2=rdrom();
if(nowju%cenda==cenda-1)rroom=3,csrom=1;
if(nowju%cenda==0)rroom=1,csrom=1;
if(nowju%cenda==1)rroom=1,csrom=1;
int romcs[maxnrom+1];
for(int i=1;i<=maxnrom;i++){
romcs[i]=0;
}
romcs[rroom]++;
if(csrom==2)romcs[rroom2]++;
if(nwjs==maxjs+1&&romcs[4]>0){
romcs[1]+=romcs[4];romcs[4]=0;
}
if(cenda*maxcen-nowju-1<=maxjs+1-nwjs&&nowju<=cenda*maxcen-2){
for(int i=1;i<=maxnrom;i++)romcs[i]=0;
romcs[4]=1;
}
printf("请选择;\n");
for(int i=1;i<=maxnrom;i++){
if(romcs[i]>0){
switch(i){
case 1:printf("1,战斗\n");break;
case 2:printf("2,商店\n");break;
case 3:printf("3,火堆\n");break;
case 4:printf("4,进阶\n");break;
case 5:printf("5,问号\n");break;
}
}
}
int proom;
while(1){
proom=imputs();
if(romcs[proom]>0)break;
printf("请重新选择\n");
}
switch(proom){
case 1:return zdrom();break;
case 2:shop();return 1;break;
case 3:pluscard();return 1;break;
case 4:jije();return 1;break;
case 5:return ques();break;
}
}
int main(){
srand(time(NULL));
printf("请选择:\n1,删除存档\n2,使用存档\n");
int plcsc=imputs();
if(plcsc==2){
freopen("slay.txt","r",stdin);
nowju=imputs();player.heal=imputs();maxheal=imputs();nwjs=imputs();
nwspct=imputs();player.goldb=imputs();cprd=imputs();hdkprd=imputs();
gwrd=imputs();fjrd=imputs();gjrd=imputs();xlrd=imputs();tiprd=imputs();
gbrd=imputs();whrd=imputs();qfrd=imputs();
for(int i=1;i<maxncard;i++){
tcard[i]=imputs();
}
for(int i=1;i<=ttyw;i++){
yiwu[i]=imputs();
}
fclose(stdin);
freopen("CON","r",stdin);
}
else{
long long plseed;
printf("请输入种子:(负数随机种)\n");
int xseed=rand();
srand(xseed);
plseed=imputs();
if(plseed==1769){
for(int i=1;i<maxncard;i++){
tcard[i]=zuobicard[i];
}
}
if(plseed>=0)srand(plseed);
else plseed=xseed;
printf("种子号:%d\n",plseed);
cprd=hdkprd=gwrd=fjrd=gjrd=whrd=gbrd=xlrd=tiprd=qfrd=plseed;
player.heal=75;player.goldb=99;
system("pause");
}
while(1){
nowju++;
cardinit();
if(!player_room()){
return 0;
}
}
}