氵0xf
前四个直接放个cpp文件里面编译运行
play1
#include<bits/stdc++.h>
using namespace std;
struct player {
long long hp;
long long ap;
long long dp;
};
player peo,boss;
int money=0;
int inp=0;
int qkp=0;
int smz=0;
int main() {
while(1) {
int healthy=0;
int bh=0;
int cnt=0;
srand(time(NULL));
cout<<"欢迎来到究极之战!!!"<<endl;
cout<<"请选择你的英雄:1.圣光骑士 2.黑暗骑士 3.SCP-682 4.幻影刺客 5.大蛇 6.镇天帝 7.翼";
if(money>=4&&inp==0)cout<<endl<<"是否花费4金币购买隐藏人物?是请输入8!";
if(money>=6&&qkp==0&&inp==1)cout<<endl<<"是否花费6金币购买隐藏人物?是请输入9!";
if(money>=10&&qkp==1&&inp==1&&smz==0)cout<<endl<<"是否花费10金币购买隐藏人物?是请输入0"<<endl;
if(inp==1)cout<<endl<<"8.原初仙帝";
if(qkp==1)cout<<"9.乾坤老祖";
if(smz==1)cout<<"0.弑魔者魔眼";
cout<<endl<<"请注意:翼会极其影响游戏体验!"<<endl;
cout<<"你的金钱:"<<money<<endl;
int x;
int y;
cin>>x;
if(x==8&&inp==0&&money>=4) {
money-=4;
inp=1;
cout<<"购买成功!"<<endl;
}
if(x==9&&qkp==0&&inp==1&&money>=6) {
money-=6;
qkp=1;
cout<<"购买成功!"<<endl;
}
if(x==0&&qkp==1&&inp==1&&smz==0&&money>=10) {
money-=10;
smz=1;
cout<<"购买成功!"<<endl;
}
if(x==8&&inp==1) {
cout<<"您选择了原初仙帝"<<endl;
peo.hp=1000000;
peo.ap=10000;
peo.dp=50000;
} else if(x==9&&qkp==1&&inp==1) {
cout<<"您选择了乾坤老祖"<<endl;
peo.hp=500000;
peo.ap=30000;
peo.dp=60000;
} else if(x==0&&qkp==1&&inp==1&&smz==1) {
cout<<"您选择了弑魔者魔眼"<<endl;
peo.hp=100000;
peo.ap=0;
peo.dp=100000;
} else if(x==1) {
cout<<"您选择了圣光骑士"<<endl;
peo.hp=70000;
peo.ap=1000;
peo.dp=1500;
} else if(x==2) {
cout<<"您选择了黑暗骑士"<<endl;
peo.hp=40000;
peo.ap=2500;
peo.dp=250;
} else if(x==3) {
cout<<"您选择了SCP-682"<<endl;
peo.hp=60000;
peo.ap=2000;
peo.dp=1000;
} else if(x==4) {
cout<<"您选择了幻影刺客"<<endl;
peo.hp=15000;
peo.ap=10000;
peo.dp=0;
} else if(x==5) {
cout<<"您选择了大蛇"<<endl;
peo.hp=25000;
peo.ap=3000;
peo.dp=1000;
} else if(x==6) {
cout<<"您选择了镇天帝"<<endl;
peo.hp=100000;
peo.ap=5000;
peo.dp=2500;
} else if(x==7) {
cout<<"您选择了翼"<<endl;
peo.hp=40000;
peo.ap=10000;
peo.dp=5000;
} else if(x==10) {
cout<<"您选择了通天教主"<<endl;
peo.hp=1000000;
peo.ap=123456789;
peo.dp=10000;
} else if(x==1234567890) {
cout<<"您使用了修改器"<<endl;
cout<<"请输入血量:"<<endl;
cin>>peo.hp;
cout<<"请输入攻击:"<<endl;
cin>>peo.ap;
cout<<"请输入防御:"<<endl;
cin>>peo.dp;
}
cout<<"请选择BOSS难度:1 easy 2 normal 3 hard 4 噩梦 5 地狱 6 无限"<<endl;
cin>>y;
if(y==1) {
int zzz=rand()%100;
if(zzz<50) {
cout<<"BOSS:魔化大骑士"<<endl;
boss.hp=100000;
boss.ap=1500;
boss.dp=1000;
} else if(zzz>=50) {
cout<<"BOSS:魔化大法师"<<endl;
boss.hp=50000;
boss.ap=5000;
boss.dp=500;
}
} else if(y==2) {
int zzz=rand()%100;
if(zzz<50) {
cout<<"BOSS:六翼黑暗堕落天使"<<endl;
boss.hp=200000;
boss.ap=2000;
boss.dp=1500;
} else if(zzz>=50) {
cout<<"BOSS:地狱魔王"<<endl;
boss.hp=400000;
boss.ap=3000;
boss.dp=500;
}
} else if(y==3) {
int zzz=rand()%100;
if(zzz<50) {
cout<<"BOSS:十二翼黑暗堕落天使"<<endl;
boss.hp=500000;
boss.ap=3000;
boss.dp=2500;
} else if(zzz>=50) {
cout<<"BOSS:地狱魔帝"<<endl;
boss.hp=600000;
boss.ap=4000;
boss.dp=1500;
}
} else if(y==4) {
int zzz=rand()%100;
if(zzz<50) {
cout<<"BOSS:暗黑路西法"<<endl;
boss.hp=1000000;
boss.ap=5000;
boss.dp=3000;
} else if(zzz>=50) {
cout<<"BOSS:撒旦君主"<<endl;
boss.hp=1500000;
boss.ap=8000;
boss.dp=2500;
}
} else if(y==5) {
int zzz=rand()%100;
if(zzz<50) {
cout<<"BOSS:暗黑上帝"<<endl;
boss.hp=5000000;
boss.ap=10000;
boss.dp=4000;
} else if(zzz>=50) {
cout<<"BOSS:血肉巨山"<<endl;
boss.hp=100000000000;
boss.ap=999;
boss.dp=999;
}
} else if(y==6) {
cout<<"BOSS:无天魔佛"<<endl;
boss.hp=10000000;
boss.ap=50000;
boss.dp=50000;
} else if(y==7) {
cout<<"BOSS:黯天帝二代"<<endl;
boss.hp=10000;
boss.ap=500;
boss.dp=500;
} else {
cout<<"BOSS:远古石人"<<endl;
boss.hp=rand()%100*10000;
boss.ap=rand()%100*1000;
boss.dp=rand()%100*1000;
}
int a;
while(1) {
if(boss.hp<=0&&bh==0&&peo.hp<=0&&healthy==0) {
cout<<"敌人:"<<boss.hp<<endl;
cout<<"player:"<<peo.hp<<endl;
cout<<"DRAW!"<<endl;
system("pause");
break;
} else if(boss.hp<=0&&bh==0) {
cout<<"敌人:"<<boss.hp<<endl;
cout<<"player:"<<peo.hp<<endl;
cout<<"You win"<<endl;
system("pause");
money+=y;
break;
} else if(peo.hp<=0&&healthy==0) {
cout<<"敌人:"<<boss.hp<<endl;
cout<<"player:"<<peo.hp<<endl;
cout<<"You lose"<<endl;
system("pause");
break;
} else if(peo.hp<=0&&healthy>=1) {
cout<<"复活!!!"<<endl;
peo.hp=50000;
healthy--;
}
cout<<"敌人:"<<boss.hp<<endl;
cout<<"player:"<<peo.hp<<endl;
cout<<"生命:"<<healthy<<endl;
cout<<"请选择攻击方式:1.普攻 2.牵制 3.全力";
if(x==8)cout<<"4.自残!";
if(x==1&&cnt==0)cout<<" 4大招:圣光救赎";
if(x==4&&cnt==0)cout<<" 4大招:幻影斩杀";
if(x==2&&cnt==0)cout<<" 4大招:暗黑破坏";
if(x==3&&cnt==0)cout<<" 4大招:复活甲!";
if(x==5&&cnt==0)cout<<" 4大招:阳光普照";
if(x==6&&cnt==0)cout<<" 4必杀:独镇天地";
if(x==8&&cnt==0&&peo.hp<=10000)cout<<"5必杀:重开天地!";
if(x==9&&cnt==0)cout<<" 4必杀:逆转乾坤";
if(x==10&&cnt==0)cout<<" 4.摆下诛仙剑阵"<<" 5.去取六魂幡";
cout<<endl;
cin>>a;
if(a==1) {
int s=rand()%6;
int ss=rand()%4;
boss.hp-=peo.ap*s-boss.dp*ss;
cout<<"你造成了"<< peo.ap*s-boss.dp*ss<<"伤害"<<endl;
if(x==5) {
boss.hp-=peo.ap*s-boss.dp*ss;
cout<<"你造成了"<< peo.ap*s-boss.dp*ss<<"伤害"<<endl;
}
if(x==7) {
int hhh=rand()%1000;
for(int i=0; i<hhh; i++) {
int qqq=rand()%15;
boss.hp-=abs(peo.ap*s*qqq);
cout<<"真.雷火球之术"<<endl;
cout<<"你造成了"<< abs(peo.ap*s*qqq)<<"伤害"<<endl;
}
}
peo.hp-=boss.ap*s-peo.dp*ss;
cout<<"BOSS造成了"<<boss.ap*s-peo.dp*ss<<"伤害"<<endl;
if(x==0) {
boss.hp-=boss.ap*s-peo.dp*ss/2;
cout<<"你反弹造成了"<<boss.ap*s-peo.dp*ss/2<<"伤害"<<endl;
}
} else if(a==2) {
int s=rand()%3;
int ss=rand()%2;
boss.hp-=peo.ap*s-boss.dp*ss;
cout<<"你造成了"<< peo.ap*s-boss.dp*ss<<"伤害"<<endl;
if(x==7) {
int hhh=rand()%1000;
for(int i=0; i<hhh; i++) {
int qqq=rand()%7;
boss.hp-=abs(peo.ap*s*qqq);
cout<<"截天七剑!"<<endl;
cout<<"你造成了"<< abs(peo.ap*s*qqq)<<"伤害"<<endl;
}
}
int ttt=rand()%1000;
if(x==4||x==5)ttt-=100;
if(ttt<500)cout<<"BOSS并没有对你造成伤害"<<endl;
else {
peo.hp-=boss.ap*s-peo.dp*ss;
cout<<"BOSS对你造成了"<<boss.ap*s-peo.dp*ss<<"伤害"<<endl;
if(x==0) {
boss.hp-=boss.ap*s-peo.dp*ss/2;
cout<<"你反弹造成了"<<boss.ap*s-peo.dp*ss/2<<"伤害"<<endl;
}
}
} else if(a==3) {
int p=rand()%10000;
int b=rand()%10000;
cout<<"开始比拼力量!"<<endl;
if(p>b) {
cout<<"你的力量更大!"<<endl;
boss.hp-=peo.ap*10;
cout<<"你造成了"<<peo.ap*10<<"伤害"<<endl;
if(x==7) {
int hhh=rand()%1000;
for(int i=0; i<hhh; i++) {
boss.hp-=peo.ap*10;
cout<<"混元破灭击!"<<endl;
cout<<"你造成了"<<peo.ap*10<<"伤害"<<endl;
}
}
if(x==5) {
boss.hp-=peo.ap*10;
cout<<"你造成了"<<peo.ap*10<<"伤害"<<endl;
}
} else {
cout<<"BOSS的力量更大!"<<endl;
peo.hp-=boss.ap*15*y;
cout<<"BOSS造成了"<<boss.ap*15*y<<"伤害"<<endl;
if(x==0) {
boss.hp-=boss.ap*15*y/2;
cout<<"你反弹造成了"<<boss.ap*15*y/2<<"伤害"<<endl;
}
}
} else if(a==4&&x==4&&cnt==0) {
int yyy=rand()%peo.hp;
cout<<"消耗"<<yyy<<"血量进行斩杀"<<endl;
peo.hp-=yyy;
boss.hp-=yyy*10-boss.dp;
cout<<"敌人血量减少"<<yyy*10-boss.dp<<endl;
cnt=3;
} else if(a==4&&x==1&&cnt==0) {
int yyy=rand()%4;
cout<<"player血量回复:"<<peo.hp*yyy<<endl;
peo.hp+=peo.hp*yyy;
cout<<"BOSS血量减少"<<peo.ap*yyy*2-boss.dp<<endl;
boss.hp-=peo.ap*yyy*2-boss.dp;
cnt=10;
} else if(a==4&&x==2&&cnt==0) {
int yyy=rand()%10;
boss.hp-=peo.ap*yyy*4-boss.dp;
cout<<"BOSS血量减少"<<peo.ap*yyy*4-boss.dp<<endl;
cnt=3;
} else if(a==4&&x==3&&cnt==0) {
healthy++;
cout<<"player生命加一!"<<endl;
cnt=99;
} else if(a==4&&x==5&&cnt==0) {
cout<<"大蛇:让一切归于无吧!"<<endl;
int f1=rand()%1000;
int f2=rand()%10000;
int f3=rand()%100000;
int f4=rand()%1000000;
boss.hp-=f1*3-boss.dp;
cout<<"BOSS血量减少"<<f1*3-boss.dp<<endl;
boss.hp-=f1*3+f2*4-boss.dp;
cout<<"BOSS血量减少"<<f1*3+f2*4-boss.dp<<endl;
boss.hp-=f1*3+f2*4+f3*5-boss.dp;
cout<<"BOSS血量减少"<<f1*3+f2*4+f3*5-boss.dp<<endl;
boss.hp-=f1*3+f2*4+f3*5+f4*6-boss.dp;
cout<<"BOSS血量减少"<<f1*3+f2*4+f3*5+f4*6-boss.dp<<endl;
cnt=9;
} else if(a==4&&x==6&&cnt==0) {
peo.hp-=peo.hp*0.1;
cout<<"消耗"<<peo.hp*0.1<<"血量运行禁术!!!"<<endl;
if(peo.hp<30000) {
cout<<"血量太低了!运转时没有做够血量支撑!"<<endl;
cout<<"you lose"<<endl;
system("pause");
break;
}
int ppp=rand()%5;
if(ppp==0) {
int yyy=rand()%peo.hp;
cout<<"消耗"<<yyy<<"血量进行斩杀"<<endl;
peo.hp-=yyy;
boss.hp-=yyy*3-boss.dp;
cout<<"敌人血量减少"<<yyy*3-boss.dp<<endl;
} else if(ppp==1) {
int yyy=rand()%4;
cout<<"player血量回复:"<<peo.hp*yyy<<endl;
peo.hp+=peo.hp*yyy;
cout<<"BOSS血量减少"<<peo.ap*yyy*2-boss.dp<<endl;
boss.hp-=peo.ap*yyy*2-boss.dp;
} else if(ppp==2) {
int yyy=rand()%10;
boss.hp-=peo.ap*yyy*4-boss.dp;
cout<<"BOSS血量减少"<<peo.ap*yyy*4-boss.dp<<endl;
} else if(ppp==3) {
healthy++;
cout<<"player生命加一!"<<endl;
} else if(ppp==4) {
int f1=rand()%1000;
int f2=rand()%10000;
int f3=rand()%100000;
int f4=rand()%1000000;
boss.hp-=f1*2-boss.dp;
cout<<"BOSS血量减少"<<f1*2-boss.dp<<endl;
boss.hp-=f1*2+f2*3-boss.dp;
cout<<"BOSS血量减少"<<f1*2+f2*3-boss.dp<<endl;
boss.hp-=f1*2+f2*3+f3*4-boss.dp;
cout<<"BOSS血量减少"<<f1*2+f2*3+f3*4-boss.dp<<endl;
boss.hp-=f1*2+f2*3+f3*4+f4*5-boss.dp;
cout<<"BOSS血量减少"<<f1*2+f2*3+f3*4+f4*5-boss.dp<<endl;
} else if(ppp==5) {
cout<<"运转失败!!!"<<endl;
peo.hp-=10000;
cout<<"player生命减少"<<10000<<endl;
}
} else if(a==4&&x==8) {
peo.hp-=990000;
cout<<"player血量减少990000"<<endl;
} else if(a==5&&x==8&&cnt==0&&peo.hp<=10000) {
cout<<"败了又如何?赢了又如何?大不了重开天地,再立地火水风再来一遭!"<<endl;
peo.ap+=99999999;
cout<<"player攻击增加99999999"<<endl;
cnt=100;
} else if(a==4&&x==9) {
cout<<"看我逆转乾坤!"<<endl;
int rrr=rand()%1000;
if(rrr<300) {
long long t=peo.hp;
peo.hp=boss.hp;
boss.hp=t;
cout<<"交换血量!"<<endl;
}
if(rrr>=300&&rrr<=700) {
long long t=peo.ap;
peo.ap=boss.ap;
boss.ap=t;
cout<<"交换攻击!"<<endl;
}
if(rrr>700) {
long long t=peo.dp;
peo.dp=boss.dp;
boss.dp=t;
cout<<"交换防御!"<<endl;
}
cnt=5;
} else if(x==10&&a==4&&cnt==0) {
cout<<"非铜非铁亦非钢,曾在须弭山下藏;不用阴阳颠倒炼,岂无水火淬锋芒?"<<endl;
cout<<"诛仙利"<<endl;
boss.hp-=peo.ap*100;
cout<<"BOSS血量减少"<<peo.ap*100<<endl;
cout<<"戮仙亡"<<endl;
int uuu=rand()%10;
if(uuu==5) {
boss.hp-=boss.hp*0.999;
cout<<"BOSS血量减少"<<boss.hp*0.999<<endl;
} else {
boss.hp-=peo.ap*50;
cout<<"BOSS血量减少"<<peo.ap*50<<endl;
}
cout<<"陷仙四处起红光"<<endl;
int fff=rand()%100;
if(cnt>=fff)cnt-=fff;
else cnt=0;
cout<<"技能CD减少"<<fff<<endl;
cout<<"绝仙变化无穷妙"<<endl;
boss.ap-=boss.ap*0.5;
boss.dp-=boss.dp*0.5;
cout<<"BOSS攻击减少"<<boss.ap*0.5<<endl;
cout<<"BOSS防御减少"<<boss.dp*0.5<<endl;
int mmm=rand()%1000;
if(mmm%100==0) {
cout<<"大罗神仙血染裳!!!"<<endl;
cout<<"大罗神仙血染裳!!!"<<endl;
cout<<"大罗神仙血染裳!!!"<<endl;
cout<<"You win!!!"<<endl;
return 0;
}
cnt=150;
} else if(x==10&&a==5&&cnt==0) {
cout<<"只见那通天教主喊道:长耳定光仙,取我六魂幡来!"<<endl;
if(peo.hp<boss.hp) {
cout<<"那长耳定光仙见通天教主落了下风,对方看上去又法力无边,心生恐惧,将六魂幡交给了BOSS"<<endl;
cout<<"只见那BOSS微微一笑,摇动六魂幡,通天教主就被坏了半条性命,失去了大量法力身负重伤!"<<endl;
peo.hp-=peo.hp*0.8;
peo.ap-=peo.ap*0.8;
cout<<"攻击减少"<<peo.ap*0.8<<endl;
cout<<"血量减少"<<peo.hp*0.8<<endl;
cnt=999999;
} else {
cout<<"定光仙将六魂幡交到通天教主手上!通天教主晃动六魂幡,那BOSS便晕头转向,不知所措,身受重伤!"<<endl;
cout<<"BOSS血量减少"<<boss.hp-1<<endl;
boss.hp=1;
cnt=100;
}
} else {
system("CLS");
cout<<"不要瞎输啊!只见天空中出现了雷云,雷云中夹杂着紫色,仿佛要把世界毁灭一般!这便是传说中的九九都天紫霄灭世神雷!"<<endl;
int hhh=1;
while(hhh<=81) {
system("color 4E");
cout<<"第"<<hhh<<"道神雷!!!"<<endl;
cout<<"血量减少"<<100000*hhh*5<<endl;
peo.hp-=100000*hhh*5;
if(peo.hp<0)break;
hhh++;
}
if(peo.hp<0) {
cout<<"在大道的愤怒下,你连渣都不剩!!!"<<endl;
cout<<"You lose"<<endl;
system("pause");
a=0;
break;
} else {
cout<<"怎么可能,你居然扛过了雷劫?"<<endl;
peo.ap+=10000000000;
peo.dp+=10000000000;
cout<<"攻击、防御增加"<<10000000000<<endl;
}
}
if(boss.hp<20000) {
system("color 4A");
cout<<"BOSS暴走!!!"<<endl;
cout<<"BOSS全部属性上涨!!!"<<endl;
boss.ap+=100*y;
boss.dp+=25*y;
boss.hp+=5000*y;
cout<<"BOSS回复"<<5000*y<<"血量!!!"<<endl;
cout<<"BOSS暴走咆哮,对你造成2500伤害"<<endl;
peo.hp-=2500;
}
if(x==3) {
int c=rand()%20000;
peo.hp+=c;
cout<<"player血量回复:"<<c<<endl;
}
if(x==4) {
int c=rand()%100;
peo.ap+=c;
cout<<"player攻击增加"<<c<<endl;
}
if(y==7) {
cout<<"我为黯天帝!"<<endl;
cout<<"BOSS全属性*10!"<<endl;
boss.hp*=10;
boss.ap*=10;
boss.dp*=10;
}
if(x==0) {
cout<<"肉盾!!!"<<endl;
peo.hp+=peo.hp*1;
cout<<"player血量增加"<<peo.hp*1<<endl;
}
if(cnt>0)cnt--;
}
}
}
play2
#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <queue>
#include <string>
#include <stack>
#include <ctime>
using namespace std;
int money=100;
int t=0;
int tt=-1;
int v;
int d;
void borrow()
{
if(tt!=-1)
{
cout<<"你现在不能借钱"<<endl;
return;
}
cout<<"你要借多少钱?"<<endl;
cin>>v;
if (d==1||d==2)
{
if (v>1000) cout<<"你不能借这么多钱!"<<endl,cout<<"你要借多少钱?"<<endl,cin>>v;
if (v<=1000) money+=v,cout<<"10天以后你要还"<<2*v<<"美元"<<endl;
return;
}
else
{
if (v>100) cout<<"你不能借这么多钱!"<<endl,cout<<"你要借多少钱?"<<endl,cin>>v;
if (v<=100) money+=v,cout<<"10天以后你要还"<<2*v<<"美元"<<endl;
return;
}
}
bool pay()
{
cout<<"你现在要还 "<<2*v<<endl;
money-=2*v;
tt=-1;
v=0;
if(money<=0) return false;
else return true;
}
int main(int argc, char *argv[])
{
cout<<"欢迎来到彩票游戏!"<<endl<<endl<<"温馨提示:在游戏内请勿使用小数、负数、英文字母、特殊字符(游戏中另说明除外),"<<endl<<"否则后果自负。"<<endl<<endl;
cout<<"请选择难度(输入序号即可):"<<endl<<"1:入门"<<" "<<"2:简单"<<" "<<"3:普通"<<" "<<"4:中等"<<" "<<"5:困难"<<endl;
cin>>d;
if (d==1) cout<<"已选择难度:入门"<<endl<<endl;
if (d==2) cout<<"已选择难度:简单"<<endl<<endl;
if (d==3) cout<<"已选择难度:普通"<<endl<<endl;
if (d==4) cout<<"已选择难度:中等"<<endl<<endl;
if (d==5) cout<<"已选择难度:困难"<<endl<<endl;
while(1)
{
if (d<1) cout<<"没有这个选项"<<endl<<"请选择难度(输入序号即可):"<<endl<<"1:入门"<<" "<<"2:简单"<<" "<<"3:普通"<<" "<<"4:中等"<<" "<<"5:困难"<<endl,cin>>d;
if (d>5) cout<<"没有这个选项"<<endl<<"请选择难度(输入序号即可):"<<endl<<"1:入门"<<" "<<"2:简单"<<" "<<"3:普通"<<" "<<"4:中等"<<" "<<"5:困难"<<endl,cin>>d;
if (d==1 || d==2 || d==3 || d==4 || d==5) break;
}
bool flag=true;
srand(time(0));
int a[10000];
int n,p;
char c[4];
if (d==1)
{
cout<<"每张彩票 购入价为1美元,出售价为5美元,有五个奖项"<<endl<<"小奖:10美元"<<endl<<"中奖:20美元"<<endl<<"大奖:100美元"<<endl<<"巨额奖金:1,000美元"<<endl<<"杰克壶:10,000美元"<<endl;
cout<<"你有100美元,当你赚了超过10,000美元,你就发财了。"<<endl<<"但如果你失去了所有的钱,你破产了。"<<endl;
cout<<"你可能想借钱(最多1,000美元),如果你想,按0。"<<endl<<"请记住,当你借了十天以后。你必须偿还两倍,"<<endl;
cout<<"你想买彩票还是卖彩票?(buy/sell)"<<endl;
}
if (d==2)
{
cout<<"每张彩票 购入价为2美元,出售价为3美元,有五个奖项"<<endl<<"小奖:5美元"<<endl<<"中奖:20美元"<<endl<<"大奖:100美元"<<endl<<"巨额奖金:1,000美元"<<endl<<"杰克壶:10,000美元"<<endl;
cout<<"你有100美元,当你赚了超过10,000美元,你就发财了。"<<endl<<"但如果你失去了所有的钱,你破产了。"<<endl;
cout<<"你可能想借钱(最多1,000美元),如果你想,请按0。"<<endl<<"请记住,当你借了十天以后。你必须偿还两倍,"<<endl;
cout<<"你想买彩票还是卖彩票?(buy/sell)"<<endl;
}
if (d==3)
{
cout<<"每张彩票 售价2美元,有五个奖项"<<endl<<"小奖:5美元"<<endl<<"中奖:20美元"<<endl<<"大奖:100美元"<<endl<<"巨额奖金:1,000美元"<<endl<<"杰克壶:10,000美元"<<endl;
cout<<"你有100美元,当你赚了超过10,000美元,你就发财了。"<<endl<<"但如果你失去了所有的钱,你破产了。"<<endl;
cout<<"你可能想借钱(最多100美元),如果你想,请按0。"<<endl<<"请记住,当你借了十天以后。你必须偿还两倍,"<<endl;
cout<<"你想买彩票还是卖彩票?(buy/sell)"<<endl;
}
if (d==4)
{
cout<<"每张彩票 售价3美元,有五个奖项"<<endl<<"小奖:5美元"<<endl<<"中奖:20美元"<<endl<<"大奖:100美元"<<endl<<"巨额奖金:1,000美元"<<endl<<"杰克壶:10,000美元"<<endl;
cout<<"你有100美元,当你赚了超过100,000美元,你就发财了。"<<endl<<"但如果你失去了所有的钱,你破产了。"<<endl;
cout<<"你可能想借钱(最多100美元),如果你想,请按0。"<<endl<<"请记住,当你借了七天以后。你必须偿还两倍,"<<endl;
cout<<"你想买彩票还是卖彩票?(buy/sell)"<<endl;
}
if (d==5)
{
cout<<"每张彩票 购入价为5美元,出售价为2美元,有五个奖项"<<endl<<"小奖:5美元"<<endl<<"中奖:20美元"<<endl<<"大奖:100美元"<<endl<<"巨额奖金:1,000美元"<<endl<<"杰克壶:5,000美元"<<endl;
cout<<"你有100美元,当你赚了超过100,000美元,你就发财了。"<<endl<<"但如果你失去了所有的钱,你就破产了。"<<endl;
cout<<"你可能想借钱(最多100美元),如果你想,请按0。"<<endl<<"请记住,当你借了五天以后。你必须偿还两倍,"<<endl;
cout<<"你想买彩票还是卖彩票?(buy/sell)"<<endl;
}
cin>>c;
if(c[0]=='b'||c[0]=='B')
{
while(money>0)
{
if (d==1||d==2||d==3) if(money>=10000)
{
cout<<"你发财了! "<<endl;
cout<<"你花了 "<<t<<"天"<<endl;
return 0;
}
if (d==4||d==5) if(money>=100000)
{
cout<<"你发财了! "<<endl;
cout<<"你花了 "<<t<<"天"<<endl;
return 0;
}
t++;
cout<<"你要买几张票?"<<" "<<"你有 $"<<money<<endl;
cin>>n;
if(n==0)
{
if (d=4)
{
borrow();
tt=t+7;
}
if (d=5)
{
borrow();
tt=t+5;
}
else
{
borrow();
tt=t+10;
}
}
if(t==tt)
{
flag=pay();
}
if(t==tt-1) cout<<"[警告]你必须在明天还钱!"<<endl;
if(flag==false)
{
cout<<"你不能偿还你借的钱!"<<endl;
cout<<"你破产了。"<<endl;
cout<<"你生存了"<<t<<"天。"<<endl;
return 0;
}
flag=true;
if(n<0)
{
cout<<"因为你违反规则,所以系统强制停止了你的游戏"<<endl;
}
if (d==1) money=money-n;
if (d==2||d==3) money=money-n*2;
if (d==4) money=money-n*3;
if (d==5) money=money-n*5;
if(money<0)
{
cout<<"你破产了。"<<endl;
cout<<"你生存了"<<t<<"天"<<endl;
return 0;
}
for(int i=0; i<n; i++)
{
p=rand()%12000;
if(p==0)
{
int q=0;
q=rand()%4;
if(q==1)
{
cout<<"你获得了杰克壶!"<<endl;
if (d==5) money+=5000;
else money+=10000;
}
}
else if(p>=1&&p<=8)
{
int g=0;
g=rand()%2;
if(g==0)
{
cout<<"你获得了巨额奖金! "<<endl;
money+=1000;
}
}
else if(p>=9&&p<=99)
{
cout<<"你获得了大奖!"<<endl;
money+=100;
}
else if((p>=100&&p<=399)||(p>1500&&p<=1600))
{
cout<<"你获得了中间奖!"<<endl;
money+=20;
}
else if(p>=400&&p<=1500)
{
cout<<"你获得了小奖!"<<endl;
if (d==1) money+=10;
else money+=5;
}
}
if(money<=0)
{
cout<<"你破产了。"<<endl;
cout<<"你生存了"<<t<<"天。"<<endl;
return 0;
}
}
}
if(c[0]=='s'||c[0]=='S')
{
if (d==1)
{
cout<<"你有$"<<money<<endl;
cout<<"你必须付25美元买一个商店。 "<<endl;
cout<<"你只能卖同样数量的票作为你的钱。 "<<endl;
money-=25;
}
if (d==2)
{
cout<<"你有 $"<<money<<endl;
cout<<"你必须付35美元买一个商店。 "<<endl;
cout<<"你只能卖同样数量的票作为你的钱。 "<<endl;
money-=35;
}
if (d==3||d==4)
{
cout<<"你有$"<<money<<endl;
cout<<"你必须付50美元买一个商店。 "<<endl;
cout<<"你只能卖同样数量的票作为你的钱。 "<<endl;
money-=50;
}
if (d==5)
{
cout<<"你有 $"<<money<<endl;
cout<<"你必须付60美元买一个商店。 "<<endl;
cout<<"你只能卖同样数量的票作为你的钱。 "<<endl;
money-=60;
}
cout<<"你有$"<<money<<endl;
while(money>0)
{
if (d==1||d==2||d==3) if(money>=10000)
if (d==4||d==5) if(money>=100000)
{
cout<<"你发财了!"<<endl;
cout<<"你花了"<<t<<"天。"<<endl;
return 0;
}
t++;
cout<<"你要卖几张票? "<<" "<<"你有$"<<money<<endl;
cin>>n;
if(n==0)
{
borrow();
tt=t+10;
}
if(t==tt) bool flag=pay();
if(flag==false)
{
cout<<"你不能偿还你借的钱。"<<endl;
cout<<"你破产了!"<<endl;
cout<<"你生存了"<<t<<" 天。"<<endl;
return 0;
}
if(n<0 || n>money)
{
cout<<"注意"<<endl;
cout<<"你破产了!"<<endl;
cout<<"你生存了"<<t<<" 天"<<endl;
return 0;
}
if (d=1) money=money+n*5;
if (d=2) money=money+n*3;
else money=money+n*2;
if(money<0)
{
cout<<"你破产了!"<<endl;
cout<<"你生存了"<<t<<" 天"<<endl;
return 0;
}
for(int i=0; i<n; i++)
{
p=rand()%12000;
if(p==0)
{
int y;
y=rand()%4;
if(y==1)
{
cout<<"你失去了杰克壶!"<<endl;
if (d==5) money-=5000;
else money-=10000;
}
}
else if(p>=1&&p<=8)
{
cout<<"你失去了巨额奖金!"<<endl;
money-=1000;
}
else if(p>=15&&p<=50)
{
cout<<"你失去了大奖!"<<endl;
money-=100;
}
else if(p>=61&&p<=360)
{
cout<<"你失去了中奖!"<<endl;
money-=20;
}
else if(p>=401&&p<=1500)
{
cout<<"你失去了小奖!"<<endl;
money-=5;
}
}
}
}
if(money<=0)
{
cout<<"你破产了。"<<endl;
cout<<"你生存了"<<t<<"天。"<<endl;
return 0;
}
}
play3
#include<iostream>
#include<time.h>
#include<stdio.h>
#include <stdlib.h>
using namespace std;
struct pai
{
int paifu;
int huase;
int yanse;
int dianshu;
int leixing;
int changdu;
void Kanpai()
{
if(paifu==0||paifu==1);
else
printf("牌副参数错误!\n");
switch(huase)
{
case 0:cout<<"黑桃";break;
case 1:cout<<"红桃";break;
case 2:cout<<"草花";break;
case 3:cout<<"方片";break;
case -1:cout<<"无色";break;
default:printf("花色错误!\n");break;
}
switch(dianshu)
{
case 0:cout<<"A ";break;
case 1:cout<<"2 ";break;
case 2:cout<<"3 ";break;
case 3:cout<<"4 ";break;
case 4:cout<<"5 ";break;
case 5:cout<<"6 ";break;
case 6:cout<<"7 ";break;
case 7:cout<<"8 ";break;
case 8:cout<<"9 ";break;
case 9:cout<<"10 ";break;
case 10:cout<<"J ";break;
case 11:cout<<"Q ";break;
case 12:cout<<"K ";break;
case -1:cout<<"无点数";break;
default:printf("点数错误!\n");break;
}
switch(leixing)
{
case 101:cout<<"【杀】"<<endl;break;
case 102:cout<<"【闪】"<<endl;break;
case 103:cout<<"【桃】"<<endl;break;
case 201:cout<<"【过河拆桥】"<<endl;break;
case 202:cout<<"【顺手牵羊】"<<endl;break;
case 203:cout<<"【无中生有】"<<endl;break;
case 204:cout<<"【决斗】"<<endl;break;
case 205:cout<<"【借刀杀人】"<<endl;break;
case 206:cout<<"【桃园结义】"<<endl;break;
case 207:cout<<"【五谷丰登】"<<endl;break;
case 208:cout<<"【南蛮入侵】"<<endl;break;
case 209:cout<<"【万箭齐发】"<<endl;break;
case 210:cout<<"【无懈可击】"<<endl;break;
case 251:cout<<"【乐不思蜀】"<<endl;break;
case 252:cout<<"【闪电】"<<endl;break;
case 301:cout<<"【诸葛连弩(1)】"<<endl;break;
case 302:cout<<"【雌雄双股剑(2)】"<<endl;break;
case 303:cout<<"【青釭剑(2)】"<<endl;break;
case 304:cout<<"【青龙偃月刀(3)】"<<endl;break;
case 305:cout<<"【丈八蛇矛(3)】"<<endl;break;
case 306:cout<<"【贯石斧(3)】"<<endl;break;
case 307:cout<<"【方天画戟(4)】"<<endl;break;
case 308:cout<<"【麒麟弓(5)】"<<endl;break;
case 331:cout<<"【八卦阵】"<<endl;break;
case 361:cout<<"【赤兔(-1)】"<<endl;break;
case 362:cout<<"【大宛(-1)】"<<endl;break;
case 363:cout<<"【紫辛(-1)】"<<endl;break;
case 381:cout<<"【爪黄飞电(+1)】"<<endl;break;
case 382:cout<<"【的卢(+1)】"<<endl;break;
case 383:cout<<"【绝影(+1)】"<<endl;break;
default:printf("类型参数错误!");break;
}
}
};
void Qishixipai(pai A[2][4][13],pai paidui[104])
{
int i,m,x,y,z,a[104]={0};
srand((unsigned)time(NULL));
for(i=1;i<=104;i++)
{
while(a[m=rand()%104]);
a[m]=i;
}
for(i=0;i<=103;i++)
{
x=(a[i]-1)/52;
y=((a[i]-1)-52*x)/13;
z=(a[i]-1)%13;
paidui[i]=A[x][y][z];
}
}
void Xipai(pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
{
int i,m,a[104]={0};
srand((unsigned)time(NULL));
for(i=1;i<=(*qipaishu);i++)
{
while(a[m=rand()%(*qipaishu)]);
a[m]=i;
}
for(i=0;i<=((*qipaishu)-1);i++)
{
paidui[i]=qipaidui[a[i]];
qipaidui[a[i]].leixing=-1;
(*paiduishu)++;
(*qipaishu)--;
}
for(i=(*paiduishu);i<=103;i++)paidui[i].leixing=-1;
}
pai Mo1pai(pai A[104],int *x,pai B[104],int*y,int *b)
{
pai p;
if((*x)==0)Xipai(A,x,B,y);
else if((*x)<0)printf("摸牌参数错误!");
else;
p=A[104-(*x)];
(*x)--;
(*b)++;
return(p);
}
struct wujiang
{
char name;
int tili;
int tilishangxian;
int shoupaishangxian;
int huihekaishi;
int panding;
int mopai;
int chupai;
int qipai;
int huihejieshu;
int juese;
pai shoupai[20];
int shoupaishu;
pai zhuangbei[4];
int zhuangbeishu;
pai pandingpai[3];
int pandingshu;
int juli[1];
void Kanshoupai()
{
printf("玩家当前手牌:\n");
if(shoupaishu)
{
int m;
for(m=0;m<=(shoupaishu-1);m++)
{
printf("%d ",m);
(shoupai[m]).Kanpai();
}
}
else printf("空城!\n");
printf("\n");
}
void Kanzhuangbei()
{
if(juese)printf("玩家");
else printf("电脑");
printf("当前装备:\n");
printf("0 武器: ");
if((zhuangbei[0]).leixing==-1)printf("空\n");
else (zhuangbei[0]).Kanpai();
printf("1 防具: ");
if((zhuangbei[1]).leixing==-1)printf("空\n");
else (zhuangbei[1]).Kanpai();
printf("2 进攻马: ");
if((zhuangbei[2]).leixing==-1)printf("空\n");
else (zhuangbei[2]).Kanpai();
printf("3 防御马: ");
if((zhuangbei[3]).leixing==-1)printf("空\n");
else (zhuangbei[3]).Kanpai();
printf("\n");
}
void Kanpandingpai()
{
if(juese)printf("玩家");
else printf("电脑");
printf("当前判定区:\n");
if((pandingpai[0]).leixing==-1)printf("空\n");
else
{
printf("0 ");
(pandingpai[0]).Kanpai();
if((pandingpai[1]).leixing==-1);
else
{
printf("1 ");
(pandingpai[1]).Kanpai();
if((pandingpai[2]).leixing==-1);
else
{
printf("2 ");
(pandingpai[2]).Kanpai();
}
}
}
}
};
void Mopai(int*shoupaishu,pai shoupai[20],pai A[104],int *x,pai B[104],int*y,int juese)
{
if(juese)printf("玩家从牌堆摸2张牌\n");
else printf("电脑从牌堆摸2张牌\n");
pai p;
p=Mo1pai(A,x,B,y,shoupaishu);
shoupai[*shoupaishu-1]=p;
pai q;
q=Mo1pai(A,x,B,y,shoupaishu);
shoupai[*shoupaishu-1]=q;
int m;
if(juese)
{
printf("玩家当前手牌:\n");
for(m=0;m<=(*shoupaishu-1);m++)
{
printf("%d ",m);
(shoupai[m]).Kanpai();
}
}
printf("牌堆还剩%d张牌!\n\n",*x);
}
void Qishishoupai(wujiang *w,pai A[104],int *x,pai B[104],int*y)
{
pai a;
a=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=a;
pai b;
b=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=b;
pai c;
c=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=c;
pai d;
d=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=d;
int m;
if((*w).juese)printf("玩家从牌堆摸4张牌\n");
else printf("电脑从牌堆摸4张牌\n");
if((*w).juese)
{
printf("玩家当前手牌:\n");
for(m=0;m<=((*w).shoupaishu-1);m++)
{
printf("%d ",m);
((*w).shoupai[m]).Kanpai();
}
}
printf("牌堆还剩%d张牌!\n\n",*x);
}
void Panding(pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
{
paidui[*paiduishu].Kanpai();
qipaidui[*qipaishu]=paidui[*paiduishu];
(*paiduishu)--;
(*qipaishu)++;
}
pai Zhangba(wujiang*w,pai qipaidui[104],int*qipaishu)
{
int x,y;
pai p;
for(;;)
{
int i,j;
printf("请输入任意两张手牌之前的编号,以空格隔开,以回车结束!\n");
scanf("%d",&x);
scanf("%d",&y);
if((x>=0)&&(x<(*w).shoupaishu)&&(y>=0)&&(y<(*w).shoupaishu-1))
{
switch((((*w).shoupai[x].huase)%2)+(((*w).shoupai[y].huase)%2))
{
case 0:p.yanse=0;break;
case 2:p.yanse=1;break;
case 1:p.yanse=2;break;
default:printf("【丈八蛇矛】函数参数错误!\n");
}
qipaidui[*qipaishu]=(*w).shoupai[x];
(*w).shoupai[x].leixing=-1;
((*w).shoupaishu)--;
(*qipaishu)++;
qipaidui[*qipaishu]=(*w).shoupai[y];
(*w).shoupai[y].leixing=-1;
((*w).shoupaishu)--;
(*qipaishu)++; printf("弃牌数:%d",*qipaishu);
for(i=0;i<=(((*w).shoupaishu)+1);i++)
{
if((*w).shoupai[i].leixing==-1)
{
for(j=i+1;j<=(((*w).shoupaishu)+2);j++)
(*w).shoupai[j-1]=(*w).shoupai[j];
i--;
}
}
printf("玩家把:\n");
qipaidui[(*qipaishu)-2].Kanpai();
qipaidui[(*qipaishu)-1].Kanpai();
printf("当作一张");
switch(p.yanse)
{
case 0:printf("黑色");break;
case 2:printf("红色");break;
case 1:printf("无色");break;
default:printf("绿色");break;
}
printf("无点数的【杀】");
p.dianshu=-1;
p.leixing=101;
return p;
break;
}
printf("你将两张空气当作一张空气属性的【杀】使用或打出!\n");
}
}
int Xuanpai(wujiang*w,int t)
{
int x;
if((*w).juese)
{
for(;;)
{
printf("出牌请输入手牌之前的编号,以回车结束!\n如果你想结束出牌阶段,请输入“-1”,以回车结束!\n");
scanf("%d",&x);
if((x>=-1&&x<((*w).shoupaishu))||((x==100)&&((*w).zhuangbei[0].leixing==305)))
{
return x;
break;
}
printf("你打出了一张空气!\n");
}
}
else return t;
}
pai Panpai(wujiang*w1,int*sha,int y,pai qipaidui[104],int*qipaishu)
{
pai p,q;
p.leixing=0;
q.leixing=-1;
if(y==-1)return q;
else
{
if(y==100)
{
if((*sha)>0)
{
q=Zhangba(w1,qipaidui,qipaishu);
printf("使用!\n");
return q;
}
else
{
printf("当前回合使用【杀】的次数已用尽,你也不能使用【丈八蛇矛】效果!\n");
return p;
}
}
switch((*w1).shoupai[y].leixing)
{
case 101:
if(((*sha)>0)||((*w1).zhuangbei[0].leixing==301))
{
if(((*w1).zhuangbei[0].leixing==301))printf("武器【诸葛连弩】效果被触发!\n");
return (*w1).shoupai[y];
break;
}
else
{
if((*w1).juese)printf("当前回合使用【杀】的次数已用尽,你不能使用【杀】!\n");
return p;break;
}
case 102:
if((*w1).juese)
printf("当前不需要响应任何操作,你不能主动打出【闪】!\n");
return p;break;
case 103:
if(((*w1).tili)<((*w1).tilishangxian))
{
return (*w1).shoupai[y];
break;
}
else
{
if((*w1).juese)
printf("你并未受伤,不能对自己使用【桃】!\n");
}
return p;break;
case 210:
if((*w1).juese)
printf("当前不需要响应任何锦囊,你不能主动打出【无懈可击】!\n");
return p;break;
case 201:
case 202:
case 203:
case 204:
case 205:
case 206:
case 207:
case 208:
case 209:
case 251:
case 252:
case 301:
case 302:
case 303:
case 304:
case 305:
case 306:
case 307:
case 308:
case 331:
case 361:
case 362:
case 363:
case 381:
case 382:
case 383:return (*w1).shoupai[y];break;
default:printf("手牌类型参数错误!\n");return p;break;
}
}
}
int Mubiao(pai p,wujiang *w1,wujiang *w2,int*sha)
{
int x;
switch(p.leixing)
{
case 101:
if((*w1).juese)
{
printf("请选择【杀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
scanf("%d",&x);
if(x==0)
{
if((*w1).zhuangbei[0].changdu>=(*w1).juli[0])
{
(*sha)--;
return((*w2).juese);
}
else
{
printf("武器长度不够!\n");
return -2;
}
}
else
{
printf("目标错误!\n");
return -2;
}
}
else
{
if((*w1).zhuangbei[0].changdu>=(*w1).juli[0])
{
(*sha)--;
return((*w2).juese);
}
else return -2;
}
break;
case 103:return((*w1).juese);break;
case 201:
if((*w1).juese)
{
printf("请选择【过河拆桥】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
scanf("%d",&x);
if(x==0)
{
if((*w2).shoupaishu||(*w2).zhuangbeishu||(*w2).pandingshu)return((*w2).juese);
else
{
printf("目标没有牌!\n");
return -2;
}
}
else
{
printf("目标错误!\n");
return -2;
}
}
else return((*w2).juese);
break;
case 202:
if((*w1).juese)
{
printf("请选择【顺手牵羊】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
scanf("%d",&x);
if(x==0)
{
if(((*w2).shoupaishu||(*w2).zhuangbeishu||(*w2).pandingshu)&&((*w1).juli[0]<=1))return((*w2).juese);
else
{
printf("目标没有牌!\n");
return -2;
}
}
else
{
printf("目标错误!\n");
return -2;
}
}
else
{
if((*w1).juli[0]<=1)return((*w2).juese);
else return -2;
}
break;
case 203:
return((*w1).juese);break;
case 204:
if((*w1).juese)
{
printf("请选择【决斗】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
scanf("%d",&x);
if(x==0)return((*w2).juese);
else
{
printf("目标错误!\n");
return -2;
}
}
else return((*w2).juese);
break;
case 205:
int y;
if((*w1).juese)
{
printf("请选择【借刀杀人】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
scanf("%d",&x);
if(x!=0)
{
printf("目标错误!\n");
return -2;
}
else
{
if(((*w2).zhuangbei[0]).leixing<=300||((*w2).zhuangbei[0]).leixing>=331)
{
printf("目标装备区里没有武器!\n");
return -2;
}
else
{
printf("请选择【杀】的目标!\n提示:【杀】的目标必须在【借刀杀人】的目标的攻击范围之内!\n输入目标前的编号,以回车结束!\n0 玩家\n");
scanf("%d",&y);
if(y!=0)
{
printf("目标错误!\n");
return -2;
}
else
{
if(((*w2).zhuangbei[0].changdu)<(*w2).juli[0])
{
printf("武器距离不够!\n");
return -2;
}
else
return((*w2).juese);
}
}
}
}
else
{
if(((*w2).zhuangbei[0]).leixing<=300||((*w2).zhuangbei[0]).leixing>=331)return -2;
else
{
if(((*w2).zhuangbei[0].changdu)<(*w2).juli[0])return -2;
else return((*w2).juese);
}
}
break;
case 206:
case 207:return 99;break;
case 208:
case 209:return 100;break;
case 251:
if((*w1).juese)
{
printf("请选择【乐不思蜀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
scanf("%d",&x);
if(x==0)
{
int i;
for(i=0;i<=2;i++)
{
if((*w2).pandingpai[i].leixing==251)
i=-1;
break;
}
if(i==-1)
{
printf("目标判定区里不能同时存在两张相同的延时类锦囊!\n");
return -2;
}
else return((*w2).juese);
}
else
{
printf("目标错误!\n");
return -2;
}
}
else
{
int i;
for(i=0;i<=2;i++)
{
if((*w2).pandingpai[i].leixing==251)
i=-1;
break;
}
if(i==-1)return -2;
else return((*w2).juese);
}
break;
case 252:
int i;
for(i=0;i<=2;i++)
{
if((*w1).pandingpai[i].leixing==252)
i=-1;
break;
}
if(i==-1)
{
if((*w1).juese)printf("目标判定区里不能同时存在两张相同的延时类锦囊!\n");
return -2;
}
else return ((*w1).juese);
break;
case 301:
case 302:
case 303:
case 304:
case 305:
case 306:
case 307:
case 308:
case 331:
case 361:
case 362:
case 363:
case 381:
case 382:
case 383:return((*w1).juese);break;
default:return -2;break;
}
}
void Da1pai(wujiang *w1,wujiang*w2,pai qipaidui[104],int *qipaishu,int x)
{
int i;
if((x<0||x>=((*w1).shoupaishu))&&x!=100)
printf("你的牌呢?!\n");
else
{
switch(((*w1).shoupai)[x].leixing)
{
case 101:
case 102:
case 103:
case 201:
case 202:
case 203:
case 204:
case 205:
case 206:
case 207:
case 208:
case 209:
case 210:
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
break;
case 251:
for(i=1;i>=0;i--)(*w2).pandingpai[i+1]=(*w2).pandingpai[i];
(*w2).pandingpai[0]=(*w1).shoupai[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
((*w2).pandingshu)++;
break;
case 252:
for(i=1;i>=0;i--)(*w1).pandingpai[i+1]=(*w1).pandingpai[i];
(*w1).pandingpai[0]=(*w1).shoupai[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
((*w1).pandingshu)++;
break;
case 301:
case 302:
case 303:
case 304:
case 305:
case 306:
case 307:
case 308:
if((*w1).zhuangbei[0].leixing==-1)((*w1).zhuangbeishu)++;
else
{
qipaidui[*qipaishu]=((*w1).zhuangbei)[0];
(*qipaishu)++;
}
(*w1).zhuangbei[0]=(*w1).shoupai[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
break;
case 331:
if((*w1).zhuangbei[1].leixing==-1)((*w1).zhuangbeishu)++;
else
{
qipaidui[*qipaishu]=((*w1).zhuangbei)[1];
(*qipaishu)++;
}
(*w1).zhuangbei[1]=(*w1).shoupai[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
break;
case 361:
case 362:
case 363:
if((*w1).zhuangbei[2].leixing==-1)((*w1).zhuangbeishu)++;
else
{
qipaidui[*qipaishu]=((*w1).zhuangbei)[2];
(*qipaishu)++;
}
(*w1).zhuangbei[2]=(*w1).shoupai[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
break;
case 381:
case 382:
case 383:
if((*w1).zhuangbei[3].leixing==-1)((*w1).zhuangbeishu)++;
else
{
qipaidui[*qipaishu]=((*w1).zhuangbei)[3];
(*qipaishu)++;
}
(*w1).zhuangbei[3]=(*w1).shoupai[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
break;
default:break;
}
}
}
void Miaoshu(pai p,int juese,int duixiang)
{
if(juese==0)printf("电脑");
else if(juese==1)printf("玩家");
else printf("角色参数错误!\n");
if(p.leixing<=300&&p.leixing>100)
{
switch(duixiang)
{
case -1:printf("打出");break;
case 0:printf("对电脑使用");break;
case 1:printf("对玩家使用");break;
case 99:printf("使用");break;
case 100:printf("对所有人使用");break;
default:printf("对象参数错误\n");break;
}
}
else if(p.leixing>=301&&p.leixing<=400)
printf("装备");
else printf("你出的是什么东西?\n");
p.Kanpai();
if(!juese&&(p.leixing==101||p.leixing==204||p.leixing==205||p.leixing==207||p.leixing==208||p.leixing==209))printf("请响应!\n");
}
int Wuxie(pai *p,wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu,int a)
{
int x;
if((*w1).juese)
{
printf("是否使用【无懈可击】响应?\n\n");
for(;;)
{
(*w1).Kanshoupai();
printf("如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n");
scanf("%d",&x);
if(x==-1)
{
for(x=0;x<((*w2).shoupaishu);x++)
{
if((*w2).shoupai[x].leixing==210)
{
printf("电脑使用");
((*w2).shoupai)[x].Kanpai();
printf("对象是");
(*p).Kanpai();
(*p)=((*w2).shoupai)[x];
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
a++;
break;
}
}
break;
}
else if((*w1).shoupai[x].leixing==210)
{
printf("玩家使用");
((*w1).shoupai)[x].Kanpai();
printf("对象是");
(*p).Kanpai();
(*p)=((*w1).shoupai)[x];
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(int i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
(*w1).Kanshoupai();
a++;
break;
}
else printf("你确定你使用的是【无懈可击】?\n");
}
}
else
{
printf("是否使用【无懈可击】响应?\n");
for(;;)
{
(*w2).Kanshoupai();
printf("如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n");
scanf("%d",&x);
if(x==-1)break;
else if((*w2).shoupai[x].leixing==210)
{
printf("玩家使用");
((*w2).shoupai)[x].Kanpai();
printf("对象是");
(*p).Kanpai();
(*p)=((*w2).shoupai)[x];
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
(*w2).Kanshoupai();
a++;
break;
}
else printf("你确定你使用的是【无懈可击】?\n");
}
}
return a;
}
int Qiutao(wujiang*w,pai qipaidui[104],int*qipaishu)
{
int x;
if((*w).juese)
{
for(;;)
{
printf("如果要使用【桃】请输入手牌之前的编号,不需要请输入“-1”,以回车结束!\n");
scanf("%d",&x);
if(x==-1)
{
return -1;
break;
}
else if((*w).shoupai[x].leixing==103)
{
qipaidui[*qipaishu]=((*w).shoupai)[x];
for(int i=x+1;i<=((*w).shoupaishu);i++)((*w).shoupai)[i-1]=((*w).shoupai)[i];
((*w).shoupaishu)--;
(*qipaishu)++;
return 0;
break;
}
else printf("你确定你使用的是【桃】?\n");
}
}
else
{
for(x=0;x<((*w).shoupaishu);x++)
{
if((*w).shoupai[x].leixing==103)
{
qipaidui[*qipaishu]=((*w).shoupai)[x];
for(int i=x+1;i<=((*w).shoupaishu);i++)((*w).shoupai)[i-1]=((*w).shoupai)[i];
((*w).shoupaishu)--;
(*qipaishu)++;
return 0;
break;
}
}
return -1;
}
}
int Binsi(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
{
if(((*w2).tili)>0)return 0;
else
{
int i;
if((*w1).juese)
{
for(;;)
{
printf("电脑濒死,是否使用【桃】?\n");
i=Qiutao(w1,qipaidui,qipaishu);
if(i==0)((*w2).tili)++;
if((i==-1)||((*w2).tili>0))break;
}
if((*w2).tili>0)return 0;
else
{
for(;;)
{
i=Qiutao(w2,qipaidui,qipaishu);
if(i==0)((*w2).tili)++;
if((i==-1)||((*w2).tili>0))break;
}
if((*w2).tili>0)return 0;
else return -1;
}
}
else
{
for(;;)
{
printf("玩家濒死,是否使用【桃】?\n");
i=Qiutao(w2,qipaidui,qipaishu);
if(i==0)((*w2).tili)++;
if((i==-1)||((*w2).tili>0))break;
}
if((*w2).tili>0)return 0;
else return -1;
}
}
}
int Shan(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
{
int x;
if((*w2).juese)
{
if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing!=303))
{
for(;;)
{
int m;
printf("是否发动【八卦阵】防具效果?\n0 否\n1 是\n请输入选项之前的编号,以回车结束!\n");
scanf("%d",&m);
if(m==1)
{
Panding(paidui,paiduishu,qipaidui,qipaishu);
if(qipaidui[(*qipaishu)-1].huase%2)
{
printf("【八卦阵】判定成功!\n");
return 0;
}
}
else if(m==0)
{
printf("【八卦阵】判定失败!\n");
break;
}
else printf("你确定你输入的是“0”或“1”?\n");
}
}
else if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing==303))printf("【青釭剑】锁定技被触发!\n");
for(;;)
{
printf("请输入手牌之前的编号,或者输入“-1”放弃打出【闪】,以回车结束!\n");
scanf("%d",&x);
if(x==-1)
{
return -1;
break;
}
else if((*w2).shoupai[x].leixing==102)
{
printf("玩家打出");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
return 0;
break;
}
else printf("你确定你打出的是【闪】?\n");
}
}
else
{
if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing!=303))
{
Panding(paidui,paiduishu,qipaidui,qipaishu);
if(qipaidui[(*qipaishu)-1].huase%2)
{
printf("【八卦阵】判定成功!\n");
return 0;
}
else printf("【八卦阵】判定失败!\n");
}
else if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing==303))printf("【青釭剑】锁定技被触发!\n");
int i;
for(x=0;x<((*w2).shoupaishu);x++)
{
if((*w2).shoupai[x].leixing==102)
{
printf("电脑打出");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
return 0;
break;
}
}
return -1;
}
}
int Sha(wujiang *w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
{
int x;
if((*w2).juese)
{
printf("请打出【闪】响应【杀】!否则你将受到1点伤害!\n");
x=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(x==-1)
{
int i;
((*w2).tili)--;
printf("电脑对玩家造成1点伤害!\n");
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
}
else if(x==0&&((*w1).zhuangbei[0].leixing==306))
{
int i;
if(((*w1).shoupaishu)>=2)
{
printf("电脑弃掉:\n");
((*w1).shoupai)[0].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[0];
for(i=1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
((*w1).shoupai)[0].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[0];
for(i=1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
printf("发动【贯石斧】武器效果使【杀】造成伤害!\n");
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
}
else return 0;
}
else if(x==0&&((*w1).zhuangbei[0].leixing==304))
{
int i;
for(x=0;x<((*w1).shoupaishu);x++)
{
if((*w1).shoupai[x].leixing==101)
{
printf("电脑发动【青龙偃月刀】效果对玩家使用");
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
return i;
break;
}
}
return 0;
}
}
else
{
x=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(x==-1)
{
if((*w1).zhuangbei[0].leixing==308)
{
for(;;)
{
printf("是否发动【麒麟弓】武器效果?\n0 否\n1 是\n");
scanf("%d",&x);
if(x==1)
{
if(((*w2).zhuangbei[2].leixing==-1)&&((*w2).zhuangbei[3].leixing==-1))
{
printf("电脑根本没有马,射你妹的马啊!\n");
break;
}
else
{
for(;;)
{
printf("0 ");
((*w2).zhuangbei[2]).Kanpai();
printf("1 ");
((*w2).zhuangbei[3]).Kanpai();
printf("请选择要弃掉的马,输入之前的编号,以回车结束!\n");
scanf("%d",&x);
if((x==0)&&((*w2).zhuangbei[2].leixing!=-1))
{
printf("你弃掉了电脑的");
((*w2).zhuangbei)[2].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[2];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[2].leixing=-1;
((*w2).juli[0])++;
break;
}
else if((x==1)&&((*w2).zhuangbei[3].leixing!=-1))
{
printf("你弃掉了电脑的");
((*w2).zhuangbei)[3].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[3];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[3].leixing=-1;
((*w1).juli[0])--;
break;
}
else printf("射你妹的马!");
}
break;
}
}
else if(x==0)break;
else printf("键盘上的“0”和“1”被你吃了吗?\n");
}
}
int i;
((*w2).tili)--;
printf("玩家对电脑造成1点伤害!\n");
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
}
else if(x==0&&((*w1).zhuangbei[0].leixing==306))
{
for(;;)
{
printf("是否发动【贯石斧】武器效果?\n0 否\n1 是\n");
scanf("%d",&x);
if(x==1)
{
int i;
if((*w1).shoupaishu+(*w1).zhuangbeishu<=2)
{
printf("你除了【贯石斧】以外连2张牌都没有,发动你妹的效果!\n");
break;
}
else
{
printf("请分别弃掉两张牌!\n");
for(i=0;i<=2;i++)
{
for(;;)
{
printf("请选择区域:\n0 手牌\n1 装备\n");
scanf("%d",&x);
if(x==0&&((*w1).shoupaishu==0))printf("你根本没有手牌,弃你妹啊!\n");
else if(x==1&&((*w1).zhuangbeishu==1))printf("你根本没有别的装备,弃你妹啊!\n");
else if(x>=0&&x<=1)break;
else printf("键盘上的“0”和“1”被你吃了吗?\n");
}
if(x==0)
{
for(;;)
{
(*w1).Kanshoupai();
printf("弃牌请输入手牌之前的编号,以回车结束!\n");
scanf("%d",&x);
if(x>=0&&x<((*w1).shoupaishu))break;
else printf("弃你妹的手牌!\n");
}
printf("你弃掉了");
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
}
else
{
for(;;)
{
(*w1).Kanzhuangbei();
printf("请输入装备之前的编号,以回车键结束!\n");
scanf("%d",&x);
if((((*w1).zhuangbei[x]).leixing!=-1)&&(x>=0)&&(x<=3))
{
printf("你弃掉了");
((*w1).zhuangbei)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).zhuangbei)[x];
((*w1).zhuangbeishu)--;
(*qipaishu)++;
((*w1).zhuangbei)[x].leixing=-1;
break;
}
else printf("弃你妹的装备!\n");
}
}
}
}
printf("玩家发动【贯石斧】武器效果使【杀】造成伤害!\n");
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
break;
}
else if(x==0)break;
else printf("键盘上的“0”和“1”被你吃了吗?\n");
}
}
else if(x==0&&((*w1).zhuangbei[0].leixing==304))
{
for(;;)
{
printf("是否发动【青龙偃月刀】武器效果?\n0 否\n1 是\n");
scanf("%d",&x);
if(x==1)
{
for(;;)
{
printf("请对电脑使用一张【杀】!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
(*w1).Kanshoupai();
scanf("%d",&x);
if(x==-1)
{
return 0;
break;
}
else if((*w1).shoupai[x].leixing==101)
{
int i;
printf("玩家对电脑使用");
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
return i;
break;
}
else printf("你确定你打出的是【杀】?\n");
}
}
else if(x==0)
{
return 0;
break;
}
else printf("你确定你输入的是“0”或“1”?\n");
}
}
else return 0;
}
return 0;
}
void Tao(wujiang*w1)
{
((*w1).tili)++;
if((*w1).juese)printf("玩家");
else printf("电脑");
printf("恢复了1点体力!\n");
if(((*w1).tili)>((*w1).tilishangxian))printf("你被撑死了!\n");
}
void Chai(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
{
int i,x,y;
if((*w1).juese)
{
for(;;)
{
if((*w2).shoupaishu+(*w2).zhuangbeishu+(*w2).pandingshu==0)
{
printf("对方空城,拆你妹啊!\n");
break;
}
else
{
printf("请选择想拆的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n");
scanf("%d",&x);
if(x==0&&((*w2).shoupaishu==0))printf("你拆掉了一张空气!\n");
else if(x==1&&((*w2).zhuangbeishu==0))printf("你拆掉了一张空气!\n");
else if(x==2&&((*w2).pandingshu==0))printf("你拆掉了一张空气!\n");
else if(x>=0&&x<=2)break;
else printf("你拆掉了太空区里的一张牌!\n");
}
}
switch(x)
{
case 0:
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf("你弃掉了电脑的");
((*w2).shoupai)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[y];
for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
break;
case 1:
for(;;)
{
(*w2).Kanzhuangbei();
printf("请输入装备之前的编号,以回车键结束!\n");
scanf("%d",&y);
if((((*w2).zhuangbei[y]).leixing!=-1)&&(y>=0)&&(y<=3))
{
printf("你弃掉了电脑的");
((*w2).zhuangbei)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[y];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[y].leixing=-1;
if(!y)((*w2).zhuangbei)[y].changdu=1;
else if(y==2)((*w2).juli[0])++;
else if(y==3)((*w1).juli[0])--;
break;
}
else printf("你弃掉了一张空气!\n");
}
break;
case 2:
for(;;)
{
(*w2).Kanpandingpai();
printf("请输入判定牌之前的编号,以回车键结束!\n");
scanf("%d",&y);
if((*w2).pandingpai[y].leixing!=-1)
{
printf("你弃掉了电脑的");
((*w2).pandingpai)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).pandingpai)[y];
((*w2).pandingshu)--;
(*qipaishu)++;
((*w2).pandingpai)[y].leixing=-1;
break;
}
else printf("你弃掉了一张空气!\n");
}
break;
default:break;
}
}
else
{
if((*w2).zhuangbeishu)
{
if((*w2).zhuangbei[1].leixing!=-1)
{
printf("电脑弃掉了玩家的");
((*w2).zhuangbei)[1].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[1];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[1].leixing=-1;
}
else if((*w2).zhuangbei[3].leixing!=-1)
{
printf("电脑弃掉了玩家的");
((*w2).zhuangbei)[3].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[3];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[3].leixing=-1;
((*w1).juli[0])--;
}
else if((*w2).zhuangbei[0].leixing!=-1)
{
printf("电脑弃掉了玩家的");
((*w2).zhuangbei)[0].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
}
else
{
printf("电脑弃掉了玩家的");
((*w2).zhuangbei)[2].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[2];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[2].leixing=-1;
((*w2).juli[0])++;
}
}
else
{
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf("电脑弃掉了玩家的手牌");
((*w2).shoupai)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[y];
for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
}
}
}
void Qian(wujiang *w1,wujiang *w2)
{
int i,x,y;
if((*w1).juese)
{
for(;;)
{
if((*w2).shoupaishu+(*w2).zhuangbeishu+(*w2).pandingshu==0)
{
printf("对方空城啦!你牵走了一张寂寞!\n");
break;
}
else
{
printf("请选择想牵的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n");
scanf("%d",&x);
if(x==0&&((*w2).shoupaishu==0))printf("你牵走了一张空气!\n");
else if(x==1&&((*w2).zhuangbeishu==0))printf("你牵走了一张空气!\n");
else if(x==2&&((*w2).pandingshu==0))printf("你牵走了一张空气!\n");
else if(x>=0&&x<=2)break;
else printf("你牵走了太空区里的一张牌!\n");
}
}
switch(x)
{
case 0:
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf("你牵走了电脑的");
((*w2).shoupai)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).shoupai)[y];
for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
((*w1).shoupaishu)++;
break;
case 1:
for(;;)
{
(*w2).Kanzhuangbei();
printf("请输入装备之前的编号,以回车键结束!\n");
scanf("%d",&y);
if((((*w2).zhuangbei[y]).leixing!=-1)&&(y>=0)&&(y<=3))
{
printf("你牵走了电脑的");
((*w2).zhuangbei)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[y];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[y].leixing=-1;
if(!y)((*w2).zhuangbei[y]).changdu=1;
else if(y==2)((*w2).juli[0])++;
else if(y==3)((*w1).juli[0])--;
break;
}
else printf("你弃掉了一张空气!\n");
}
break;
case 2:
for(;;)
{
(*w2).Kanpandingpai();
printf("请输入判定牌之前的编号,以回车键结束!\n");
scanf("%d",&y);
if((*w2).pandingpai[y].leixing!=-1)
{
printf("你牵走了电脑的");
((*w2).pandingpai)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).pandingpai)[y];
((*w2).pandingshu)--;
((*w1).shoupaishu)++;
((*w2).pandingpai)[y].leixing=-1;
break;
}
else printf("你牵走了一张空气!\n");
}
break;
default:break;
}
}
else
{
if((*w2).zhuangbeishu)
{
if((*w2).zhuangbei[1].leixing!=-1)
{
printf("电脑牵走了玩家的");
((*w2).zhuangbei)[1].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[1];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[1].leixing=-1;
}
else if((*w2).zhuangbei[3].leixing!=-1)
{
printf("电脑牵走了玩家的");
((*w2).zhuangbei)[3].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[3];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[3].leixing=-1;
((*w1).juli[0])--;
}
else if((*w2).zhuangbei[0].leixing!=-1)
{
printf("电脑牵走了玩家的");
((*w2).zhuangbei)[0].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
}
else
{
printf("电脑牵走了玩家的");
((*w2).zhuangbei)[2].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[2];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[2].leixing=-1;
((*w2).juli[0])--;
}
}
else
{
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf("电脑牵走了玩家的手牌");
((*w2).shoupai)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).shoupai)[y];
for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
((*w1).shoupaishu)++;
}
}
}
void Wuzhong(wujiang*w1,pai A[104],int *x,pai B[104],int*y)
{
Mopai(&((*w1).shoupaishu),(*w1).shoupai,A,x,B,y,(*w1).juese);
}
int Juedou(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
{
int i,j,x;
if((*w1).juese)
{
for(;;)
{
j=0;
for(x=0;x<((*w2).shoupaishu);x++)
{
if((*w2).shoupai[x].leixing==101)
{
printf("电脑打出");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
j=1;
break;
}
}
if(!j)
{
printf("玩家对电脑造成1点伤害!\n");
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
break;
}
j=0;
for(;;)
{
printf("请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
if(((*w1).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
(*w1).Kanshoupai();
scanf("%d",&x);
if(x==-1)
{
int i;
((*w1).tili)--;
printf("电脑对玩家造成1点伤害!\n");
i=Binsi(w2,w1,qipaidui,qipaishu);
return i;
break;
}
else if(((*w1).zhuangbei[0].leixing==305)&&x==100)
{
pai p=Zhangba(w1,qipaidui,qipaishu);
p.paifu=-1;
printf("打出!\n");
j=1;
break;
}
else if((*w1).shoupai[x].leixing==101)
{
printf("玩家打出");
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
j=1;
break;
}
else printf("你确定你打出的是【杀】?\n");
}
}
}
else
{
for(;;)
{
j=0;
for(;;)
{
printf("请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
if(((*w1).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
(*w2).Kanshoupai();
scanf("%d",&x);
if(x==-1)
{
int i;
((*w2).tili)--;
printf("电脑对玩家造成1点伤害!\n");
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
break;
}
else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
{
pai p=Zhangba(w2,qipaidui,qipaishu);
p.paifu=-1;
printf("打出!\n");
j=1;
break;
}
else if((*w2).shoupai[x].leixing==101)
{
printf("玩家打出");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
j=1;
break;
}
else printf("你确定你打出的是【杀】?\n");
}
j=0;
for(x=0;x<((*w1).shoupaishu);x++)
{
if((*w1).shoupai[x].leixing==101)
{
printf("电脑打出");
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(int i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
j=1;
break;
}
}
if(!j)
{
printf("玩家对电脑造成1点伤害!\n");
((*w2).tili)--;
i=Binsi(w2,w1,qipaidui,qipaishu);
return i;
break;
}
}
}
}
int Jiedao(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
{
int i,j=0,x;
if((*w1).juese)
{
for(x=0;x<((*w2).shoupaishu);x++)
{
if((*w2).shoupai[x].leixing==101)
{
printf("电脑对玩家使用");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
j=1;
break;
}
}
if(j)
{
i=Sha(w2,w1,paidui,paiduishu,qipaidui,qipaishu);
return i;
printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
}
else
{
printf("电脑放弃使用【杀】,玩家获得电脑的武器");
(*w2).zhuangbei[0].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
(*w1).Kanshoupai();
return 0;
}
}
else
{
for(;;)
{
printf("请对电脑使用一张【杀】,否则电脑将获得你的武器!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
if(((*w2).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
(*w2).Kanshoupai();
scanf("%d",&x);
if(x==-1)break;
else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
{
pai p=Zhangba(w2,qipaidui,qipaishu);
p.paifu=-1;
printf("使用!\n");
j=1;
break;
}
else if((*w2).shoupai[x].leixing==101)
{
printf("玩家对电脑使用");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
j=1;
break;
}
else printf("你确定你使用的是【杀】?\n");
}
if(j)
{
i=Sha(w2,w1,paidui,paiduishu,qipaidui,qipaishu);
return i;
printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
}
else
{
printf("玩家放弃使用【杀】,电脑获得玩家的武器");
((*w2).zhuangbei)[0].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
return 0;
}
}
}
void Taoyuan(wujiang*w)
{
if((*w).tili<(*w).tilishangxian)
{
((*w).tili)++;
if((*w).juese)printf("玩家");
else printf("电脑");
printf("恢复1点体力!\n");
}
}
void Kaipai(pai paidui[104],int* paiduishu,int renshu,pai wugu[10])
{
int i;
printf("五谷丰登开牌:\n");
for(i=1;i<=renshu;i++)
{
wugu[i-1]=paidui[104-(*paiduishu)];
(*paiduishu)--;
printf("%d ",i-1);
wugu[i-1].Kanpai();
}
}
void Qupai(pai wugu[10],wujiang*w)
{
int i,x;
printf("五谷丰登开牌:\n");
for(i=0;(wugu[i].leixing)!=-1;i++)
{
printf("%d ",i);
wugu[i].Kanpai();
}
if((*w).juese)
{
for(;;)
{
printf("请选择你想要的卡牌,输入卡牌之前的编号,以回车结束!\n");
scanf("%d",&x);
if(wugu[x].leixing!=-1)
{
printf("玩家选择");
wugu[x].Kanpai();
(*w).shoupai[(*w).shoupaishu]=wugu[x];
((*w).shoupaishu)++;
for(i=x+1;i<=9;i++)wugu[i-1]=wugu[i];
wugu[9].leixing=-1;
break;
}
printf("你选择了一张空气加入手牌!");
}
}
else
{
printf("电脑选择");
wugu[0].Kanpai();
(*w).shoupai[(*w).shoupaishu]=wugu[0];
((*w).shoupaishu)++;
for(i=1;i<=9;i++)wugu[i-1]=wugu[i];
wugu[9].leixing=-1;
}
}
void Rengpai(pai wugu[10],pai qipaidui[104],int*qipaishu)
{
int i;
for(i=0;wugu[i].leixing!=-1;i++)
{
qipaidui[*qipaishu]=wugu[i];
(*qipaishu)++;
wugu[i].leixing=-1;
}
}
int Nanman(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
{
int i,x;
if((*w1).juese)
{
for(x=0;x<((*w2).shoupaishu);x++)
{
if((*w2).shoupai[x].leixing==101)
{
printf("电脑打出");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
return 0;
break;
}
}
printf("玩家对电脑造成1点伤害!\n");
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
}
else
{
for(;;)
{
printf("请打出一张【杀】响应【南蛮入侵】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
if(((*w2).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
(*w2).Kanshoupai();
scanf("%d",&x);
if(x==-1)
{
int i;
((*w2).tili)--;
printf("电脑对玩家造成1点伤害!\n");
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
break;
}
else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
{
pai p=Zhangba(w2,qipaidui,qipaishu);
p.paifu=-1;
printf("使用!\n");
return 0;
break;
}
else if((*w2).shoupai[x].leixing==101)
{
printf("玩家打出");
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
return 0;
break;
}
else printf("你确定你打出的是【杀】?\n");
}
}
}
int Wanjian(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
{
int i;
i=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(i==-1)
{
i=Binsi(w1,w2,qipaidui,qipaishu);
return i;
}
else return 0;
}
int Chupai(pai paidui[104],pai qipaidui[104],int *paiduishu,int*qipaishu,wujiang*w1,wujiang*w2,pai yuanshipaidui[2][4][13])
{
pai p1;
int sha=1;int y=-1,i,t=((*w1).shoupaishu)-1;
for(;;t--)
{
if((*w1).juese)
{
printf("\n电脑当前手牌数:%d\n",((*w2).shoupaishu));
(*w2).Kanzhuangbei();
(*w1).Kanshoupai();
(*w1).Kanzhuangbei();
}
int j=0;
if((*w1).juese&&((*w1).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
y=Xuanpai(w1,t);
p1=Panpai(w1,&sha,y,qipaidui,qipaishu);
if((p1).leixing==-1)break;
else if((p1).leixing==0)continue;
else
{
int duixiang;
duixiang=Mubiao(p1,w1,w2,&sha);
if(duixiang==-2)continue;
else
{
Da1pai(w1,w2,qipaidui,qipaishu,y);
Miaoshu(p1,((*w1).juese),duixiang);
if(!((*w1).juese))
{
printf("\n电脑当前手牌数:%d\n",((*w1).shoupaishu));
(*w1).Kanzhuangbei();
(*w2).Kanshoupai();
(*w2).Kanzhuangbei();
}
switch(p1.leixing)
{
case 101:
i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(i==-1){return -1;break;}
if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
break;
case 103:
Tao(w1);
break;
case 201:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))Chai(w1,w2,qipaidui,qipaishu);
else;
if((*w1).juese)(*w1).Kanshoupai();
break;
case 202:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))Qian(w1,w2);
else;
if((*w1).juese)(*w1).Kanshoupai();
break;
case 203:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))Wuzhong(w1,paidui,paiduishu,qipaidui,qipaishu);
else;
break;
case 204:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))
{
i=Juedou(w1,w2,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
}
break;
case 205:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))
{
i=Jiedao(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
}
break;
case 206:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))Taoyuan(w1);
j=0;
for(;;)
{
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))Taoyuan(w2);
break;
case 207:
pai wugu[10];
for(i=1;i<=10;i++)wugu[i-1].leixing=-1;
Kaipai(paidui,paiduishu,2,wugu);
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))Qupai(wugu,w1);
for(;;)
{
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))Qupai(wugu,w2);
Rengpai(wugu,qipaidui,qipaishu); printf("弃牌数:%d\n",*qipaishu);
break;
case 208:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))
{
i=Nanman(w1,w2,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
}
break;
case 209:
for(;;)
{
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
if(!i)break;
j++;
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!i)break;
j++;
}
if(!(j%2))
{
i=Wanjian(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
}
break;
case 361:
case 362:
case 363:
((*w1).juli[0])--;break;
case 381:
case 382:
case 383:
((*w2).juli[0])++;break;
default:break;
}
printf("\n");
}
}
}
return 0;
}
void Qipai(pai shoupai[20],int *shoupaishu,pai qipaidui[104],int *qipaishu,int juese,int *shoupaishangxian)
{
int x;
if((*shoupaishu)>(*shoupaishangxian))
{
if(juese!=1&&juese!=0)printf("身份参数错误!");
int q=(*shoupaishu)-(*shoupaishangxian);
int i,j;
for(j=1;j<=q;j++)
{
for(;;)
{
if(juese)
{
printf("弃牌请输入手牌之前的编号,以回车结束!\n注:一次只能弃一张牌\n");
printf("手牌数:%d\n",*shoupaishu);
scanf("%d",&x);
if(x>=0&&x<(*shoupaishu))break;
else printf("你弃掉了一张空气!\n");
}
else
{
srand((unsigned)time(NULL));
x=rand()%(*shoupaishu);
break;
}
}
qipaidui[*qipaishu]=shoupai[x];
for(i=x+1;i<=(*shoupaishu);i++)shoupai[i-1]=shoupai[i];
(*shoupaishu)--;
if(juese)printf("弃牌阶段玩家弃置");
else printf("弃牌阶段电脑弃置");
qipaidui[*qipaishu].Kanpai();
(*qipaishu)++;
int m;
if(juese)
{
printf("玩家当前手牌:\n");
for(m=0;m<=(*shoupaishu-1);m++)
{
printf("%d ",m);
(shoupai[m]).Kanpai();
}
} printf("弃牌堆:%d\n",*qipaishu);
}
}
}
int Huihe(pai A[104],pai B[104],int *x,int *y,pai yuanshipaidui[2][4][13],wujiang *w1,wujiang *w2)
{
printf("\n回合开始阶段……\n");
switch((*w1).huihekaishi)
{
case 0:break;
default:printf("回合开始阶段参数错误!\n");break;
}
printf("判定阶段……\n");
int K=0;
if((*w1).pandingshu>0)
{
int i,j;
for(;(*w1).pandingshu;)
{
switch((*w1).pandingpai[0].leixing)
{
case 251:printf("【乐不思蜀】开始判定……\n"); break;
case 252:printf("【闪电】开始判定……\n");break;
default:printf("【??】开始判定……\n");break;
}
j=0;
pai p=((*w1).pandingpai[0]);
for(;;)//在判定之前询问【无懈】
{
i=Wuxie(&p,w2,w1,B,y,0);
if(!i)break;
j++;
i=Wuxie(&p,w1,w2,B,y,0);
if(!i)break;
j++;
}
switch((*w1).pandingpai[0].leixing)
{
case 251:
if(!(j%2))
{
printf("【乐不思蜀】的判定牌是:");
Panding(A,x,B,y);
if((B[(*y)-1].huase)!=1)
{
printf("【乐不思蜀】判定成功!\n");
if((*w1).juese)printf("玩家");
else printf("电脑");
printf("跳过出牌阶段!\n");
K=-1;
}
else printf("【乐不思蜀】判定失败!\n");
}
B[*y]=(*w1).pandingpai[0];
((*w1).pandingshu)--;
(*w1).pandingpai[0]=(*w1).pandingpai[1];
(*w1).pandingpai[1]=(*w1).pandingpai[2];
(*w1).pandingpai[2].leixing=-1;
(*y)++;
break;
case 252:
if(!(j%2))
{
printf("【闪电】的判定牌是:");
Panding(A,x,B,y);
if((B[(*y)-1].huase==0)&&(B[(*y)-1].dianshu>=1)&&(B[(*y)-1].dianshu<=8))
{
printf("【闪电】判定成功!\n");
if((*w1).juese)printf("玩家");
else printf("电脑");
printf("受到3点雷电伤害!");
((*w1).tili)=((*w1).tili)-3;
i=Binsi(w2,w1,B,y);
B[*y]=(*w1).pandingpai[0];
((*w1).pandingshu)--;
(*w1).pandingpai[0]=(*w1).pandingpai[1];
(*w1).pandingpai[1]=(*w1).pandingpai[2];
(*w1).pandingpai[2].leixing=-1;
(*y)++;
if(i==-1)return -1;
}
else
{
printf("【闪电】判定失败!\n");
(*w2).pandingpai[2]=(*w2).pandingpai[1];
(*w2).pandingpai[1]=(*w2).pandingpai[0];
(*w2).pandingpai[0]=(*w1).pandingpai[0];
(*w1).pandingpai[0]=(*w1).pandingpai[1];
(*w1).pandingpai[1]=(*w1).pandingpai[2];
(*w1).pandingpai[2].leixing=-1;
((*w1).pandingshu)--;
((*w2).pandingshu)++;
}
break;
}
default:printf("判定牌错误!");
} printf("弃牌数:%d\n",*y);
}
}
else if(!((*w1).pandingshu));
else printf("判定阶段参数错误!\n");
printf("摸牌阶段……\n");
switch((*w1).mopai)
{
case 0:Mopai(&((*w1).shoupaishu),(*w1).shoupai,A,x,B,y,(*w1).juese);break;
case -1:break;
default:printf("摸牌阶段参数错误!\n");break;
}
if(K==-1)goto M;
printf("出牌阶段……\n");
switch((*w1).chupai)
{
case 0:
{
int i;
i=Chupai(A,B,x,y,w1,w2,yuanshipaidui);
if(i==-1)
{
return -1;
break;
}
else break;
}
case -1:break;
default:printf("出牌阶段参数错误!\n");break;
}
M:
printf("弃牌阶段……\n");
switch((*w1).qipai)
{
case 0:
Qipai((*w1).shoupai,&((*w1).shoupaishu),B,y,(*w1).juese,&((*w1).tili));break;
default:printf("弃牌阶段参数错误!\n");break;
}
printf("回合结束阶段……\n");
switch((*w1).huihejieshu)
{
case 0:break;
default:printf("回合结束阶段参数错误!\n");break;
}
return 0;
}
int main()
{
void Kanshoupai(pai p);
pai yuanshipaidui[2][4][13],qipaidui[104],paidui[104];
wujiang wanjia,com;
com.tili=wanjia.tili=5;
com.tilishangxian=wanjia.tilishangxian=5;
com.huihekaishi=wanjia.huihekaishi=0;
com.panding=wanjia.panding=0;
com.mopai=wanjia.mopai=0;
com.chupai=wanjia.chupai=0;
com.qipai=wanjia.qipai=0;
com.huihejieshu=wanjia.huihejieshu=0;
com.shoupaishu=wanjia.shoupaishu=0;
com.pandingshu=wanjia.pandingshu=0;
com.zhuangbeishu=wanjia.zhuangbeishu=0;
com.juese=0;wanjia.juese=1;
pai p;
p.leixing=-1;
com.zhuangbei[0]=com.zhuangbei[1]=com.zhuangbei[2]=com.zhuangbei[3]=wanjia.zhuangbei[0]=wanjia.zhuangbei[1]=wanjia.zhuangbei[2]=wanjia.zhuangbei[3]=p;
com.zhuangbei[0].changdu=wanjia.zhuangbei[0].changdu=1;
com.pandingpai[0]=com.pandingpai[1]=com.pandingpai[2]=wanjia.pandingpai[0]=wanjia.pandingpai[1]=wanjia.pandingpai[2]=p;
com.juli[0]=wanjia.juli[0]=1;
int a,b,c;
for(a=0;a<=1;a++)
{
for(b=0;b<=3;b++)
{
for(c=0;c<=12;c++)
{
yuanshipaidui[a][b][c].paifu=a;
yuanshipaidui[a][b][c].huase=b;
yuanshipaidui[a][b][c].dianshu=c;
}
}
}
yuanshipaidui[0][0][0].leixing=204;
yuanshipaidui[0][0][1].leixing=331;
yuanshipaidui[0][0][2].leixing=201;
yuanshipaidui[0][0][3].leixing=201;
yuanshipaidui[0][0][4].leixing=304;yuanshipaidui[0][0][4].changdu=3;
yuanshipaidui[0][0][5].leixing=251;
yuanshipaidui[0][0][6].leixing=101;
yuanshipaidui[0][0][7].leixing=101;
yuanshipaidui[0][0][8].leixing=101;
yuanshipaidui[0][0][9].leixing=101;
yuanshipaidui[0][0][10].leixing=202;
yuanshipaidui[0][0][11].leixing=201;
yuanshipaidui[0][0][12].leixing=208;
yuanshipaidui[0][1][0].leixing=209;
yuanshipaidui[0][1][1].leixing=102;
yuanshipaidui[0][1][2].leixing=103;
yuanshipaidui[0][1][3].leixing=103;
yuanshipaidui[0][1][4].leixing=308;yuanshipaidui[0][1][4].changdu=5;
yuanshipaidui[0][1][5].leixing=103;
yuanshipaidui[0][1][6].leixing=103;
yuanshipaidui[0][1][7].leixing=103;
yuanshipaidui[0][1][8].leixing=103;
yuanshipaidui[0][1][9].leixing=101;
yuanshipaidui[0][1][10].leixing=101;
yuanshipaidui[0][1][11].leixing=103;
yuanshipaidui[0][1][12].leixing=102;
yuanshipaidui[0][2][0].leixing=204;
yuanshipaidui[0][2][1].leixing=101;
yuanshipaidui[0][2][2].leixing=101;
yuanshipaidui[0][2][3].leixing=101;
yuanshipaidui[0][2][4].leixing=101;
yuanshipaidui[0][2][5].leixing=101;
yuanshipaidui[0][2][6].leixing=101;
yuanshipaidui[0][2][7].leixing=101;
yuanshipaidui[0][2][8].leixing=101;
yuanshipaidui[0][2][9].leixing=101;
yuanshipaidui[0][2][10].leixing=101;
yuanshipaidui[0][2][11].leixing=205;
yuanshipaidui[0][2][12].leixing=205;
yuanshipaidui[0][3][0].leixing=204;
yuanshipaidui[0][3][1].leixing=102;
yuanshipaidui[0][3][2].leixing=102;
yuanshipaidui[0][3][3].leixing=102;
yuanshipaidui[0][3][4].leixing=102;
yuanshipaidui[0][3][5].leixing=101;
yuanshipaidui[0][3][6].leixing=101;
yuanshipaidui[0][3][7].leixing=101;
yuanshipaidui[0][3][8].leixing=101;
yuanshipaidui[0][3][9].leixing=101;
yuanshipaidui[0][3][10].leixing=102;
yuanshipaidui[0][3][11].leixing=103;
yuanshipaidui[0][3][12].leixing=101;
yuanshipaidui[1][0][0].leixing=252;
yuanshipaidui[1][0][1].leixing=302;yuanshipaidui[1][0][1].changdu=2;
yuanshipaidui[1][0][2].leixing=202;
yuanshipaidui[1][0][3].leixing=202;
yuanshipaidui[1][0][4].leixing=383;
yuanshipaidui[1][0][5].leixing=303;yuanshipaidui[1][0][5].changdu=2;
yuanshipaidui[1][0][6].leixing=208;
yuanshipaidui[1][0][7].leixing=101;
yuanshipaidui[1][0][8].leixing=101;
yuanshipaidui[1][0][9].leixing=101;
yuanshipaidui[1][0][10].leixing=210;
yuanshipaidui[1][0][11].leixing=305;yuanshipaidui[1][0][11].changdu=3;
yuanshipaidui[1][0][12].leixing=362;
yuanshipaidui[1][1][0].leixing=206;
yuanshipaidui[1][1][1].leixing=102;
yuanshipaidui[1][1][2].leixing=207;
yuanshipaidui[1][1][3].leixing=207;
yuanshipaidui[1][1][4].leixing=361;
yuanshipaidui[1][1][5].leixing=251;
yuanshipaidui[1][1][6].leixing=203;
yuanshipaidui[1][1][7].leixing=203;
yuanshipaidui[1][1][8].leixing=203;
yuanshipaidui[1][1][9].leixing=101;
yuanshipaidui[1][1][10].leixing=203;
yuanshipaidui[1][1][11].leixing=201;
yuanshipaidui[1][1][12].leixing=381;
yuanshipaidui[1][2][0].leixing=301;yuanshipaidui[1][2][0].changdu=1;
yuanshipaidui[1][2][1].leixing=331;
yuanshipaidui[1][2][2].leixing=201;
yuanshipaidui[1][2][3].leixing=201;
yuanshipaidui[1][2][4].leixing=382;
yuanshipaidui[1][2][5].leixing=251;
yuanshipaidui[1][2][6].leixing=208;
yuanshipaidui[1][2][7].leixing=101;
yuanshipaidui[1][2][8].leixing=101;
yuanshipaidui[1][2][9].leixing=101;
yuanshipaidui[1][2][10].leixing=101;
yuanshipaidui[1][2][11].leixing=210;
yuanshipaidui[1][2][12].leixing=210;
yuanshipaidui[1][3][0].leixing=301;yuanshipaidui[1][3][0].changdu=1;
yuanshipaidui[1][3][1].leixing=102;
yuanshipaidui[1][3][2].leixing=202;
yuanshipaidui[1][3][3].leixing=202;
yuanshipaidui[1][3][4].leixing=306;yuanshipaidui[1][3][4].changdu=3;
yuanshipaidui[1][3][5].leixing=102;
yuanshipaidui[1][3][6].leixing=102;
yuanshipaidui[1][3][7].leixing=102;
yuanshipaidui[1][3][8].leixing=102;
yuanshipaidui[1][3][9].leixing=102;
yuanshipaidui[1][3][10].leixing=102;
yuanshipaidui[1][3][11].leixing=307;yuanshipaidui[1][3][11].changdu=4;
yuanshipaidui[1][3][12].leixing=363;
int paiduishu=104;
int qipaishu=0;
printf("游戏开始!\n");
Qishixipai(yuanshipaidui,paidui);
Qishishoupai(&wanjia,paidui,&(paiduishu),qipaidui,&(qipaishu));
Qishishoupai(&com,paidui,&(paiduishu),qipaidui,&(qipaishu));
int i;
for(;;)
{
i=Huihe(paidui,qipaidui,&paiduishu,&qipaishu,yuanshipaidui,&wanjia,&com);
if(i==-1)break;
i=Huihe(paidui,qipaidui,&paiduishu,&qipaishu,yuanshipaidui,&com,&wanjia);
if(i==-1)break;
}
}
play4
#include<bits/stdc++.h>
using namespace std;
struct Player
{
int gongjili;
int fangyuli;
int HP;
long int max_HP;
int level;
int exp;
int range_exp;
long int max_exp;
}player={50,40,100,100,1,0,0,100};
struct Guai
{
char name[200];
char wupin[100];
int gongjili;
int fangyuli;
int HP;
int money;
long int exp;
int wupin_sign;
int wupinpro;
int double_attack;
int shanbi;
}strongman={"森林巨人","巨人之臂",100,100,1000,200,100,1,2,1,2},
witch={"森林狼崽","白银甲",50,30,100,50,50,2,2,1,1},
xiyi={"森林蜥蜴","铁甲",30,25,50,30,35,3,3,2,0},
big_strongman={"森林巨人王","终极守护之甲",370,180,3000,800,400,4,4,2,3},
lions={"草原狮群","五重梦境之剑",700,150,1800,800,400,13,4,2,3},
lion={"草原雄狮","雄狮之爪",250,60,400,200,100,5,2,1,2},
horse={"草原野马","碧血剑",50,30,90,50,50,6,2,1,1},
bee={"草原黄蜂","长剑",30,20,60,30,35,7,3,2,0},
stone={"山脉岩石","匕首",30,40,100,50,20,0,4,2,0},
asshole={"山脉杂草","布衣",10,10,60,50,20,8,4,2,0},
shitu={"小猫咪","\0",700,200,2500,1200,600,-1,0,1,3},
hecheng={"创世机甲","幻锋",670,600,4000,1500,800,-1,0,1,3},
oldman={"小喵","\0",1000,700,5000,2000,1200,-1,0,1,4},
kkk={"斗篷人","\0",3000,1000,7000,2500,2200,-1,0,1,4},
guai={"\0","\0",0,0,0,0,0,0,0,0,0};
struct Place
{
int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3,mountain,mlgb,guangzhou;
}place={1,2,3,4,5,6,7,8,9,10,11};
char name1[1005];
int max_exp=0;
int choose_number=0,battle=0,money=50,kqs,kkkl,sl,dg,xxdd,yun=0,huanfeng=0,chou=10,du=0,strongman_arm,lion_hand;
int fang=0,fang1=30,fang1n=0,fang2=70,fang2n=0,fang3=100,fang3n=0,fang4=1000,fang4n=0,fang5=900;
int gong=0,gong1=30,gong1n=0,gong2=70,gong2n=0,gong3=100,gong3n=0,gong4=1000,gong4n=0,gong5=900;
bool huangyu=0,xieyina=0,heiwu=0,book=0;
char gongname[20]="无",fangname[20]="无";
char proof;
char *p;
void AddWupin(int);
void WhetherLevelUp();
int jieguo();
int suiji();
int bb();
int ta();
int shuohua();
void BattleAct();
void DisplayState();
void asd(char *);
int shangdian();
int main();
int shangdian()
{
system("cls");
cout<<" 商店"<<endl<<endl;
cout<<" 商品 作用 金币"<<endl<<endl;
cout<<"1.矿泉水 HP+100 50"<<endl<<endl;
cout<<"2.可口可乐 HP+700 200"<<endl<<endl;
cout<<"3.手雷 敌方HP-500 500"<<endl<<endl;
cout<<"4.电棍 敌方眩晕3回合 600"<<endl<<endl;
cout<<"5.小型导弹 敌方HP-1000 1000"<<endl<<endl;
cout<<"你的金币还剩"<<money<<endl<<endl;
printf("%s英雄,你要买什么?(0返回)\n",name1);
int s;
cin>>s;
if(s==1)
{
if(money>=50)
{
kqs++;
money-=50;
}
else asd("钱不够!");
}
if(s==2)
{
if(money>=200)
{
kkkl++;
money-=200;
}
else asd("钱不够!");
}
if(s==3)
{
if(money>=500)
{
sl++;
money-=500;
}
else asd("钱不够!");
}
if(s==4)
{
if(money>=600)
{
dg++;
money-=600;
}
else asd("钱不够!");
}
if(s==5)
{
if(money>=1000)
{
xxdd++;
money-=1000;
}
else asd("钱不够!");
}
}
int shuohua()
{
asd("要和谁说话?\n\n\n1.黄鱼 2.斗篷人 \n\n3.酒吧老板 4.道具店老板 5.抽奖店老板\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
if(huangyu==0)
{
asd("[黄鱼]:哇~路边的那个谢依娜好美啊!(~脸红~)\n\n[黄鱼]:这附近很凶险,给你100金币,闯天下吧!\n\n\n");
system("sleep 0.01");
money+=100;
huangyu=1;
}
else if(huangyu)
{
asd("[黄鱼]:我们是不是见过?有点眼熟······\n\n\n");
}
break;
case 2:
if(fang1n<1 && gong1n<1)
{
asd("[斗篷人]:你好!\n\n[斗篷人]:你需要从山脉里的怪兽开始,打败森林最深处的巨人王\n\n[斗篷人]:还有草原最深处的狮群才可以救回黄鱼!\n\n[斗篷人]:由于考虑到物资紧缺,给你匕首、布衣和金币,去闯天下吧!\n\n\n");
gong1n++;
fang1n++;
money+=500;
}
else asd("[斗篷人]:我们又见面了!\n\n\n[斗篷人]:不要被外面丛林和草原所吓倒!\n\n\n");
break;
case 3:
printf("要喝点什么?\n\n\n 1.二锅头20金币 HP+30 2.XO酒50金币 HP+100 \n\n3.人头马100金币 HP+150 4.我要卖东西 0.返回\n\n\n");
choose_number=1;
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number)
{
case 1:if(money<20)
{
asd("钱不够!");
}
else
{
if(player.HP+30<=player.max_HP)
{
asd("HP+30.");
money-=20;
player.HP+=30;
}
else
{
asd("HP满了");
player.HP=player.max_HP;
}
}
break;
case 2:if(money<50)
{
asd("钱不够!");
}
else
{
if(player.HP+80<=player.max_HP)
{
asd("HP+80.");
money-=50;
player.HP+=80;
} else
{
asd("HP满了");
player.HP=player.max_HP;
}
}
break;
case 3:if(money<100)
{
asd("钱不够!");
}
else
{
if(player.HP+150<=player.max_HP)
{
asd("HP+150.");
money-=100;
player.HP+=150;
}
else
{
asd("HP满了");
player.HP=player.max_HP;
}
}
break;
case 4:asd("要卖啥? 1.匕首50金币 2.长剑100金币 3.布衣50金币 4.铁甲100金币 0.返回\n\n\n");
while(choose_number)
{
switch(scanf("%d",&choose_number),choose_number)
{
case 1:if(gong1n>=1)
{
asd("金币加50.\n");
gong1n--;
money+=50;
}
else
{
asd("匕首不够\n");
}
break;
case 2:if(gong2n>=1)
{
asd("金币加100.\n");
gong2n--;
money+=100;
}
else
{
asd("长剑不够\n");
}
break;
case 3:if(fang1n>=1)
{
asd("金币加50.\n");
fang1n--;
money+=50;
}
else
{
asd("布衣不够\n");
}
break;
case 4:if(fang2n>=1)
{
asd("金币加100.\n");
fang2n--;
money+=100;
}
else
{
asd("铁甲不够\n");
}
break;
}
}
break;
printf("要吃或喝点什么?\n\n\n 1,白米饭20金币 HP+30 2,红牛50金币 HP+100 3,能量饮料100金币 HP+150 4,我要卖东西 0,返回\n\n\n");
switch(scanf("%d",&choose_number),choose_number)
case 0:asd("下次再来!\n");break;
}
}
break;
case 4:shangdian();break;
case 5:
asd("幸运大抽奖\n\n");
asd("下面是概率:谢谢参与70% 500金币20% 巨人之臂4% 雄狮之爪3% \n\n五重梦境之剑2% 终极守护者之甲0.99% 幻锋0.01%\n\n");
asd("100金币抽一次,每日上限10次!1.抽抽抽 2.默默离开\n\n");
switch(scanf("%d",&choose_number),choose_number)
{
case 1:if(chou>=1&&money>=100)
{
chou--;
money-=100;
srand(time(0));
int a=rand()%100+1;
int b=rand()%100+1;
if((a+2==b || a-2==b) ||(a+3==b||a-3==b)||(a+4==b||a-4==b))
{
asd("恭喜您抽中了500金币!\n");
money+=500;
break;
}
else if(a==b)
{
asd("恭喜您抽中了幻锋!!!\n");
huanfeng++;
break;
}
else if((a+1==b || a-1==b)&&(a>70&&b>70))
{
asd("恭喜您抽中了雄狮之爪!!!\n");
lion_hand++;
break;
}
else if(a==1||a==100||b==1||b==100||a==50||b==50)
{
asd("恭喜您抽中了巨人之臂!!!\n");
strongman_arm++;
break;
}
else
{
asd("很遗憾,您未中奖\n");break;
}
}
else asd("钱不够或抽奖次数用完了!\n");break;
break;
case 2:asd("下次再来!\n");break;
case 137902:
asd("欢迎来到Bug模式!\n 您将会免费得到幻锋和战力大加!!!");
huanfeng++;
player.gongjili=99999;
player.fangyuli=99999;
player.HP=99999;
player.max_HP=99999;
huanfeng++;
money=999999;
break;
default:asd("输入错误,请重新输入!\n\n\n");
}
break;
}
}
int suiji()
{
srand((unsigned)time(NULL));
return rand()%10;
}
void WhetherLevelUp()
{
int i=0,j=0;
int l1=player.range_exp/100;
int l2=player.range_exp/300;
int l3=player.range_exp/600;
if(player.level<=15&&l1>0) //15级以下,经验足够 都满足则升级
{
if(l1==1)
{
printf("%s",name1);
asd("升级!\n\n\n攻击力+5, 防御力+5, HP上限+20,氧气上限+1\n\n\n");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.gongjili+=5;
player.fangyuli+=5;
player.max_HP+=20;
player.HP=player.max_HP;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d,氧气上限+%d \n\n\n",5*l1,5*l1,20*l1,1*l1);
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.gongjili+=5*l1;
player.fangyuli+=5*l1;
player.max_HP+=20*l1;
player.HP=player.max_HP;
player.level+=l1;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=100*l1;
system("sleep 0.01");
}
}
else if(player.level<=40&&l2>0)
{
if(l2==1) {
printf("%s",name1);
asd("升级!\n\n\n攻击力+5, 防御力+5, HP上限+20,氧气上限+1\n\n\n");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.gongjili+=5;
player.fangyuli+=5;
player.max_HP+=20;
player.HP=player.max_HP;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d,氧气上限+%d\n\n\n",5*l2,5*l2,20*l2,1*l2);
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.gongjili+=5*l2;
player.fangyuli+=5*l2;
player.max_HP+=20*l2;
player.HP=player.max_HP;
player.level+=l2;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=300*l2;
}
}
else if(l3>0)
{
if(l3==1)
{
printf("%s",name1);
asd("升级!\n\n\n攻击力+5, 防御力+5, HP上限+20,氧气上限+1\n\n\n");
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.gongjili+=5;
player.fangyuli+=5;
player.max_HP+=20;
player.HP=player.max_HP;
player.level++;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600;
}
else
{
printf("好厉害!连升%d级!",l1);
printf("攻击力+%d, 防御力+%d, HP上限+%d,氧气上限+%d\n\n\n",5*l3,5*l3,20*l3,1*l3);
player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
player.gongjili+=5*l3;
player.fangyuli+=5*l3;
player.max_HP+=20*l3;
player.HP=player.max_HP;
player.level+=l3;
player.range_exp=0;
player.exp=player.max_exp;
player.max_exp+=600*l3;
}
}
}
int ta()
{
while(1)
{
system("cls");
cout<<"==========================================================================="<<endl;
printf("%s英雄,你要干什么? \n\n\n1.移动 2.背包 3.装备 4.商店 5.状态 6.对话 7.神秘的书 0.退出游戏\n\n\n",name1);
cout<<"==========================================================================="<<endl;
int sssss;
cin>>sssss;
if(sssss==1)
{
asd("要去哪里?\n\n\n");
printf("1.街道 2.医院 3.山脉 4.森林外围 5.森林内部 6.森林中心 \n\n7.草原外围 8.草原内部 9.草原中心\n\n10.NOIP(找小咪的选这里) 11.IOI(造幻锋的点这里) 12.小黑屋\n\n\n");
int place_sign;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:place_sign=place.bar; //记录目前位置-酒吧
// OrdinaryAct();
break;
case 2:place_sign=place.hotel;
asd("要住院吗? 99999个金币 1,是 0,否\n\n\n");
choose_number=1;
int s;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:if(money-99999<0)
{
asd("你的钱不够,被踢出了医院大门\n\n\n");
}
else
{
asd("好好住院\n\tHP满了\n\t\t第二个星期了\n\n");
money-=99999;
player.HP=player.max_HP;
du=0;
}
break;
case 0:asd("欢迎下次再来医院!\n\n\n");break;
default:asd("输入错误,请重新输入!\n\n\n");
}
place_sign=0; break;
case 3:
place_sign=place.mountain;
s=suiji();
if(s<7)
{
battle=1;
guai=asshole;
printf("%s挪了过来!\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=stone;
printf("%s滚了过来!\n\n",guai.name);
BattleAct();
}
else
{
asd("这里安全\n\n");
}
break;
case 4:
place_sign=place.forest1;
s=suiji();
if(s<7)
{
battle=1;
guai=xiyi;
printf("%s扑了过来!\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n",guai.name);
BattleAct();
}
else
{
asd("这里安全\n\n");
}
break;
case 5:
place_sign=place.forest2;
s=suiji();
if(s<7)
{
battle=1;
guai=witch;
printf("%s扑了过来!\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=strongman;
printf("%s扑了过来!\n\n",guai.name);
BattleAct();
}
else
{
asd("这里安全\n\n");
}
break;
case 6:
place_sign=place.forest3;
s=suiji();
if(s<6)
{
battle=1;
guai=strongman;
printf("%s扑了过来!\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=big_strongman;
asd("凶恶森林巨人王突然朝你扑了过来!\n\n");
BattleAct();0;
}
else
{
asd("这里安全\n\n");
}
break;
case 7:
place_sign=place.grass1;
s=suiji();
if(s<7)
{
battle=1;
guai=bee;
printf("%s飞了过来!\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=horse;
printf("%s冲了过来!\n\n",guai.name);
BattleAct();
}
else
{
asd("这里安全\n\n");
}
break;
case 8:
place_sign=place.grass2;
s=suiji();
if(s<7)
{
battle=1;
guai=horse;
printf("%s冲了过来!\n\n",guai.name);
BattleAct(); }
else if(s<9)
{
battle=1;
guai=lion;
printf("%s扑了过来!\n\n",guai.name);
BattleAct();
}
else
{
asd("这里安全\n\n");
}
break;
case 9:
place_sign=place.grass3;
s=suiji();
if(s<6)
{
battle=1;
guai=lion;
printf("%s扑了过来!\n\n",guai.name);
BattleAct();
}
else if(s<9)
{
battle=1;
guai=lions;
asd("一大波狮子飞快的冲了过来!!!\n\n");
BattleAct();0;
}
else
{
asd("这里安全\n\n");
}
break;
case 10:
place_sign=place.mlgb;
s=suiji();
if(s<3)
{
asd("高楼大厦挡住了你的视线,你什么都看不见\n\n");
}
else if(s<9)
{
battle=1;
if(huanfeng>=1)
{
asd("[小喵]:哈哈哈哈...又遇见本喵了?哈哈...做的不错,喵~\n\n[小喵]:不过...你被骗啦!!!这东西我都要了,黄鱼你也别想带走!\n\n\n");
huanfeng--;
guai=shitu;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else asd("[小喵]:想不到会遇见本喵吧?别打架...\n\n[小喵]:你有幻锋的话,我可以考虑放了黄鱼哦~\n\n\n");
}
break;
case 11:
place_sign=place.guangzhou;
s=suiji();
if(s<4)
{
asd("高楼大厦挡住了你的视线,你什么都看不见\n\n\n");
}
else if(s<9)
{
battle=1;
if(strongman_arm>=1&&lion_hand>=1)
{
asd("[创世机甲]:哈哈哈哈...又遇见我了?\n\n[创世机甲]:这两件东西我要了,但幻锋...你能打败我再说!\n\n\n");
strongman_arm--;lion_hand--;
guai=hecheng;
printf("%s扑了过来!\n\n\n",guai.name);
BattleAct();
}
else asd("[创世机甲]:你有雄狮之爪,巨人之臂的话,我可以帮你打造成幻锋哦~\n\n\n");
}
break;
case 12:
if(heiwu==1)
{
asd("[神秘的陌生人]:我们好像见过,在哪呢?\n\n");
}
if(heiwu==0)
{
system("cls");
cout<<" 小黑屋"<<endl<<endl;
cout<<" 1.生火 2.离开"<<endl<<endl;
asd("火堆熄灭了.房间寒冷刺骨.\n\n");
int huo;
cin>>huo;
if(huo==2) break;
if(huo>=3||huo<1) break;
if(huo==1)
{
system("cls");
cout<<" 生火间"<<endl<<endl;
asd("火堆燃烧着.\n\n火光映出窗外,投入黑暗之中.\n\n");
system("sleep 0.01");
asd("房间很冷,衣衫褴褛的陌生人步履瞒珊地走入门来,瘫倒在角落里.\n\n");
system("sleep 0.01");
asd("屋外寒风呼啸.陌生人瑟瑟发抖,呢喃不已,听不清在说什么.\n\n");
system("sleep 0.01");
asd("房子很暖和.\n\n");
system("sleep 0.01");
asd("角落里的陌生人不再颤抖了,他的呼吸平静了下来.\n\n");
system("sleep 0.01");
system("cls");
cout<<" 生火间"<<endl<<endl;
asd("[神秘的陌生人]:有缘人,谢谢你。\n\n");
system("sleep 0.01");
asd("[我]:哪里哪里,这是我应该做的。\n\n");
system("sleep 0.01");
asd("[神秘的陌生人]:作为报酬,我身上有2000金币和一本书籍,送给你了!\n\n");
money+=2000;
book=1;
heiwu=1;
asd("[神秘的陌生人]:有机会仔细读读那本书吧,可能会对你有很大帮助的!\n\n");
}
}
break;
default:asd("输入错误,请重新输入!\n\n\n");
}
}
if(sssss==2)
{
bb();
}
if(sssss==3)
{
printf("攻击武器: 1.匕首:%d个 2.长剑:%d个 3.碧血剑:%d个 4.五重梦境之剑:%d个\n\n\n",gong1n,gong2n,gong3n,gong4n);
printf("防御装备: 5.布衣:%d个 6.铁甲:%d个 7.白银甲:%d个 8.终极守护之甲:%d个\t\t0.返回\n\n\n",fang1n,fang2n,fang3n,fang4n);
asd("选择要装备的武器或防具:\n\n\n");
int sss;
cin>>sss;
if(sss==1)
{
if(gong1n>=1)
{
asd("拿起了匕首\n\n\n");
gong=gong1;
strcpy(gongname,"匕首");
}
else asd("你没有匕首可以装备\n\n\n");
}
if(sss==2)
{
if(gong2n>=1)
{
asd("拿起了长剑\n\n\n");
gong=gong2;
strcpy(gongname,"长剑");
}
else asd("你没有长剑可以装备\n\n\n");
}
if(sss==3)
{
if(gong3n>=1)
{
asd("拿起了碧血剑\n\n\n");
gong=gong3;
strcpy(gongname,"碧血剑");
}
else asd("你没有碧血剑可以装备\n\n\n");
}
if(sss==4)
{
if(gong4n>=1)
{
asd("拿起了五重梦境之剑\n\n\n");
gong=gong4;
strcpy(gongname,"五重梦境之剑");
}
else asd("你没有五重梦境之剑可以装备\n\n\n");
}
if(sss==5)
{
if(fang1n>=1)
{
asd("穿上了布衣\n\n\n");
fang=fang1;
strcpy(fangname,"布衣");
}
else asd("你没有布衣可以装备\n\n\n");
}
if(sss==6)
{
if(fang2n>=1)
{
asd("穿上了铁甲\n\n\n");
fang=fang2;
strcpy(fangname,"铁甲");
}
else asd("你没有铁甲可以装备\n\n\n");
}
if(sss==7)
{
if(fang3n>=1)
{
asd("穿上了白银甲\n\n\n");
fang=fang3;
strcpy(fangname,"白银甲");
}
else asd("你没有白银甲可以装备\n\n\n");
}
if(sss==8)
{
if(fang4n>=1)
{
asd("穿上了终极守护之甲\n\n\n");
fang=fang4;
strcpy(fangname,"终极守护之甲");
}
else asd("你没有终极守护之甲可以装备\n\n\n");
}
if(sss==0) asd("未更换装备\n\n\n");
if(sss<0&&sss>8) asd("输入错误,请重新输入!\n\n\n");
}
if(sssss==4)
{
shangdian();
}
if(sssss==5)
{
DisplayState();
}
if(sssss==6)
{
shuohua();
}
if(sssss==7)
{
system("cls");
cout<<" 神秘的书籍"<<endl<<endl;
if(book==0)
{
asd("空空如也~\n\n");
asd("获得方式——小黑屋\n\n");
}
if(book==1)
{
asd("打Boss攻略:\n\n");
asd("你可以先获得“五重梦境之剑”和“终极守护者之甲”\n\n然后打怪刷血量、攻击力、防御力就可以了\n\n");
asd("Tips:最终的Boss有让你生不如死的技能,血量最好到30000及以上\n\n\n");
asd("哦,对了!忘跟你说了,本书为封印书,可封印所有 Boss 500点攻击力!\n\n");
system("pause");
}
}
if(sssss==0)
{
cout<<"确定退出游戏? 1.确定 2.再想想 3.刷新一下"<<endl<<endl;
int a;
cin>>a;
if(a==1)
{
cout<<"数据储存中···"<<endl;
ofstream fout("game.kita");
fout<<name1<<" "<<money<<" "<<kqs<<" "<<kkkl<<" "<<sl<<" "<<dg<<" "<<xxdd;
fout<<endl<<player.gongjili<<" "<<player.fangyuli<<" "<<player.HP<<" "<<player.max_HP;
fout<<endl<<player.level<<" "<<player.exp<<" "<<player.max_exp;
fout<<endl<<fang<<" "<<fang1n<<" "<<fang2n<<" "<<fang3n<<" "<<fang4n;
fout<<endl<<gong<<" "<<gong1n<<" "<<gong2n<<" "<<gong3n<<" "<<gong4n;
fout<<endl<<huanfeng<<" "<<chou<<" "<<strongman_arm<<" "<<lion_hand;
fout<<endl<<gongname<<" "<<fangname<<" ";
fout<<endl<<huangyu<<" "<<xieyina<<" "<<heiwu<<" "<<book;
return 0;
}
if(a==2)
{
}
if(a==3)
{
cout<<"刷新成功,请重新登录!"<<endl;
ofstream fout("game.kita");
fout<<name1<<" "<<money<<" "<<kqs<<" "<<kkkl<<" "<<sl<<" "<<dg<<" "<<xxdd;
fout<<endl<<player.gongjili<<" "<<player.fangyuli<<" "<<player.HP<<" "<<player.max_HP;
fout<<endl<<player.level<<" "<<player.exp<<" "<<player.max_exp;
fout<<endl<<fang<<" "<<fang1n<<" "<<fang2n<<" "<<fang3n<<" "<<fang4n;
fout<<endl<<gong<<" "<<gong1n<<" "<<gong2n<<" "<<gong3n<<" "<<gong4n;
fout<<endl<<huanfeng<<" "<<chou<<" "<<strongman_arm<<" "<<lion_hand;
fout<<endl<<gongname<<" "<<fangname<<" ";
fout<<endl<<huangyu<<" "<<xieyina<<" "<<heiwu<<" "<<book;
main();
}
if(a>=4||a<=0)
{
asd("输入错误");
system("pause");
}
}
}
}
int jieguo()
{
if(guai.HP<=0)
{
battle=0;
printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);
system("sleep 0.01");
yun=0;
money+=guai.money;
player.exp+=guai.exp;
player.range_exp+=guai.exp;
int s=suiji();
if(s<guai.wupinpro)
{
asd("从附近发现");
printf("%s\n\n\n",guai.wupin);
AddWupin(guai.wupin_sign);
system("sleep 0.01");
}
WhetherLevelUp();
if(strcmp(guai.name,"创世机甲")==0)
{
asd("创世机甲:不错不错,能打赢我的人寥寥无几!幻锋就给你吧!\n") ;
huanfeng++;
system("sleep 0.01");
}
if(strcmp(guai.name,"小猫咪")==0)
{
asd("[小喵]:不错不错,把我守卫打倒了。\n\n[小喵]:但如果你能打赢我,我就放了黄鱼!说完") ;
battle=1;
guai=oldman;
printf("%s",guai.name);
asd("冲了过来,并爪了你一下\n\n[小喵]:你不好好在家打吃鸡,来这干什么?!你的HP减少了");
printf("%d\n\n",guai.gongjili+s-player.fangyuli/3);
player.HP-=guai.gongjili+s-player.fangyuli/3;
BattleAct();
system("sleep 0.01");
}
if(strcmp(guai.name,"小喵")==0)
{
system("cls");
asd("黄鱼被你救出来了!\n\n");
system("sleep 0.01");
asd("[我]:黄鱼已经被我救出来了,你到底是谁?\n\n");
system("sleep 0.01");
asd("[斗篷人]:比起这个······只可惜······\n\n");
system("sleep 0.01");
asd("[我]:???\n\n");
system("sleep 0.01");
asd("[斗篷人]:(突然拔起身上的刀)\n\n");
battle=1;
guai=kkk;
printf("%s",guai.name);
asd("冲了过来!\n\n[斗篷人]:看剑!你的HP减少了");
printf("%d\n\n",guai.gongjili+s-player.fangyuli/3);
player.HP-=guai.gongjili+s-player.fangyuli/3;
asd("\n\n你中毒了!\n\n(中毒特效:不能战斗,否则后果自负!)\n\n");
du++;
BattleAct();
system("sleep 0.01");
}
if(strcmp(guai.name,"斗篷人")==0)
{
asd("[我]:到此结束了!(摘下斗篷人的斗篷)\n\n");
system("sleep 0.01");
asd("[我]:你不就是小黑屋里的那个陌生人吗?!你到底有什么企图?\n\n");
system("sleep 0.01");
asd("[神秘的陌生人]······\n\n\n");
system("sleep 0.01");
asd("持续了一年的争斗终于结束了\n\n请写一篇玩后感(逃)~\n\n\n");
asd("此游戏终,按任意键退出游戏。\n\n");
getchar();
getchar();
exit(0);
}
return 1;
}
else
{
int s=suiji();
if(yun==0)
{
if((guai.gongjili+s-player.fangyuli/3)<=0)
{
printf("%s反击,你丝毫未损。\n\n",guai.name);
system("sleep 0.01");
}
else
{
if(fang4n>=1)
{
if(book==0)
{
player.HP-=(guai.gongjili+s-player.fangyuli/3)/2;
printf("%s反击,你的HP减少了%d\n\n",guai.name,(guai.gongjili+s-player.fangyuli/3)/2);
printf("触发终极守护者效果 反弹一半伤害!%sHP减少%d\n\n",guai.name,(guai.gongjili+s-player.fangyuli/3)/2);
system("sleep 0.01");
guai.HP-=(guai.gongjili+s-player.fangyuli/3)/2;
}
if(book==1)
{
guai.HP-=(guai.gongjili+s-player.fangyuli/3)/2;
if((guai.gongjili+s-player.fangyuli/3)/2+500<=0)
{
printf("%s反击,你丝毫未损。\n\n",guai.name);
}
else printf("%s反击,你的HP减少了%d\n\n",guai.name,(guai.gongjili+s-player.fangyuli/3)/2-500);
asd("封印书封印了部分攻击!你的HP增加500\n\n");
printf("触发终极守护者效果 %s承受一半伤害!HP减少%d\n\n",guai.name,(guai.gongjili+s-player.fangyuli/3)/2);
system("sleep 0.01");
player.HP-=(guai.gongjili+s-player.fangyuli/3)/2-500;
if(player.HP>player.max_HP) player.HP=player.max_HP;
}
}
else
{
if(book==0)
{
player.HP-=guai.gongjili+s-player.fangyuli/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.gongjili+s-player.fangyuli/3);
}
if(book==1)
{
if((guai.gongjili+s-player.fangyuli/3)/2+500<=0)
{
printf("%s反击,你丝毫未损。\n\n",guai.name);
}
else
{
printf("%s反击,你的HP减少了%d\n\n",guai.name,(guai.gongjili+s-player.fangyuli/3)/2-500);
asd("封印书封印了部分攻击!你的HP增加500\n\n");
system("sleep 0.01");
player.HP-=(guai.gongjili+s-player.fangyuli/3)/2-500;
if(player.HP>player.max_HP) player.HP=player.max_HP;
}
}
else
{
player.HP-=guai.gongjili+s-player.fangyuli/3;
printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.gongjili+s-player.fangyuli/3);
}
}
}
system("sleep 0.01");
}
else
{
printf("%s",guai.name);
asd("晕了,无法反击!\n\n");
yun--;
}
}
if(player.HP<=0)
{
battle=0;
printf("%s战死!金币掉落%d\n\n",name1,player.level*100);
asd("[斗篷人]:你怎么这么弱,竟然战死了!唉,让我帮你复活吧。\n\n");
asd("你又复活了!\n\n\n");
system("sleep 0.01");
money-=player.level*100;
player.HP=player.max_HP/5;
ta();
return 1;
}
return 0;
}
void AddWupin(int wupin_sign)
{
switch(wupin_sign)
{
case 0:gong1n++; break;
case 1:strongman_arm++; break;
case 2:fang3n++; break;
case 3:fang2n++; break;
case 4:fang4n++; break;
case 5:lion_hand++; break;
case 6:gong3n++; break;
case 7:gong2n++; break;
case 8:fang1n++; break;
case 9:gong4n++; break;
case 10:huanfeng++; break;
default:printf("空气!\n\n\n");
}
}
int bb()
{
system("cls");
cout<<" 背包"<<endl<<endl;
printf("1.矿泉水%d个 2.可口可乐%d个 3.手雷%d个 4.电棍%d个 5.小型导弹%d个\n\n",kqs,kkkl,sl,dg,xxdd);
printf("%s英雄,你要使用什么?(0返回)\n",name1);
int k;
cin>>k;
if(k==1)
{
if(kqs>=1)
{
player.HP+=100;
kqs--;
}
else cout<<"没有矿泉水了!";
system("sleep 0.01");
}
if(k==2)
{
if(kkkl>=1)
{
player.HP+=500;
kkkl--;
}
else cout<<"没有可口可乐了!";
system("sleep 0.01");
}
if(k==3)
{
if(battle)
{
if(sl>=1)
{
asd("使用手雷,敌人HP减少500\n\n\n");
sl--;
guai.HP-=500;
jieguo();
}
else asd("没有手雷了\n\n\n");
}
else asd("非战斗状态,不能使用!");
system("sleep 0.01");
}
if(k==4)
{
if(battle)
{
if(sl>=1)
{
asd("使用电棍,敌人HP减少600并眩晕三回合\n\n\n");
dg--;
guai.HP-=600;
yun=3;
jieguo();
}
else asd("没有电棍了\n\n\n");
}
else asd("非战斗状态,不能使用!");
system("sleep 0.01");
}
if(k==5)
{
if(battle)
{
if(sl>=1)
{
asd("使用小型导弹,敌人HP减少1000\n\n\n");
xxdd--;
guai.HP-=1000;
jieguo();
}
else asd("没有小型导弹了\n\n\n");
}
else asd("非战斗状态,不能使用!");
system("sleep 0.01");
}
}
int juqing()
{
system("cls");
cout<<" 剧情"<<endl<<endl;
cout<<" 1.跳过 2.开始"<<endl;
int s;
cin>>s;
if(s==2)
{
asd("137902年,一个特殊的年。\n\n");
asd("世界上最后一条鱼——黄鱼突然从中国失踪了?!\n\n");
system("pause");
system("cls");
asd("[我]:这是哪儿?(醒来)\n\n");
asd("[斗篷人]:你终于醒了?\n\n");
asd("[我]:???\n\n");
printf("[斗篷人]:%s,",name1);
asd("你记不起来了吗?\n\n");
asd("[斗篷人]:好吧,你记不起来也没关系。\n\n");
asd("[我]:(一脸懵逼的看着斗篷人)\n\n");
asd("[斗篷人]:其实,黄鱼是被小喵抓走的!你拼死保护黄鱼,但还是让小喵逃了。\n\n");
asd("[斗篷人]:勇敢的守护者啊,去吃,哦不,救出黄鱼!\n\n");
system("pause");
system("cls");
ta();
}
else if(s==1)
{
ta();
}
else
{
cout<<"输入错误!";
system("sleep 0.01");
system("cls");
return juqing();
}
}
int main()
{
system("cls");
system("title 罗志成创造的守护者2");
cout<<" 用心创造快乐"<<endl<<endl;
cout<<" 1.注册 2.登录"<<endl;
int s;
cin>>s;
if(s==2)
{
ifstream fin("game.kita");
fin>>name1;
fin>>money>>kqs>>kkkl>>sl>>dg>>xxdd;
fin>>player.gongjili>>player.fangyuli>>player.HP>>player.max_HP;
fin>>player.level>>player.exp>>player.max_exp;
fin>>fang>>fang1n>>fang2n>>fang3n>>fang4n;
fin>>gong>>gong1n>>gong2n>>gong3n>>gong4n;
fin>>huanfeng>>chou>>strongman_arm>>lion_hand;
fin>>gongname>>fangname;
fin>>huangyu>>xieyina>>heiwu>>book;
asd("登录成功!\n\n");
system("pause");
}
else if(s==1)
{
system("cls");
cout<<"用户名:";
cin>>name1;
if(strcmp(name1,"小咪")==0)
{
asd("\n小咪 啊!你终于可以重见天日了!\n\n\n小咪重新觉醒... 随即... 暴走!!!\n\n\n");//开挂程序
player.gongjili=1000;
player.fangyuli=1000;
player.HP=1000;
player.max_HP=3000;
huanfeng++;
money=5000;
gong4n++;
fang4n++;
}
if(strcmp(name1,"罗志成")==0)
{
asd("\n[开发者]:你竟然敢写我的名字上去!\n\n\n");
asd("按任意键结束游戏\n\n\n");
getchar();
getchar();
exit(0);
}
system("sleep 0.01");
system("cls");
}
else
{
asd("输入错误!");
system("cls");
return main();
}
juqing();
return 0;
}
void DisplayState()
{
printf("%s 攻击力:%d+%d=%d 防御力:%d+%d=%d HP:%d/%d \n\n\n",name1,player.gongjili,gong,player.gongjili+gong,player.fangyuli,fang,player.fangyuli+fang,player.HP,player.max_HP);
printf("武器: %s 防具: %s 金币:%d 剩余抽奖次数:%d\n\n\n",gongname,fangname,money,chou);
printf("等级:%d 经验:%d/%d 还需要%d经验升级\n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp);
system("pause");
}
void BattleAct()
{
while(1)
{
asd("\n\n");
puts("=====================================================================");
asd("你要怎么办?\n\n\n 1.攻击 2.使用物品 3.查看状态 4.战略性撤退(逃跑)\n\n\n");
int s,k;
switch(scanf("%d",&choose_number),choose_number)
{
case 1:
k=suiji();
if(k>=guai.shanbi||yun!=0)
{
printf("%s攻击! %sHP减少%d\n\n",name1,guai.name,player.gongjili+k+gong-guai.fangyuli/3);
guai.HP-=player.gongjili+k+gong-guai.fangyuli/3;
if(gong4n>=1)
{
printf("触发五重梦境效果 %sHP再减少%d,并令目标眩晕3回合。\n\n\n",guai.name,(player.gongjili+k+gong-guai.fangyuli/3)/2);
guai.HP-=(player.gongjili+k+gong-guai.fangyuli/3)/2;
system("sleep 0.01");
yun=3;
}
}
else printf("%s躲开了攻击!\n\n\n",guai.name);
if(du>=1)
{
printf("%s正在中毒!HP减少%d!!!\n\n",name1,du*500);
player.HP-=du*500;
system("sleep 0.01");
}
if(jieguo())return; //如果攻击有结果(敌人或玩家战死)退出函数
else continue;
case 2:
if(du>=1)
{
printf("%s正在中毒!HP减少%d!!!\n\n",name1,du*500);
player.HP-=du*500;
system("sleep 0.01");
}
bb();
break; //选择物品,可以使用,战斗中允许使用攻击性物品
case 3:DisplayState();break; //显示状态
case 4:
s=suiji();
if(s<7) //70%的概率可以逃跑
{
asd("你成功逃跑了!\n\n\n");
battle=0;
ta();
}
else asd("逃跑失败!\n\n\n");
if(du>=1)
{
printf("%s正在中毒!HP减少%d!!!\n\n\n",name1,du*500);
player.HP-=du*500;
system("sleep 0.01");
}
break;
default:asd("输入错误,请重新输入!\n\n\n");
}
}
}
void asd(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
system("sleep 0.01");
}
}
play5
#include<bits/stdc++.h>
using namespace std;
string name1,name2;
int hp1,hp2,gj1,gj2,fy1,fy2;
string jin[30]={"会心一击","回复术","闪电拳","诅咒","治愈魔法","火球术","雷击术","重击","生命之轮","减速术","撞击","背刺","铁壁","吸血攻击","净化","伤害反弹盾","瘟疫","攻击","攻击","攻击","攻击","攻击","攻击","攻击","暴击","投毒","治疗药剂","攻击","攻击","10连击"};
double gj[30]={6,3,5.5,5,5,4,4.5,3,0,1,3.7,8,0,2,2,0,7,1,1,1,1,1,3.5,1,2,1,1,0.55};
int main()
{
cout <<"----------------------名字大作战之lucy2008更新版----------------------原创:QAQer\n";
cout <<"P1的名字:";
cin >> name1;
cout <<"P2的名字:";
cin >> name2;
while(name1==name2)//更新点在此!!!
{
cout<<"重名,请重新输入P2的名字!\n";
cout <<"P2的名字:";
cin >> name2;
}
cout << name1 <<" VS "<< name2 << endl;
//
int num1=0,num2=0;
for(int i=0;i<=name1.size();i++)
num1=num1+int(name1[i]);
for(int i=0;i<=name2.size();i++)
num2=num2+int(name2[i]);
num1=abs(num1);
num2=abs(num2);
//
system("sleep 0.2");
cout<<name1<<" "<<"HP";
hp1=150+num1%450;
cout<<hp1<<" "<<"攻"<<" ";
if(num1%60<40)
gj1=num1%60+40,cout<<num1%60+40;
else
gj1=num1%60,cout<<num1%60;
cout<<" "<<"防"<<" ";
if(num1%70<40)
fy1=num1%70+40,cout<<num1%70+40;
else
fy1=num1%70+40,cout<<num1%70;
cout<<" "<<"速"<<" ";
if(num1%80<40)
cout<<num1%80+40;
else
cout<<num1%80;
cout<<" "<<"敏"<<" ";
if(num1%90<40)
cout<<num1%90+40;
else
cout<<num1%90;
cout<<" "<<"魔"<<" ";
if(num1%45<30)
cout<<num1%35+30;
else
cout<<num1%45;
cout<<" "<<"抗"<<" ";
if(num1%65<30)
cout<<num1%65+40;
else
cout<<num1%65;
cout<<" "<<"智"<<" ";
cout<<num1%100<<endl;
cout<<name2<<" "<<"HP";
hp2=150+num2%450;
cout<<hp2<<" "<<"攻"<<" ";
if(num2%60<40)
gj2=num2%60+40,cout<<num2%60+40;
else
gj2=num2%60,cout<<num2%60;
cout<<" "<<"防"<<" ";
if(num2%70<40)
cout<<num2%70+40;
else
cout<<num2%70;
cout<<" "<<"速"<<" ";
if(num2%80<40)
cout<<num2%80+40;
else
cout<<num2%80;
cout<<" "<<"敏"<<" ";
if(num2%90<40)
cout<<num2%90+40;
else
cout<<num2%90;
cout<<" "<<"魔"<<" ";
if(num2%45<30)
cout<<num2%35+30;
else
cout<<num2%45;
cout<<" "<<"抗"<<" ";
if(num2%65<30)
cout<<num2%65+40;
else
cout<<num2%65;
cout<<" "<<"智"<<" ";
cout<<num2%100<<endl;
system("sleep 3");
//
system("sleep 0.5");
cout << 3 << endl;
system("sleep 0.5");
cout << 2 << endl;
system("sleep 0.5");
cout << 1 << endl;
system("sleep 0.5");
cout <<"Go!!!\n";
system("sleep 0.5");
//
fy1/=10; fy2/=10;
gj1/=10; gj2/=10;
int tb1=0,tb2=0,ft1=0,ft2=0,du1=0,du2=0,ys1=0,ys2=0;
while(hp1>0 && hp2>0)
{
srand((unsigned)time(NULL));
int fs=rand()%30,jishu=5+rand()%10;
if(fs==4 || fs==1)
{
int ran=rand()%2+1;
if(ran==1)
fs=1;
hp1+=jishu*gj[fs];
cout << name1 <<"使用"<< jin[fs] <<",回复"<< jishu*gj[fs] <<"点hp ";
cout << name1 <<"hp:"<< hp1 <<'\n';
}
else
if(fs==8)
{
int sjs=rand()%2;
if(hp1>hp2 || sjs)
{
cout << name1 <<"使用激光,造成75固定伤害!";
hp2-=75;
cout << name1 <<"hp:"<< hp1 <<" ";
cout << name2 <<"hp:"<< hp2 <<'\n';
}
else
{
swap(hp1,hp2);
cout << name1 <<"使用生命之轮,"<< name1 <<"的生命和"<< name2 <<"的生命互换。 ";
cout << name1 <<"hp:"<< hp1 <<" ";
cout << name2 <<"hp:"<< hp2 <<'\n';
}
}
else
if(fs==12)
{
tb1=4;
cout << name1 <<"发动铁壁!\n";
}
else
if(fs==15)
{
ft1=2;
cout << name1 <<"发动伤害反弹盾!\n";
}
else
if(fs==14)
{
if(!du1)
{
fs=18;
cout << name1 <<"发动攻击! "<< name2 <<"hp-12。\n";
hp2-=12;
cout << name1 <<"hp:"<< hp1 <<'\n';
cout << name2 <<"hp:"<< hp2 <<'\n';
}
else
cout << name1 <<"发动净化! "<< name1 <<"被净化了。\n";
if(du1!=0)
du1=0;
}
else
if(fs==13)
{
cout << name1 <<"发动吸血攻击!\n";
hp2-=15;
hp1+=15;
cout << name1 <<"hp:"<< hp1 <<" ";
cout << name2 <<"hp:"<< hp2 <<'\n';
}
else
if(fs==16)
{
int r=rand()%2;
if(r)
{
if(tb2!=0)
{
cout << name1 <<"发动瘟疫,被铁壁阻挡。";
hp2-=15;
cout << name2 <<"hp-15\n";
}
else
{
int ran=rand()%3+3;
hp2*=(10-ran)*0.1;
cout << name1 <<"发动瘟疫,"<< name2 <<"的hp减少"<< ran <<"0%。 "<< name2 <<"hp:"<< hp2 << endl;
}
}
else
cout << name1 <<"发动会心一击 "<< name2 <<"hp-30\n",hp2-=30;
}
else
if(fs==29)
{
cout << name1 <<"使用10连击 "<< name2 <<"hp";
for(int i=1;i<=10;i++)
{
jishu=5+rand()%10;
hp2-=jishu*0.55;
cout <<'-'<< (int)(jishu*0.55);
}
cout << endl;
cout << name1 <<"hp:"<< hp1 <<" ";
cout << name2 <<"hp:"<< hp2 <<'\n';
}
else
{
if(jin[fs]=="背刺")
{
cout << name1 <<"潜行到"<< name2 <<"的背后\n";
int sss=rand()%3;
if(sss==1)
cout << name1 <<"的潜行被识破\n\n";
else
{
cout << name1 <<"发动"<< jin[fs] << endl;
cout << name2 <<"hp-"<< abs(jishu*gj[fs]+gj1-fy2) <<'\n';
hp2-=abs(jishu*gj[fs]+gj1-fy2);
}
}
else
{
cout << name1 <<"发动"<< jin[fs] << endl;
if(fs==25)
du2=3;
if(fs==26)
ys1=3;
if(tb2!=0)
{
hp2-=1;
cout << name2 <<"hp-1\n";
}
else
if(ft2!=0)
{
hp1-=abs(jishu*gj[fs]+gj1-fy2);
cout << name1 <<"hp-"<< abs(jishu*gj[fs]+gj1-fy2) <<'\n';
}
else
{
int randon=rand()%40;
if(!randon)
{
cout << name2 <<"防御, hp-"<< abs(jishu*gj[fs]*0.6+gj1-fy2) << endl;
hp2-=abs((int)(jishu*gj[fs]*0.6+gj1)-fy2);
}
else
if(randon==1)
cout << name2 <<"闪避, hp-0\n";
else
{
cout << name2 <<"hp-"<< abs(jishu*gj[fs]+gj1-fy2) <<'\n';
hp2-=abs(jishu*gj[fs]+gj1-fy2);
}
}
cout << name1 <<"hp:"<< hp1 <<" ";
cout << name2 <<"hp:"<< hp2 <<'\n';
}
}
cout <<"\n";
system("sleep 2");
if(ft2!=0)
ft2--;
if(tb2!=0)
tb2--;
if(du2!=0)
{
cout << name2 <<"毒发, hp-"<< 10+rand()%10 << endl;
hp2-=10+rand()%10;
du2--;
}
if(ys2!=0)
{
cout << name2 <<"药水发挥药效, hp+"<< 10+rand()%10 << endl;
hp2+=10+rand()%10;
ys2--;
}
if(hp1<=0 || hp2<=0)
break;
//
//
//
//
fs=rand()%30,jishu=5+rand()%10;
if(fs==4 || fs==1)
{
int ran=rand()%2+1;
if(ran==1)
fs=1;
hp2+=jishu*gj[fs];
cout << name2 <<"使用"<< jin[fs] <<",回复"<< jishu*gj[fs] <<"点hp ";
cout << name2 <<"hp:"<< hp2 <<'\n';
}
else
if(fs==8)
{
if(hp2>hp1)
{
cout << name2 <<"使用激光,造成75固定伤害!";
hp1-=75;
cout << name2 <<"hp:"<< hp2 <<" ";
cout << name1 <<"hp:"<< hp1 <<'\n';
}
else
{
swap(hp1,hp2);
cout << name2 <<"使用生命之轮,"<< name2 <<"的生命和"<< name1 <<"的生命互换。 ";
cout << name2 <<"hp:"<< hp2 <<" ";
cout << name1 <<"hp:"<< hp1 <<'\n';
}
}
else
if(fs==12)
{
tb2=4;
cout << name2 <<"发动铁壁!\n";
}
else
if(fs==15)
{
ft2=2;
cout << name2 <<"发动伤害反弹盾!\n";
}
else
if(fs==14)
{
if(!du2)
{
fs=18;
cout << name2 <<"发动攻击! "<< name1 <<"hp-12。\n";
hp1-=12;
cout << name2 <<"hp:"<< hp2 <<'\n';
cout << name1 <<"hp:"<< hp1 <<'\n';
}
else
cout << name2 <<"发动净化! "<< name2 <<"被净化了。\n";
if(du2!=0)
du2=0;
}
else
if(fs==13)
{
cout << name2 <<"发动吸血攻击!\n";
hp1-=15;
hp2+=15;
cout << name2 <<"hp:"<< hp2 <<" ";
cout << name1 <<"hp:"<< hp1 <<'\n';
}
else
if(fs==16)
{
int r=rand()%2;
if(r)
{
if(tb1!=0)
{
cout << name2 <<"发动瘟疫,被铁壁阻挡。 ";
hp1-=15;
cout << name1 <<"hp-15\n";
}
else
{
int ran=rand()%3+3;
hp1*=(10-ran)*0.1;
cout << name2 <<"发动瘟疫,"<< name1 <<"的hp减少"<< ran <<"0%。 "<< name1 <<"hp:"<< hp1 << endl;
}
}
else
cout << name2 <<"发动会心一击 "<< name1 <<"hp-30\n",hp1-=30;
}
else
if(fs==29)
{
cout << name2 <<"使用10连击 "<< name1 << "hp";
for(int i=1;i<=10;i++)
{
jishu=5+rand()%10;
hp1-=jishu*0.55;
cout <<'-'<< (int)(jishu*0.55);
}
cout << endl;
cout << name2 <<"hp:"<< hp2 <<" ";
cout << name1 <<"hp:"<< hp1 <<'\n';
}
else
{
if(jin[fs]=="背刺")
{
cout << name2 <<"潜行到"<< name1 <<"的背后\n";
int sss=rand()%3;
if(sss==1)
cout << name2 <<"的潜行被识破\n\n";
else
{
cout << name2 <<"发动"<< jin[fs] << endl;
cout << name1 <<"hp-"<< abs(jishu*gj[fs]+gj1-fy2) <<'\n';
hp1-=abs(jishu*gj[fs]+gj1-fy2);
}
}
else
{
cout << name2 <<"发动"<< jin[fs] << endl;
if(fs==25)
du1=3;
if(fs==26)
ys2=3;
if(tb1!=0)
{
hp1-=1;
cout << name1 <<"hp-1\n";
}
else
if(ft1!=0)
{
hp2-=abs(jishu*gj[fs]+gj2-fy1);
cout << name2 <<"hp-"<< abs(jishu*gj[fs]+gj2-fy1) <<'\n';
}
else
{
int randon=rand()%40;
if(!randon)
{
cout << name1 <<"防御, hp-"<< abs(jishu*gj[fs]*0.6+gj2-fy1)<< endl;;
hp1-=(int)(jishu*gj[fs]*0.6+gj2);
}
else
if(randon==1)
cout << name1 <<"闪避, hp-0\n";
else
{
cout << name1 <<"hp-"<< abs(jishu*gj[fs]+gj2-fy1) <<'\n';
hp1-=abs(jishu*gj[fs]+gj2-fy1);
}
}
}
cout << name2 <<"hp:"<< hp2 <<" ";
cout << name1 <<"hp:"<< hp1 <<'\n';
}
cout <<"\n---------------------------------------\n\n";
system("sleep 2");
if(ft1!=0)
ft1--;
if(tb1!=0)
tb1--;
if(du1!=0)
{
cout << name1 <<"毒发, hp-"<< 10+rand()%10 << endl;
hp1-=10+rand()%10;
du1--;
}
if(ys1!=0)
{
cout << name1 <<"药水发挥药效, hp+"<< 10+rand()%10 << endl;
hp1+=10+rand()%10;
ys1--;
}
}
if(hp1>0)
cout << name1 <<"赢了。";
else
cout << name2 <<"赢了。";
system("pause");
return 0;
}
play6
#include <iostream>
#include <ctime>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <queue>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <stack>
#include <set>
#include <map>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#include<string.h>
using namespace std;
double sudu=3;
bool jieju;
string aaa[101];
int nnn=10,mmm=10,k,x=1,y=1;
struct me
{
int blood=600,speed=85,attack=500;
}m;
struct slm
{
int blood=50,attack=5,speed=10;
}m1;
struct zombie
{
int blood=100,attack=15,speed=20;
}m2;
struct godzilla
{
int blood=10000,attack=250,speed=50;
}m3;
struct super_godzilla
{
int blood=100000,attack=5000,speed=85;
}m4;
struct laoban
{
int blood=10000,attack=5000,speed=85;
}m5;
struct devola
{
int blood=1000000,attack=10000,speed=90;
}m6;
struct jushou
{
int blood=1000,attack=100,speed=50;
}m7;
struct slm2
{
int blood=25,attack=3,speed=5;
}m8;
struct Pavris
{
int blood=500,attack=99,speed=20;
}m9;
struct drzo
{
int blood=1000000,attack=9999,speed=85;
}m10;
struct bianfu
{
int blood=300,attack=25,speed=75;
}m11;
struct langren
{
int blood=1000,attack=100,speed=50;
}m12;
struct dujiao
{
int blood=500,attack=300,speed=50;
}m13;
struct banmaohu
{
int blood=5000,attack=500,speed=75;
}m14;
struct haobo8
{
int blood=1000000000,attack=1000000000,speed=100;
}m15;
struct sts
{
int blood=6000,attack=1000,speed=50;
}m16;
struct gongzhu
{
int blood=100,attack=25,speed=50;
}m17;
void jiazai()
{
printf("正在检查网络...\n0");
printf("正在连接服务器...\n▊15");
printf("加载资源中...\n█▎25");
printf("加载资源中...\n██▊55");
printf("加载资源中...\n███▌70");
printf("加载资源中...\n███▊75");
printf("正在加载剧情...\n████▌90");
printf("正在加载怪兽...\n█████100");
printf("正在进入新章节...\n█████100");
}
void SlowDisplay(char *p)
{
while(1)
{
if(*p!=0)
printf("%c",*p++);
else
break;
int i;
for(int now=1;now<=sudu*30*10000;now++){
i=i;
}
}
}
void texiao()
{
for(int i=1; i<=10; i++)
{
}
}
void out()
{
int i,j;
for(i=1;i<=nnn;i++)
{
for(j=0;j<=mmm;j++)
{
cout<<aaa[i][j]<<" ";
}
cout<<endl;
}
return;
}
bool judge(int x,int y)
{
if(x<1||y<0)return 0;
if(x>10||y>10)return 0;
if(aaa[x][y]=='*')return 0;
return 1;
}
bool jianshang=true;
long long coin=100,a1=10,a3=15,a4=100,a5=25,a6=20,level=1,e1=0,e2=100,tian=1,ct=0;
double a2=10;
bool bai=true,zuihan=true,jiuguan=true;
int main()
{
srand((unsigned)time(NULL)*10);
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
if(m.blood>1000000&&m.attack>10000&&m.speed>=85)
{
int c2=3,c3=10,c4=5,c5=1;
SlowDisplay("...\n");
SlowDisplay("...\n");
SlowDisplay("...\n");
SlowDisplay("恭喜进入开挂结局!!!孩子提前改代码是不好哒。。。既然这么喜欢开挂,那就验证你开挂开的有用吧!!!\n");
SlowDisplay("开挂玩家haobo8向你扑了过去!!! QAQ\n");
texiao();
int saot=0,lt=0,t;
bool saopi=false,liang=false;
while(m.blood>0&&m15.blood>0)
{
if(saot==3)
{
saot=0;
saopi=false;
}
if(saopi)
saot++;
if(lt==3)
{
lt=0;
liang=false;
}
if(liang)
lt++;
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m15.blood<<endl;
if(liang==false)
{
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m15.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m15.blood-=a1;
m15.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m1.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m15.speed||saopi==true)
cout<<"敌方躲避了攻击"<<endl;
else
{
m15.blood-=a3;
m15.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m15.blood-=a5;
m15.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
}
else
{
lt++;
cout<<"你的血还有"<<m.blood<<endl;
SlowDisplay("你无法动弹。。。\n");
}
int dt=rand()%10;
if(dt==1)
{
SlowDisplay("haobo8使用超人挂,飞上了天,“看尽世界风云,风景这边更好”,于是他涨了血\n");
m15.blood+=2333;
}
else if(dt==2)
{
t=m15.blood;
SlowDisplay("haobo8使用锁血挂,3回合不减血\n");
saopi=true;
}
else if(dt==3)
{
SlowDisplay("haobo8使了冰冻挂,你3回合无法动弹\n");
liang=true;
}
else if(dt==4)
{
SlowDisplay("haobo8使了爆头挂▄︻┻┳═一…… ☆(>○<),你血减好多\n");
m.blood-=44444444;
}
else if(dt==5)
{
SlowDisplay("haobo8使了巨人挂,他血乘2\n");
m15.blood*=2;
}
else
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m15.attack);
if(saopi)
m15.blood=t;
}
if(m.blood<=0)
{
cout<<"你死了"<<endl;
return 0;
}
else{
cout<<"敌人死了,然而你忘了对方有复活挂!!!QAQ"<<endl;
return 0;
}
}
SlowDisplay("请问你的名字是什么?(不大于5个字符)\n");
string name;
cin>>name;
if(name=="Crish")
{
SlowDisplay("真正的名字。。。\n");
texiao();
}
while(name.size()>5) {
printf("名称错误,请重新输入\n");
cin>>name;
}
int t;
while(t!=1)
{
cout<<name;
printf(",你好欢迎来到暗黑诅咒游戏\n");
cout<<"主菜单:"<<endl;
cout<<"1.开始游戏"<<endl<<"2.查看人物介绍"<<endl<<"3.查看更新日志"<<endl<<"4.查看新手攻略"<<endl<<"5.查看设置"<<endl<<"6.查看目录"<<endl<<"7.haobo8是蒟蒻"<<endl<<"8.重大广告(必看!!!!!)"<<endl;
cin>>t;
if(t==1)
system("cls");
else if(t==3)
{
SlowDisplay("0.1.1更新加入奸商老板剧情,修复了一些bug,看看自己里加入了文字提示\n");
SlowDisplay("0.1.2修复了一些bug,有了更新日志,加入升级系统,还加了一点怪物介绍\n");
SlowDisplay("0.1.3加入暗黑地府章节,改了点bug,加入天数系统,加入买报系统\n");
SlowDisplay("0.2.0经过蒟蒻haobo8建议优化了一下,加载速度快了,改了名字小于5字符bug\n");
SlowDisplay("0.2.1 感谢Ryan提出的bug,改了许多bug,增加醉汉剧情,但没更完,目前还没有查看地图功能,增加第二章,还增加酒馆。。。还更了开挂模式!!!\n");
SlowDisplay("0.2.2经过巨佬shiys2017提出的bug,改了许多,增多剧情和怪物技能。\n");
SlowDisplay("0.2.3增添超级哥斯拉的暴走术,新添第三章,有了查看地图\n");
SlowDisplay("0.3.0增添人物介绍,新手攻略,设置,第三章更新完,再次感谢haobo8改了一个bug\n");
SlowDisplay("0.3.1增加毁灭结局(提示第三章,3次试图战斗Pavris即可进入毁灭结局),增添目录,增添日记\n");
SlowDisplay("0.3.2增添第四章一半。。。感谢北辰yama找到的bug\n");
SlowDisplay("0.3.3增添第四章,改了地图显示的bug,增添懦夫结局(第一章逃跑10次,即可进入,超级难打!!!),取消开挂模式,增添特效和主菜单\n");
SlowDisplay("0.3.4直接更完第五章。。。第五章很长。。。游戏代码已经超过2000行了!!!\n");
SlowDisplay("0.4.0一口气更完第六章。。。改了一些文字上的bug。。。\n");
SlowDisplay("0.4.1一口气更完第七章和第八章一点。。。增加开挂结局。。。\n");
SlowDisplay("0.4.2更完第八章,寒假没时间更。。。感谢wanghanjun提出的bug\n");
SlowDisplay("0.4.3更完第九章。。。\n");
SlowDisplay("0.5.0更了点第十章。。。\n");
SlowDisplay("1.0.0更完所有,除了黑化结局。。。\n");
}
else if(t==4)
{
SlowDisplay("基本没什么攻略,唯一攻略就是当玩第一章时血量达600,额外攻击力500,速度85时就可以打哥斯拉了。\n");
SlowDisplay("顺便说一下第一章纯打怪,会有点长,枯燥。必须买神圣仙药触发剧情。\n");
SlowDisplay("就说这么多了,游戏愉快!!!\n");
}
else if(t==7)
{
bool haobo=true;
while(haobo)
{
cout<<"haobo8是个蒟蒻!!!!!!"<<endl;
}
}
else if(t==5)
{
cout<<"输入1吐字速度飞快,2吐字速度较快,3中等,4很慢"<<endl;
int she;
cin>>she;
if(she==1)
sudu=0.5;
if(she==2)
sudu=1;
if(she==3)
sudu=2;
if(she==4)
sudu=3;
cout<<"第一章难度: 1.困难 2.正常 3.简单"<<endl;
int she2;
cin>>she2;
if(she2==1)
{m.blood=100;
m.attack=0;
m.speed=5;
coin=100;}
if(she2==2)
{
m.blood=600;
m.attack=500;
m.speed=85;
coin=100;}
if(she2==3){
m.blood=1000000;
m.attack=10000;
m.speed=85;
coin=10000;}
}
else if(t==2)
{
SlowDisplay("你:无介绍\n");
SlowDisplay("devola:暗黑王子,法力极强,传说只有光明派领头人才能打败他,剧透:夜光珠也能打败他\n");
SlowDisplay("大胡子:50多岁,精力十足,会闪现和传送,掌握黑魔法\n");
SlowDisplay("Pavris:懒惰爱喝酒,但救过主人公不少次。\n");
SlowDisplay("Sarais:竹子国奸臣,谋害主人公多次。\n");
SlowDisplay("ENDER:三头蛇的外号,德沃拉手下的怪物\n");
}
else if(t==8)
{
SlowDisplay("2019 3月份\n");
SlowDisplay("暗黑诅咒第二季——Pavris的封印即将正式出品\n");
SlowDisplay("地下迷城谜团重重\n");
SlowDisplay("佩刀杀人狂身现江湖\n");
SlowDisplay("人类与法师战争正在酝酿\n");
SlowDisplay("九个灵魂成就强大法师\n");
SlowDisplay("厮杀 战争 牺牲 真相扑朔迷离\n");
SlowDisplay("3月24日,暗黑诅咒团队,咱们不见不散!!!\n");
}
else if(t==6)
{
SlowDisplay("第一章 失忆\n");
SlowDisplay("第二章 暗黑地府\n");
SlowDisplay("第三章 河边奇遇\n");
SlowDisplay("第四章 Pavris的房子\n");
SlowDisplay("第五章 森林遇险\n");
SlowDisplay("第六章 智取夜光珠\n");
SlowDisplay("第七章 竹子国危机\n");
SlowDisplay("第八章 越狱\n");
SlowDisplay("第九章 墓地决斗\n");
SlowDisplay("第十章 真相\n");
}
else
{
cout<<"ByeBye~"<<endl;
return 0;
}
}
printf("文字游戏:暗黑诅咒(The Curse Of Darkness)\n");
printf("出品人:drzo(teacherga)\n");
printf("版本:1.0.0\n");
printf("按任意键开始");
getchar();
jiazai();
cout<<"输入1看剧情,否则跳过。"<<endl;
int twqewqe;
cin>>twqewqe;
if(twqewqe==1)
{
SlowDisplay("传说,很久以前,有个野心十足、四处寻求法术的人叫Crivola,他学会了很多巫术,一天他在一颗树下冥思,内心十分挣扎,他不知道是该为人们做很多好事,还是用他强大的法力占据世界,于是他用了分裂术,分裂成了两个人,分别去寻求自己所追求的思想,约定2个世纪后再合体。\n");
SlowDisplay("两个人很快就建立了两个派别,分别为暗黑派和光明派,一个追求毁灭,一个追求美好,暗黑派的那个人很快有了根据地和人手,向光明派发出进攻。。。\n");
SlowDisplay("建立黑暗派的那个人对所有反对他的人都进行了暗黑诅咒,其中就有ZO村,最后经历1个世纪两个派别的争斗,渐渐地光明派占了上风,暗黑派渐渐消失,但暗黑诅咒一直存留下来,建立暗黑派和光明派的人都老了,只好都投胎转世。");
SlowDisplay("很快过了30年就有个人自称是暗黑王子,建立暗黑派的人转胎后的人,他就是德沃拉佩奇王子,但。。。光明派的建立者转胎后再也没有出现,据说他失忆了,导致再也没有人能打败暗黑王子,暗黑王子逐渐去进攻20天后暗黑诅咒就显灵的ZO村,然而,ZO村里有个人坚信勇气能战胜一切,他就是-----");
cout<<name<<endl;
SlowDisplay("目前游戏很辣鸡,希望各位大佬谅解,QAQ\n");
}
SlowDisplay("祝你们游戏愉快,输入1开始\n");
int a,tc=0;
cin>>a;
if(a==1)
{
SlowDisplay("第一章 失忆\n");
SlowDisplay("第1天,暗黑诅咒19天后显灵\n");
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为10) 2.冰封(能使3次,让敌方速度减10) 3.霹雳(使10次,攻击为15) 4.万物复苏(使5次,血+100) 5.天崩地裂(1次,攻击25,涨血20)"<<endl<<"你的金币有"<<coin<<"个"<<endl;
int c1=0;
int c2=0;
bool flag=true;
while(flag)
{
int c2=3,c3=10,c4=5,c5=1;
if(tc==10)
{
SlowDisplay("伟大的勇士啊,你为何如此懦弱!你已经逃跑了10次了,没错,我一直在数着,哦,我是谁?我是游戏出品人drzo,我一直在你背后偷窥着你。。。\n");
SlowDisplay("那么,你觉得");
cout<<"你";
system("sleep 0.5");
cout<<"有";
system("sleep 0.5");
cout<<"勇";
system("sleep 0.5");
cout<<"气";
system("sleep 0.5");
cout<<"吗";
system("sleep 0.5");
cout<<"?"<<endl;
cout<<"1.有 2.无"<<endl;
int yongqi;
cin>>yongqi;
if(yongqi==1)
{
SlowDisplay("恭喜你进入懦夫结局,如果你觉得你有勇气,就证明你的实力吧!!!\n");
}
else
{
SlowDisplay("恭喜你进入懦夫结局,这个世界是属于勇者的,所以。。。再见了。。。\n");
}
cout<<name;
system("sleep 0.125");
cout<<"见";
system("sleep 0.125");
cout<<"到";
system("sleep 0.125");
cout<<"你";
system("sleep 0.125");
cout<<"是";
system("sleep 0.125");
cout<<"我";
system("sleep 0.125");
cout<<"的";
system("sleep 0.125");
cout<<"荣幸,";
system("sleep 0.125");
cout<<"再";
system("sleep 0.125");
cout<<"见";
system("sleep 0.125");
cout<<"了"<<endl;
SlowDisplay("游戏出品人drzo,也就是我,朝你扑过去了!!! QAQ\n");
texiao();
int saot=0,lt=0;
bool saopi=false,liang=false;
while(m.blood>0&&m10.blood>0)
{
if(lt==3)
{
lt=0;
liang=false;
}
if(saot==3)
{
saot=0;
saopi=false;
}
if(saopi)
saot++;
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m10.blood<<endl;
if(liang==false)
{
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m10.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m10.blood-=a1;
m10.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m1.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m10.speed||saopi==true)
cout<<"敌方躲避了攻击"<<endl;
else
{
m10.blood-=a3;
m10.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m10.blood-=a5;
m10.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
}
else
{
lt++;
cout<<"你的血还有"<<m.blood<<endl;
SlowDisplay("你无法动弹。。。\n");
}
int dt=rand()%10;
if(dt==1)
{
SlowDisplay("drzo是这个游戏控制者,他打了个响指,你血瞬间减了一半。。。\n");
m.blood/=2;
}
else if(dt==2)
{
SlowDisplay("drzo使用臊皮走位,3回合打不着\n");
saopi=true;
}
else if(dt==3)
{
SlowDisplay("drzo唱了凉凉,你3回合无法动弹\n");
liang=true;
}
else if(dt==4)
{
SlowDisplay("drzo问你32+56=?,你答88,drzo立马喊了个诶,敌方加8888滴血。。。\n");
m10.blood+=8888;
}
else
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m10.attack);
}
if(m.blood<=0)
{
cout<<"你死了"<<endl;
return 0;
}
else{
cout<<"敌人死了,由于你杀了游戏出品人,游戏瞬间崩掉!!!QAQ"<<endl;
return 0;
}
}
if(e1>=e2)
{
int h=e1/e2;
level+=e1/e2;
e1=e1%e2;
e2+=50;
cout<<"你升级了!!!攻击力&血量都多了!!!"<<endl;
a1+=2*h;
a3+=3*h;
a5+=5*h;
a6+=4*h;
a4+=10*h;
a2+=(5*h)/100;
m.blood+=10*h;
coin+=100*h;
}
if(zuihan)
cout<<"你要:1.去药店 2.打怪 3.看看自己 4.去买报(需100金币,报纸内容一天变一次) 5.去酒馆(一天只能去一次,开局必去,有重要剧情!!!) 6.回家"<<endl;
else
cout<<"你要:1.去药店 2.打怪 3.看看自己 4.去买报(需100金币,报纸内容一天变一次) 5.去酒馆(一天只能去一次) 6.回家 7.查看地图 "<<endl;
int p;
cin>>p;
if(p==6)
{
cout<<"输入1,查看你写的日记"<<endl;
int riji;
cin>>riji;
if(riji==1)
{
SlowDisplay("11月13日 我失忆了,我躺在医院里不知所措,他们说是在山沟里发现我的,我已经昏迷了5年了。 12月1日 我感觉我在这个世上毫无意义,我想自杀。 5月7日 好久没写日记了,我终于发现了我的意义,拯救ZO村。。。\n");
SlowDisplay("日记在这里戛然而止。。。\n");
}
else
cout<<"你合上了日记,离开了家。"<<endl;
}
else if(p==7)
{
if(zuihan)
cout<<"输入错误。。。"<<endl;
else
{
printf("############################\n");
printf(".bbbbb...hhh....a.a.a..ccc.a\n");
printf("...@......hhh....aaa..aa.@.*\n");
printf("#######.#...hhh%%..aaaa..aaa.\n");
printf("^zzzzzzz#@...hhhh..aaaa...a.\n");
printf("zzzzzzzz#....&.hhh....aaa.a.\n");
printf("zzzzzzzz#@....hhhhh....a.a.a\n");
printf("#########........hhhhh....aa\n");
printf("....................hhhhh..a\n");
printf("############################\n");
}
}
else if(p==5)
{
if(jiuguan==false)
{
cout<<"今天已经来过。。。"<<endl;
}
else
{
if(zuihan)
SlowDisplay("酒馆醉汉对你大喊道:听说你。。。,,,要。。。打佩奇???很不错。。。嘛。。。我有个。。。地图。。。送给你。。。地图上标的*号是。。。宝藏的。。。位置。。。。宝藏里装的东西。。。能拯救世界!!!^是你的位置哈。。。。给你。。。吧。。。\n");
zuihan=false;
cout<<"你要什么:1.烤全羊 2.啤酒 3.离开(全部免费)"<<endl;
int ppp;
cin>>ppp;
if(ppp==1)
{
cout<<"烤全羊真香!!!血量增加100"<<endl;
m.blood+=100;
}
if(ppp==2)
{
cout<<"烤啤酒真香!!!额外攻击力增加50"<<endl;
m.attack+=50;
}
if(ppp==3)
cout<<"离开成功。。。"<<endl;
jiuguan=false;
}
}
else if(p==4)
{
if(coin>=100)
{
coin-=100;
if(tian==1)
SlowDisplay("新闻头条:*ZO村仍危在旦夕,勇士努力拯救世界,卧底混入村庄*\n");
if(tian==2)
SlowDisplay("新闻头条:*村长发表演讲:勇士是否能拯救村庄?我表示怀疑。。。勇士还是懦夫?*\n");
if(tian==3)
SlowDisplay("新闻头条:*许多怪物被干掉,村庄危机减半,公主被抓,谁能拯救公主,赏金10000*");
if(tian==4)
SlowDisplay("新闻头条:*佩奇暗黑王子抓住村长,村民即将崩溃,暗黑诅咒即将16天后显灵!!!*");
if(tian>4)
SlowDisplay("如今的卖报厅已被哥斯拉踩扁,没人在这里卖报了。。。");
}
else
cout<<"钱不够!!!"<<endl;
}
else if(p==3)
{
cout<<"你的血量:"<<m.blood<<endl<<"你的额外攻击力:"<<m.attack<<endl<<"你的速度(速度上限85):"<<m.speed<<endl;
long long ttt=e1/10;
cout<<"你的经验为:";
for(int i=0; i<ttt; i++)
{
cout<<"█";
}
cout<<e1<<"/"<<e2<<endl;
cout<<"你的等级为:"<<level<<endl;
}
else if(p==2)
{
int t=rand()%7;
if(c1==1)
{
t=7;
}
if(t<=3)
{
m1.blood=50;
cout<<"你遇见了史莱姆!史莱姆蠢萌蠢萌的,对你伤害不会太大,建议新手与它作战,技能:分裂术"<<endl;
cout<<"你逃跑吗? 1.作战 2.逃跑(会罚款)"<<endl;
int w;
cin>>w;
if(w==2)
{
tc++;
coin-=100;
cout<<"逃跑成功"<<endl;
continue;
}
while(m.blood>0&&m1.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m1.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m1.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m1.blood-=a1;
m1.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m1.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m1.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m1.blood-=a3;
m1.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m1.blood-=a5;
m1.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m1.attack);
}
}
if(t>3&&t<=5)
{
m2.blood=100;
cout<<"你遇见了僵尸!他们不仅相貌丑陋,也凶狠残暴,干掉他们吧!!!技能:僵尸病毒"<<endl;
cout<<"你逃跑吗? 1.作战 2.逃跑(会罚款)"<<endl;
int w;
cin>>w;
if(w==2)
{
tc++;
coin-=100;
cout<<"逃跑成功"<<endl;
continue;
}
bool bd=false;
int bdc=0;
while(m.blood>0&&m2.blood>0)
{
if(bdc==3)
{
bdc=0;
bd=false;
}
if(bd)
bdc++;
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m2.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m2.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m2.blood-=a1;
m2.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m2.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m2.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m2.blood-=a3;
m2.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m2.blood-=a5;
m2.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
if(rand()%11==1)
{
cout<<"敌方扔出了僵尸病毒!!!你中了毒!!!3回合持续减血!!!"<<endl;
bd=true;
m.blood-=25;
}
else
{
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m2.attack);
if(bd)
{
cout<<"你因为毒素减血了!!!"<<endl;
m.blood-=5;
}
}
}
}
if(t==6)
{
m3.blood=10000;
cout<<"你遇见了哥斯拉!它力大无穷,新手千万别尝试,它可以一巴掌呼死你的!!!技能:无"<<endl;
cout<<"你逃跑吗? 1.作战 2.逃跑(会罚款)"<<endl;
int w;
cin>>w;
if(w==2)
{
tc++;
coin-=100;
cout<<"逃跑成功"<<endl;
continue;
}
while(m.blood>0&&m3.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m3.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m3.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m3.blood-=a1;
m3.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m3.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m3.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m3.blood-=a3;
m3.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m3.blood-=a5;
m3.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m3.attack);
}
}
if(t==7)
{
bool bao=false;
int cb=0;
m4.blood=100000;
cout<<"你遇见了超级哥斯拉!"<<endl;
SlowDisplay("超级哥斯拉:你杀死了我的哥斯拉弟弟,我来报仇啦!!!技能:暴走术\n");
cout<<"你逃跑吗? 1.作战 2.逃跑(会罚款)"<<endl;
int w;
cin>>w;
if(w==2)
{
tc++;
coin-=100;
cout<<"逃跑成功"<<endl;
continue;
}
while(m.blood>0&&m4.blood>0)
{
if(cb==3)
{
bao=false;
cb=0;
}
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m4.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m4.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m4.blood-=a1;
m4.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m4.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m4.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m4.blood-=a3;
m4.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m4.blood-=a5;
m4.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
if(rand()%11==1)
{
cout<<"敌方使用了暴走术!!!3回合攻击力大幅度提升!!!"<<endl;
bao=true;
}
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
{
if(bao)
{
m.blood-=(rand()%5+m4.attack)*2;
cb++;
}
else
m.blood-=(rand()%5+m4.attack);
}
}
}
if(m.blood<=0)
{
cout<<"你死了"<<endl;
return 0;
}
else
{
system("cls");
if(t<=3)
{
cout<<"史莱姆分裂出了一个小史莱姆!!!"<<endl;
m8.blood=25;
while(m.blood>0&&m8.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m8.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m8.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m8.blood-=a1;
m8.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m8.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m8.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m8.blood-=a3;
m8.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m8.blood-=a5;
m8.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m8.attack);
}
if(m.blood<=0)
{
cout<<"你死了"<<endl;
return 0;
}
else{
cout<<"敌人死了,涨金币了"<<endl;
coin+=10;
e1+=50;}
}
else if(t>3&&t<=5)
{
cout<<"敌人死了,涨金币了"<<endl;
coin+=100;
e1+=100;
}
else if(t==6)
{
cout<<"敌人死了,涨金币了"<<endl;
coin+=1000;
c1++;
e1+=500;
}
else
{
cout<<"敌人死了,涨金币了"<<endl;
coin+=5000;
e1+=10000;
}
}
}
else
{
if(jianshang)
{
SlowDisplay("奸商老板:哈哈哈,小伙子,志向不错哈,想打败佩奇(●—●),我会支持你的。\n");
SlowDisplay("奸商老板:顺便提一下如果你买了一管药,你就会自动食用它,买神圣仙药有惊喜啊~骚年,加油吧~\n");
jianshang=false;
}
cout<<"你的金币有"<<coin<<endl;
cout<<"你要买: 0.离开 1.攻击力药水 25元 2.超级攻击力药水 100元 3.生命力药水 10元 4.超级生命力药水 100元 5.速度药水 10元 6.无敌药水 1000元 7.哥斯拉药水 5000元 8.神圣仙药 10000元"<<endl;
int r;
cin>>r;
if(r==0)
SlowDisplay("正在离开中。。。\n");
else if(r==1&&coin>=25)
{
e1+=1;
m.attack+=10;
coin-=25;
cout<<"购买成功"<<endl;
}
else if(r==2&&coin>=100)
{
e1+=1;
m.attack+=50;
coin-=100;
cout<<"购买成功"<<endl;
}
else if(r==3&&coin>=10)
{
e1+=1;
m.blood+=50;
coin-=10;
cout<<"购买成功"<<endl;
}
else if(r==4&&coin>=100)
{
e1+=1;
m.blood+=600;
coin-=100;
cout<<"购买成功"<<endl;
}
else if(r==5&&coin>=10&&m.speed<=75)
{
e1+=1;
m.speed+=10;
coin-=10;
cout<<"购买成功"<<endl;
}
else if(r==6&&coin>=1000&&m.speed<=75)
{
e1+=1;
m.speed+=10;
m.attack+=2500;
m.blood+=30000;
coin-=1000;
cout<<"购买成功"<<endl;
}
else if(r==8&&coin>=10000)
{
e1+=1;
SlowDisplay("奸商老板:哈哈哈,小伙子,虽然志向不错哈,但你被骗喽,我是德沃拉王子派来的卧底来杀你的,你买的神圣仙药也是毒药,哈哈哈~\n");
SlowDisplay("你的血和攻击力还有速度直接减了一半,于此同时奸商老板拿着硫酸瓶向你扑过来!!!QAQ\n");
m.speed/=2;
m.attack/=2;
m.blood/=2;
while(m.blood>0&&m5.blood>0)
{
cout<<"敌方的血还有"<<m5.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m5.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m5.blood-=a1;
m5.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m5.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m5.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m5.blood-=a3;
m5.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m5.blood-=a5;
m5.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方泼出了硫酸!!!"<<endl;
if(rand()%101<m.speed)
{
cout<<"你试图躲避,但硫酸是范围攻击!!!"<<endl;
m.blood-=(rand()%5+m5.attack);
}
m.blood-=(rand()%5+m5.attack);
}
if(m.blood<=0)
{
cout<<"你死了"<<endl;
return 0;
}
else
{
cout<<"敌人死了,涨金币了"<<endl;
SlowDisplay("卧倒在地的在吐血的奸商老板:哈哈哈,小伙子,虽然战斗力不错哈,但你被骗喽,!@# $#%^%&^%^#$ %@#% $^%^&$ ^#$%#^&%*(**,哈哈~\n");
SlowDisplay("奸商老板说出了一些奇怪的咒语,与此同时药店震了起来,随着一声巨响,你眼前一黑\n");
SlowDisplay("第一章 完\n");
system("pause");
coin+=5000;
system("cls");
system("cls");
jiazai();
SlowDisplay("恭喜进入第二章暗黑地府\n");
system("cls");
int zing;
cout<<"输入1查看剧情,否则跳过。"<<endl;
cin>>zing;
if(zing==1)
{
SlowDisplay("躺倒在地的你睁开眼睛:我。。。在哪里。。。有人吗。。。\n");
SlowDisplay("你四周一片漆黑,全是潮湿的大理石,你试图起来,但你被捆在地上。。。\n");
SlowDisplay("这时你望见远处一个人,带着斗篷看不清脸庞,慢慢走进,对你说:没错。。。没错。。。我就是你们所恐惧的德沃拉佩奇暗黑王子,今天,我暗黑王子,和你们所敬佩的勇士面对面,而你们的勇士现在却被捆在地上!哈哈哈~\n");
SlowDisplay("德沃拉用手指轻轻滑过捆着你的绳子,绳子断了。。。\n");
SlowDisplay("德沃拉:我和你今天要决斗,我要杀了你,让大家再也不怀疑我的实力,哈哈哈~\n");
SlowDisplay("正在他笑的时候,你使出霹雳试图突击,但他轻轻用胳膊一拨,攻击便反弹回你身上,你被击倒在地狼狈不堪。。。\n");
SlowDisplay("德沃拉:你试图突袭我,想的美!今天你要死在你们村庄的公主面前!哈哈哈!\n");
SlowDisplay("被捆在一旁的公主:救救我~\n");
SlowDisplay("你:佩奇,你想跟我决斗,好,我今天就跟你决斗。。。你慢慢地站了起来。。。\n");
SlowDisplay("你话音刚落你和佩奇同时使出绝招,顿时整个地牢火光四溅,啥也看不清,就在这时,你看到一个大胡子的人把你揪在一旁,那个大胡子的人也揪住公主,一秒后随着德沃拉的喊叫声,蓝光四起,你眼前再次一片漆黑。。。\n");
}
SlowDisplay("过了一会儿。。。躺倒在地的你睁开眼睛:我。。。在哪里。。。你四周看了看,你又看见,躺倒在地的大胡子的人。。。\n");
SlowDisplay("大胡子:我的能量不足了,只能带你传送到这里了。。。我是村长派来救你的,你先带着公主跑吧,边管我,后头还有人追着。。。\n");
SlowDisplay("话音刚落后头追上来一个暗黑巨兽。。。\n");
SlowDisplay("你只得往前跑去,距跑出地府还有100米。。。\n");
for(int i=0; i<100; i++)
{
system("sleep 0.1");
cout<<"距跑出地府还剩"<<100-i<<"米"<<endl;
int iii=rand()%10;
if(iii==1)
{
int c2=3,c3=10,c4=5,c5=1;
m7.blood=1000;
cout<<"你迎面遇到了暗黑巨兽。。。"<<endl;
while(m.blood>0&&m7.blood>0)
{
cout<<"敌方的血还有"<<m7.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m7.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m7.blood-=a1;
m7.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m7.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m7.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m7.blood-=a3;
m7.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m7.blood-=a5;
m7.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方泼攻击了!!!"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了"<<endl;
}
m.blood-=(rand()%5+m7.attack);
}
if(m.blood<=0)
{
cout<<"你死了"<<endl;
return 0;
}
else
cout<<"敌人死了,你奋不顾身地带着公主继续向前跑。。。";
}
}
SlowDisplay("你跑出了地府!!!\n");
SlowDisplay("突然地府门口出现德沃拉的身影,接着一道红光向你飞去。。。\n");
SlowDisplay("第二章 完\n");
system("pause");
jiazai();
system("cls");
SlowDisplay("恭喜你进入第三章 河边奇遇\n");
int t3;
cout<<"输入1查看剧情,否则跳过。"<<endl;
m.blood=100;
m.attack=0;
m.speed=5;
cin>>t3;
if(t3==1)
{
SlowDisplay("你发现你醒来后,躺倒在草地上,你看到了大胡子和公主,他们焦虑万分。。。\n");
SlowDisplay("大胡子:小伙子,你的体力难以置信!!!昏迷了那么长时间,都还能醒的过来。。。现在离暗黑诅咒显灵就剩10天了。。。你的名字是");
cout<<name;
SlowDisplay("?真是个好听的名字,我的名字是大胡子,以后你有什么问题,我就可以帮助你了,我是村长派来的。 接着他伸出手想跟你握手。。。\n");
SlowDisplay("你想起身跟他握手,但浑身的疼痛感使你再次倒地,大胡子立马扶住你,皱起眉头说:德沃拉对你使用了一种神奇的招数,使你血量和攻击力和速度都成为了初始状态,你现在很虚弱,不要轻易打斗,来喝下这药,你会好多。。。\n");
SlowDisplay("你慢慢的起身了,说:大胡子,我感到好多了,谢谢你。。。 你发现你在一个河的旁边,这时你看到了一个牌子上面写:千万不要渡河,禁止垂钓,此处无鱼。。。\n");
SlowDisplay("这时你看到河边有一个人,你喊道:是你???你怎么在这儿???\n");
SlowDisplay("正在垂钓的酒馆醉汉:不好意思,我认识你吗?\n");
SlowDisplay("你:我在酒馆见到过你,你喝醉了,所以不记得了。\n");
SlowDisplay("垂钓者:啊,这样啊很高兴认识你哈。。。我叫Pavris。\n");
SlowDisplay("Pavris:对了,我喝醉后干了什么不妥的事情吗。。。\n");
SlowDisplay("你:没什么,你就把一个写满我看不懂的字符的地图给了我。\n");
SlowDisplay("惊恐的Pavris:什么!!!我不能把那个地图给你,绝不能!!!那个地图里标的宝藏将是我,伟大的Pavris拿到的,你若不把地图给我,我便不让你过河!!!\n");
SlowDisplay("你:话说我也没说我要过河啊。\n");
SlowDisplay("惊讶的Pavris:你竟然不过河去森林里抢宝藏??!!宝藏里装的可是夜光珠,能抵御暗黑王子任何伤害的神器,而我,伟大的Pavris要拿到它,来打败德沃拉,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈!!!!!!不好,我好像说漏嘴了些什么。。。\n");
SlowDisplay("你:既然能打败德沃拉为何不让我拿夜光珠,我可是ZO村的勇士-----");
cout<<name<<endl;}
SlowDisplay("Pavris:不管怎样不会让你过河的!!!\n");
bool pavris=false;
int zddd=0;
while(pavris==false)
{
SlowDisplay("Pavris挡住了你的去路,你要:1.战斗 2.交流 3.给出地图\n");
int ddd;
cin>>ddd;
if(ddd==3)
{
SlowDisplay("你在想些什么???!!!不能这样,你需要地图!!!\n");
}
else if(ddd==1)
{
if(zddd<3)
{
SlowDisplay("你在想些什么???!!!不能这样,你体力不支!!!\n");
zddd++;
}
else
{
SlowDisplay("你这么希望战斗。。。\n");
cout<<"但";
system("sleep 0.25");
cout<<"不";
system("sleep 0.25");
cout<<"过";
system("sleep 0.25");
cout<<",";
system("sleep 0.25");
cout<<"战";
system("sleep 0.25");
cout<<"斗";
system("sleep 0.25");
cout<<"当";
system("sleep 0.25");
cout<<"然";
system("sleep 0.25");
cout<<"可";
system("sleep 0.25");
cout<<"以"<<endl;
SlowDisplay("你朝Pavris扑了过去。。。QAQ\n");
SlowDisplay("Pavris拔出附魔佩刀。。。\n");
system("color 2f");
system("sleep 0.25");
int huzi=1000;
int ttttt=1,tttttt=1;
while(huzi>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
int z;
if(ttttt==1)
{
ttttt=0;
cout<<"敌方攻击了,你受到99滴血攻击。。。"<<endl;
m.blood-=(m9.attack);
SlowDisplay("Pavris:你以为我会像怪物一样傻傻站着,等你先打我?\n");
cout<<"敌方的血还有"<<m9.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
}
else
{
cout<<"敌方攻击了,大胡子帮你扛住伤害。。。大胡子:讨厌的家伙。。。"<<endl;
huzi-=(m9.attack);
cout<<"敌方的血还有"<<m9.blood<<endl;
cout<<"大胡子的血还有"<<huzi<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
}
cin>>z;
if(z==1)
{
cout<<"由于你体力不支,你没做出任何事情"<<endl;
}
else if(z==2&&c2>0)
{
cout<<"由于你体力不支,你没做出任何事情"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
cout<<"由于你体力不支,你没做出任何事情"<<endl;
c3--;
}
else if(z==4&&c4>0)
{
cout<<"由于你体力不支,你没做出任何事情"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
cout<<"由于你体力不支,你没做出任何事情"<<endl;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"大胡子攻击了"<<endl;
m9.blood-=100;
if(m9.blood<=0&&tttttt==1)
{
tttttt=0;
SlowDisplay("Pavris:我感觉要死了,我不行了,不我要活着,我要杀了德沃拉,我不能死!!!来,打死我吧。就算我血是负的我也要活着!!!\n");
}
}
SlowDisplay("卧倒在地的大胡子:怎么会这样。。。救。。。。。命。。。。。\n");
SlowDisplay("你和大胡子同时化成了灰烬。。。你死了\n");
SlowDisplay("你成功地玩到了毁灭结局。。。哈哈哈哈哈哈哈哈哈哈哈哈。。。是不是根本没看懂。。。Pavris他不知不觉中杀死了真正的德沃拉。。。\n");
printf("文字游戏:暗黑诅咒(The Curse Of Darkness)\n");
system("sleep 1");
printf("出品人:drzo(teacherga)\n");
system("sleep 1");
printf("版本:1.0.0\n");
system("sleep 1");
printf("你死了,游戏结束\n");
return 0;
}
}
else
{
cout<<"与谁交流:1.公主(有必看剧情!!!) 2.大胡子 3.Pavris"<<endl;
int jjj;
cin>>jjj;
if(jjj==1)
{
SlowDisplay("公主:感谢你救了我,你一定要打败德沃拉啊!!!为了感激你,给你一个护身符。\n");
}
else if(jjj==2)
SlowDisplay("大胡子:什么??!!有人不让过河??!!跟他好好说话,他会让你过去的。\n");
else
{
SlowDisplay("你:Pavris,你就让我过去吧,我们一起拿到夜光珠,一起干掉德沃拉,多好。。。\n");
SlowDisplay("有些恼怒的Pavris:你根本无法理解我,德沃拉他在我小时候就杀了我哥哥,,,应杀死德沃拉的应是我!!!\n");
SlowDisplay("Pavris的回声在山谷边回荡,一片寂静。。。\n");
SlowDisplay("你:我完全理解你,我们的村庄1世纪前就被诅咒,10天后诅咒就要灵现,你被复仇冲昏了头脑,如果你不让我过河,多少无辜生命将在10天后毁灭!!!你的哥哥会为你感到惭愧的!!!\n");
SlowDisplay("再次一片寂静。。。\n");
SlowDisplay("Pavris:我让你过去。。。但有个交易,杀死德沃拉的必须是我。。。\n");
SlowDisplay("你是否同意:1.同意 2.不同意(重大分支!!!会影响故事整个结局!!!)\n");
int jujuju;
cin>>jujuju;
if(jujuju==1)
{
SlowDisplay("你:我同意,咱们上路吧。\n");
jieju=true;
}
else
{
SlowDisplay("你:我不同意,我可以让你拿着夜光珠,但不能让你杀德沃拉。 Pavris沉思了一会,点了头。 你:那咱上路吧!\n");
jieju=false;
}
SlowDisplay("第三章完\n");
system("pause");
jiazai();
system("cls");
SlowDisplay("第四章 Pavris的房子\n");
int t3;
cout<<"输入1查看第四章(第四章全是剧情),否则跳过。"<<endl;
cin>>t3;
if(t3==1)
{
SlowDisplay("正在喝酒的Pavris:天这么晚了,大家来我家吧,我们休息一天就出发去找夜光珠。\n");
SlowDisplay("你,公主,大胡子,Pavris走在路上。。。Pavris在河上扔了一片叶子,叶子立马化为一个船,你们都上了船。\n");
SlowDisplay("你:Pavris,话说,你的地图我根本看不懂啊。\n");
SlowDisplay("Pavris:哦,忘把说明书给你了,给。\n");
SlowDisplay("你打开了说明书和地图:\n");
printf("############################\n");
printf(".bbbbb...hhh....a.a.a..ccc.a\n");
printf("...@......hhh....aaa..aa.@.*\n");
printf("#######.#...hhh%%..aaaa..aaa.\n");
printf("zzzzzzzz#@...hhhh..aaaa...a.\n");
printf("zzzzzzzz#....&.h^h....aaa.a.\n");
printf("zzzzzzzz#@....hhhhh....a.a.a\n");
printf("#########........hhhhh....aa\n");
printf("....................hhhhh..a\n");
printf("############################\n");
printf("#代表墙,z地是ZO村,h是河,a是树,*是宝藏,@是怪物根据地,.是平原,b是墓地,c是竹子国,%是Pavris的家,&是暗黑地府\n");
SlowDisplay("很快,船就开到了对岸,到了Pavris的家,是个破旧的小木屋。\n");
SlowDisplay("你们进了木屋,里面特别臭,长满了霉菌,Pavris熟练地生了点火,屋子立马亮了起来。\n");
SlowDisplay("你看到了一个破旧的日记本,你偷偷地打开了:\n");
SlowDisplay("11月7日,我哥哥已经死了5年了,我。。。再也不想写日记了。。。我要****!!!!\n");
SlowDisplay("*处墨迹不清,你翻了一页,没想到画风一变,写满了无聊的关于酒的笑话,你想这都是Pavris喝醉后写下的。\n");
SlowDisplay("大胡子:我出去砍点柴,马上回来。。。\n");
SlowDisplay("公主:我去做饭。\n");
SlowDisplay("很快黑夜降临了,你们都吃完了晚饭,但大胡子还没回来,你很担心。。。\n");
SlowDisplay("Pavris:我一点都不担心他。 你:你什么意思,他可救过我的命。 Pavris:我就是觉得他有点不对劲,你也不认识他,他怎么就突然冒出来救你?\n");
SlowDisplay("你:他解释了,村长排他来的。\n");
SlowDisplay("Pavris皱起眉头,降下声音:可我从新闻头条里看村长被德沃拉抓了。\n");
SlowDisplay("你:不管怎样,大家睡觉吧。。。\n");
SlowDisplay("半夜,你怎么也睡不着,你做梦总是梦见墓地里的墓碑和一大堆尖叫。突然你看到一个举着匕首的身影在你的床边,紧接着一道红光,那个身影不见了,红光是从公主给你的护身符里射出来的,你:怎么回事。。。\n");
SlowDisplay("第二天 大家都醒了后,都说你看到的是幻觉,门和窗锁的好好的,也没有破门而入的迹象,大胡子还是没回来。。。\n");
SlowDisplay("Pavris给你了个十字弩,自己拿出了附魔佩刀,把公主留在了屋子里(森林里太危险了,就把公主留屋里了),之后就上路了。。。\n");
SlowDisplay("你跟Pavris愉快地聊着天,Pavris:我的全名是Pavris Black,据说只有正义的Black家族的人,才能轻松控制附魔佩刀。。。\n");
SlowDisplay("这时,你发现森林边缘的一棵树下,躺着血流不止的大胡子。。。QAQ\n");
}
SlowDisplay("第四章完\n");
system("pause");
system("cls");
jiazai();
SlowDisplay("第五章 森林遇险\n");
SlowDisplay("经过一番治疗,大胡子终于醒来。。。\n");
SlowDisplay("大胡子:有一个人拿着硫酸瓶在后头偷袭我!!! 你:硫酸瓶。。。好像让我想起了一个人。。。\n");
SlowDisplay("欢迎来到drzo答题环节!!!这个环节是考验你前头玩游戏时,是不是很认真!!!\n");
SlowDisplay("第一题:使用的武器是硫酸瓶的人是谁??? A.奸商老板 B.你 C.drzo D.大胡子\n");
SlowDisplay("你的选择是:");
char ABCD;
cin>>ABCD;
if(ABCD=='A')
SlowDisplay("答对了!!!\n");
else
SlowDisplay("答错了!!!下次努力。。。\n");
system("pause");
SlowDisplay("你:是奸商老板!!!绝对是他,说不定昨天晚上在床边偷袭我的也是他!!!这么说德沃拉已经知道我们的位置了,咱们得赶紧上路了!!!\n");
SlowDisplay("Pavris:我们要想去偷到夜光珠,必须穿过黑暗森林,绕过巨人堡,森林里怪物很多,必须多加小心,所以握好你的十字弩,上路吧!!! 就这样,你们走进了森林。。。\n");
int lucheng=1000;
while(lucheng>0)
{
if(e1>=e2)
{
int h=e1/e2;
level+=e1/e2;
e1=e1%e2;
e2+=50;
cout<<"你升级了!!!攻击力&血量都多了!!!"<<endl;
a1+=2*h;
a3+=3*h;
a5+=5*h;
a6+=4*h;
a4+=10*h;
a2+=5*h;
m.blood+=10*h;
coin+=100*h;
}
SlowDisplay("距离宝藏\n");
cout<<lucheng;
SlowDisplay("米。。。\n");
cout<<"你要:1.跟大家说话 2.开辟道路 3.看看自己 4.看报 5.查看地图 "<<endl;
int stst;
cin>>stst;
if(stst==1)
{
SlowDisplay("Pavris:不管怎样,我必须抓住德沃拉,为我哥哥报仇!!! 大胡子:小伙子,加油吧。。。 你:我会努力的!!!QAQ\n");
}
else if(stst==3)
{
cout<<"你的血量:"<<m.blood<<endl<<"你的额外攻击力:"<<m.attack<<endl<<"你的速度(速度上限85):"<<m.speed<<endl;
long long ttt=e1/10;
cout<<"你的经验为:";
for(int i=0; i<ttt; i++)
{
cout<<"█";
}
cout<<e1<<"/"<<e2<<endl;
cout<<"你的等级为:"<<level<<endl;
}
else if(stst==4)
{
SlowDisplay("以下都是前些天的老报纸:");
SlowDisplay("新闻头条:*ZO村仍危在旦夕,勇士努力拯救世界,卧底混入村庄*\n");
SlowDisplay("新闻头条:*村长发表演讲:勇士是否能拯救村庄?我表示怀疑。。。勇士还是懦夫?*\n");
SlowDisplay("新闻头条:*许多怪物被干掉,村庄危机减半,公主被抓,谁能拯救公主,赏金10000*");
SlowDisplay("新闻头条:*佩奇暗黑王子抓住村长,村民即将崩溃,暗黑诅咒即将16天后显灵!!!*");
}
else if(stst==5)
{
if(lucheng==1000)
{
SlowDisplay("你打开了说明书和地图:\n");
printf("############################\n");
printf(".bbbbb...hhh....a.a.a..ccc.a\n");
printf("...@......hhh....aaa..aa.@.*\n");
printf("#######.#...hhh%%..^aaa..aaa.\n");
printf("zzzzzzzz#@...hhhh..aaaa...a.\n");
printf("zzzzzzzz#....&.hhh....aaa.a.\n");
printf("zzzzzzzz#@....hhhhh....a.a.a\n");
printf("#########........hhhhh....aa\n");
printf("....................hhhhh..a\n");
printf("############################\n");
printf("#代表墙,z地是ZO村,h是河,a是树,*是宝藏,@是怪物根据地,.是平原,b是墓地,c是竹子国,%是Pavris的家,&是暗黑地府\n");
}
else if(lucheng>=750)
{
SlowDisplay("你打开了说明书和地图:\n");
printf("############################\n");
printf(".bbbbb...hhh....a.a.a..ccc.a\n");
printf("...@......hhh....aaa..aa.@.*\n");
printf("#######.#...hhh%%..aa^a..aaa.\n");
printf("zzzzzzzz#@...hhhh..aaaa...a.\n");
printf("zzzzzzzz#....&.hhh....aaa.a.\n");
printf("zzzzzzzz#@....hhhhh....a.a.a\n");
printf("#########........hhhhh....aa\n");
printf("....................hhhhh..a\n");
printf("############################\n");
printf("#代表墙,z地是ZO村,h是河,a是树,*是宝藏,@是怪物根据地,.是平原,b是墓地,c是竹子国,%是Pavris的家,&是暗黑地府\n");
}
else if(lucheng>=500)
{
SlowDisplay("你打开了说明书和地图:\n");
printf("############################\n");
printf(".bbbbb...hhh....a.a.a..ccc.a\n");
printf("...@......hhh....aaa..aa.@.*\n");
printf("#######.#...hhh%%..aaa^..aaa.\n");
printf("zzzzzzzz#@...hhhh..aaaa...a.\n");
printf("zzzzzzzz#....&.hhh....aaa.a.\n");
printf("zzzzzzzz#@....hhhhh....a.a.a\n");
printf("#########........hhhhh....aa\n");
printf("....................hhhhh..a\n");
printf("############################\n");
printf("#代表墙,z地是ZO村,h是河,a是树,*是宝藏,@是怪物根据地,.是平原,b是墓地,c是竹子国,%是Pavris的家,&是暗黑地府\n");
}
else
{
SlowDisplay("你打开了说明书和地图:\n");
printf("############################\n");
printf(".bbbbb...hhh....a.a.a..ccc.a\n");
printf("...@......hhh....aaa..a^.@.*\n");
printf("#######.#...hhh%%..aaaa..aaa.\n");
printf("zzzzzzzz#@...hhhh..aaaa...a.\n");
printf("zzzzzzzz#....&.hhh....aaa.a.\n");
printf("zzzzzzzz#@....hhhhh....a.a.a\n");
printf("#########........hhhhh....aa\n");
printf("....................hhhhh..a\n");
printf("############################\n");
printf("#代表墙,z地是ZO村,h是河,a是树,*是宝藏,@是怪物根据地,.是平原,b是墓地,c是竹子国,%是Pavris的家,&是暗黑地府\n");
}
}
else if(stst==2)
{
int c2=3,c3=10,c4=5,c5=1;
int slg=rand()%3;
if(slg==0)
{
SlowDisplay("你遇到了吸血蝙蝠,技能:吸血\n");
m11.blood=300;
while(m.blood>0&&m11.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<"6.射十字弩攻击力100"<<endl;
cout<<"敌方的血还有"<<m11.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m11.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m11.blood-=a1;
m11.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m11.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m11.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m11.blood-=a3;
m11.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m11.blood-=a5;
m11.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else if(z==6)
{
cout<<"敌方受到攻击"<<endl;
m11.blood-=100;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了还吸血了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
{
m.blood-=(rand()%5+m11.attack);
m11.blood+=(rand()%5+m11.attack)/4;
}
}
}
if(slg==1)
{
SlowDisplay("你遇到了狼人,无技能\n");
m12.blood=1000;
while(m.blood>0&&m12.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<"6.射十字弩攻击力100"<<endl;
cout<<"敌方的血还有"<<m12.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m12.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m12.blood-=a1;
m12.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m12.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m12.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m12.blood-=a3;
m12.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m12.blood-=a5;
m12.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else if(z==6)
{
cout<<"敌方受到攻击"<<endl;
m12.blood-=100;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
{
m.blood-=(rand()%5+m12.attack);
}
}
}
if(slg==2)
{
SlowDisplay("你遇到了独角兽,无技能\n");
m13.blood=500;
while(m.blood>0&&m13.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<"6.射十字弩攻击力100"<<endl;
cout<<"敌方的血还有"<<m13.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m13.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m13.blood-=a1;
m13.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m13.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m13.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m13.blood-=a3;
m13.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m13.blood-=a5;
m13.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else if(z==6)
{
cout<<"敌方受到攻击"<<endl;
m13.blood-=100;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
{
m.blood-=(rand()%5+m13.attack);
}
}
}
if(m.blood<=0)
{
cout<<"你死了"<<endl;
return 0;
}
else
{
cout<<"敌人死了,涨经验了"<<endl;
if(slg==0)
e1+=100;
else if(slg==1)
e1+=300;
else
e1+=250;
}
SlowDisplay("你前进了100米!!!\n");
lucheng-=100;
}
else
cout<<"输入错误!!!"<<endl;
}
SlowDisplay("你们到了巨人堡,正在你们要休息时,突然一个斑蝥虎蹦出!!!QAQ\n");
int c2=3,c3=10,c4=5,c5=1;
while(m.blood>0&&m14.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<"6.射十字弩攻击力100"<<endl;
cout<<"敌方的血还有"<<m14.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号),大胡子也前来作战,Pavris边喝酒边旁观。。。"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m14.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m14.blood-=a1;
m14.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m14.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m14.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m14.blood-=a3;
m14.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m14.blood-=a5;
m14.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else if(z==6)
{
cout<<"敌方受到攻击"<<endl;
m14.blood-=100;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"大胡子攻击了,斑蝥虎减了100滴血"<<endl;
m14.blood-=100;
if(rand()%10!=1)
{
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
{
m.blood-=(rand()%5+m14.attack);
}
}
else
{
cout<<"斑蝥虎使用河东狮吼,你速度减了20!!!"<<endl;
m.speed-=20;
}
}
if(m.blood<=0)
{
cout<<"你死了!!!"<<endl;
return 0;
}
else
{
cout<<"敌人挂了!!!"<<endl;
SlowDisplay("你:刚刚太险了,差点挂了,幸好大胡子救助\n");
SlowDisplay("大胡子:斑蝥虎具有毒液,很珍贵,话说一般都人工养,咋跑森林里了??? 大胡子边说边蹲下用瓶子接了点从斑蝥虎尸体的嘴里流下的毒液。。。\n");
SlowDisplay("突然!!!Pavris一声尖叫,掉进了一个洞里,你惊讶地发现那个洞是个人工陷阱,你:大胡子,快跑!!! 但已经晚了,一个巨大的网兜罩在你和大胡子头上,你们中了埋伏!!!\n");
SlowDisplay("你心想你们肯定是被德沃拉抓了,这是走上了一个60多岁的一个面容狡诈的一个老头子,他向你们大声质问道:你们来者何人!!!竟敢杀死我们竹子国国王亲自养的宠物斑蝥虎!!!你们必须死!!!\n");
SlowDisplay("第五章 完\n");
system("pause");
system("cls");
jiazai();
SlowDisplay("第六章 智取夜光珠\n");
SlowDisplay("整个事情太疯狂了,你们被竹子国的人抓了之后,你们知道的就是,你们被戴上了枷锁,投入了地牢。。。与此同时暗黑诅咒8天后灵显。。。\n");
SlowDisplay("Pavris暴怒无常,以致疯狂地踹着牢房地板,便怒吼道:没希望了。。。再也不能抓到德沃拉了。。。 大胡子异常冷静,一直在安慰Pavris。。。\n");
SlowDisplay("而你感觉能离开的希望渺茫,自己坐在角落里。。。 突然一道光亮,一个高个的人打开牢门,走进牢房,他说:我是竹子国国王,我也叫竹子国国王,听说你是ZO村勇士???\n");
SlowDisplay("你要答:1。是 2。不是\n");
int t;
cin>>t;
if(t==1)
{
SlowDisplay("竹子国国王立马跪在地上QAQ,说:听说你要去拿夜光珠,所以我可崇拜你了,虽然我们国家不受暗黑诅咒,但我们也深恨德沃拉,因为德沃拉的巨人军团聚集在我们国家旁的巨人堡内,天天侵害我们国家,让我们民不聊生。。。\n");
SlowDisplay("他接着说:如果你们要去拿夜光珠,一定要打败德沃拉!!!来,我立马就放你们出去,拿着这瓶好酒,这是我赏你的,哦,对了,如果你们成功偷到了夜光珠,一定要回国,我来奖赏你们!!! \n");
SlowDisplay("就这样你们被放了,继续走上去偷夜光珠的路。。。 \n");
SlowDisplay("你们来到巨人堡的城墙前,Pavris得意地说:宝藏就守在巨人堡后面的院子里,四处都是守卫,硬攻不可能,但我已制定好计划了,那就是爬下水道!!! \n");
SlowDisplay("你:爬下水道???决不!!!里面肯定都是恶心的巨人的便便! Pavris:那你能想出其他好计划吗,想不出就跟我走!!! \n");
SlowDisplay("你们爬进了恶心的下水道,下水道横纵交错 ,跟个迷宫是的。。。\n");
SlowDisplay("没错,欢迎来到drzo小游戏环节!!!来闯迷宫吧!!!\n");
system("pause");
system("cls");
int i,j;
aaa[1]="*@*********";
aaa[2]="* * * *";
aaa[3]="* *** * * *";
aaa[4]="* *** * * *";
aaa[5]="* * * * *";
aaa[6]="* * * * * *";
aaa[7]="* * * * * *";
aaa[8]="* * * * * *";
aaa[9]="* * * *";
aaa[10]="********* *";
out();
char c;
for(;;)
{
c=getchar();
system("cls");
if(c=='w')
{
if(judge(x-1,y))
{
swap(aaa[x-1][y],aaa[x][y]);
x--;
}
}
if(c=='a')
{
if(judge(x,y-1))
{
swap(aaa[x][y-1],aaa[x][y]);
y--;
}
}
if(c=='s')
{
if(judge(x+1,y))
{
swap(aaa[x+1][y],aaa[x][y]);
x++;
}
}
if(c=='d')
{
if(judge(x,y+1))
{
swap(aaa[x][y+1],aaa[x][y]);
y++;
}
}
out();
if(x==10&&y==9)
{
system("cls");
cout<<"YOU WIN"<<endl;
system("sleep 2");
getchar();
break;
}
}
SlowDisplay("你们终于爬出了下水道,你们从巨人堡的厕所里的一个巨型茅坑里爬出来,你们浑身都是屎,狼狈不堪,而Pavris一直在呕吐,你发现厕所窗外就是那个守护宝藏的院子。。。\n");
SlowDisplay("你:赶紧行动,快,咱们从窗口跳出去!!! 正在这时,你们听到了巨大的脚步声,Pavris:惨了。。。 厕所门口出现了个体型庞大的巨人,相貌奇丑无比,衣服上还留着鼻涕,它看到你们怒吼一声,口中喷出一大堆口水,你们现在不仅浑身是屎,还沾满了巨人的口水,巨人举起狼牙棒朝你挥去,你心想:这下死定了。。。\n");
SlowDisplay("可与此同时Pavris急速从你包里抽出上次竹子国国王赏你的那瓶酒,用力砸在巨人头上,巨人被砸晕在地,而酒瓶被砸碎了,酒流满在地,大胡子惊讶不已。。。 Pavris对你说:你可欠我条命了!!!\n");
SlowDisplay("这时又在门口出现3个巨人,它们看了看被砸晕在地的另个巨人,又看了看Pavris手中握的碎瓶子,又看了看Pavris凶猛的神情,都被吓跑了,而Pavris大喊着:我要为我哥哥报仇!!! 追了上去,大胡子:他太傻了,他打不过那么多巨人的。。。 你:不用管他,你先从窗口跳下去,我在这等他。。。\n");
SlowDisplay("过了一会儿,Pavris尖叫着跑来回来,气喘吁吁的Pavris:它们来了!!!至少十多个!!! 你:赶紧跳下去!!!要不然没命了!!!\n");
SlowDisplay("你们都跳了下去,大胡子已经找到了夜光珠扔到Pavris手中。。。你们在院子外面找到了辆马车,你们全跳了上去,你疯狂地驾着车,后面追上了几十个巨人,Pavris在车上喝酒压惊,而大胡子制造了个黑洞把那几个巨人都卷了进去,你们终于安全了。。。\n");
SlowDisplay("第六章 完\n");
system("pause");
system("cls");
SlowDisplay("第七章 竹子国危机\n");
SlowDisplay("你们顺利逃离巨人堡,并且拿到夜光珠,你们最后来到了竹子国领赏,你们获得了很多钱,住了一宿,准备离开,离暗黑诅咒显灵7天。。。\n");
SlowDisplay("你准备好行李,向竹子国国王告别,要离开时,上次把你们抓起来的60多岁老头子拦住了你们,他奸笑着说:呵呵,小伙子志向不错哈,拿到了夜光珠,要去打佩奇,我叫Sarais,是竹子国大臣哈。。。\n");
SlowDisplay("你心想:他说话的声音和语气有点似曾相识。。。 Sarais:来来来,请请请,请来我家坐坐哈,不急不急,就喝点茶,就让你们走哈。。。\n");
SlowDisplay("你是否要去Sarais他家:");
SlowDisplay("1.去 2.不去\n");
int t;
cin>>t;
if(t==1)
{
SlowDisplay("你:好,我去,我去。。。\n");
SlowDisplay("于是你们走向Sarais他家。。。路中,你看到路旁有个阴森的门店,你看到门牌上写着:自杀专卖店\n");
SlowDisplay("你好奇地走进去,有个广告:德沃拉降临,民不聊生,那还活个毛,直接来我们自杀专卖店,提供100种死法,还提供免费棺材哦!!!\n");
SlowDisplay("里面黑暗无比,但仍有好多人排队要自杀,你发现每个要自杀的人都被带进一个屋子里,就再也没出来了,你发现门锁得死死的。。。 大胡子:这房间非常不对劲,你看我用穿墙术进去瞅一眼。。。\n");
SlowDisplay("不一会儿大胡子出来了,满头大汗,他说:不好!!!每个要自杀的人都被迫变成了僵尸!!!这是个阴谋!!! 于是Pavris撞开了门,果然一大群僵尸拥了出来,场面一度混乱!!!\n");
int jn=30;
while(jn>0)
{
SlowDisplay("还有");
cout<<jn;
SlowDisplay("个僵尸!!!加油!!!干了它们!!!\n");
m2.blood=100;
cout<<"你遇见了僵尸!他们不仅相貌丑陋,也凶狠残暴,干掉他们吧!!!技能:僵尸病毒"<<endl;
bool bd=false;
int bdc=0;
int c2=3,c3=10,c4=5,c5=1;
while(m.blood>0&&m2.blood>0)
{
if(bdc==3)
{
bdc=0;
bd=false;
}
if(bd)
bdc++;
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<"6.射十字弩攻击力100"<<endl;
cout<<"敌方的血还有"<<m2.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m2.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m2.blood-=a1;
m2.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m2.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m2.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m2.blood-=a3;
m2.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m2.blood-=a5;
m2.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else if(z==6)
{
cout<<"敌方受到攻击"<<endl;
m2.blood-=100;
}
else
cout<<"攻击无效!!!"<<endl;
if(rand()%11==1)
{
cout<<"敌方扔出了僵尸病毒!!!你中了毒!!!3回合持续减血!!!"<<endl;
bd=true;
m.blood-=25;
}
else
{
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m2.attack);
if(bd)
{
cout<<"你因为毒素减血了!!!"<<endl;
m.blood-=5;
}
}
}
if(m.blood<=0)
{
SlowDisplay("你死了。。。\n");
return 0;
}
else
{
SlowDisplay("敌人死了。。。\n");
jn--;
}
}
SlowDisplay("你们把僵尸都给干了。。。就这样,你们又立大功,领了赏,Sarais嫉妒不已。。。\n");
}
else
{
SlowDisplay("你:我不去。。。\n");
SlowDisplay("于是你们离开了竹子国。。。路中,你看到路旁有个阴森的门店,你看到门牌上写着:自杀专卖店\n");
SlowDisplay("你好奇地走进去,有个广告:德沃拉降临,民不聊生,那还活个毛,直接来我们自杀专卖店,提供100种死法,还提供免费棺材哦!!!\n");
SlowDisplay("里面黑暗无比,但仍有好多人排队要自杀,你发现每个要自杀的人都被带进一个屋子里,就再也没出来了,你发现门锁得死死的。。。 大胡子:这房间非常不对劲,你看我用穿墙术进去瞅一眼。。。\n");
SlowDisplay("不一会儿大胡子出来了,满头大汗,他说:不好!!!每个要自杀的人都被迫变成了僵尸!!!这是个阴谋!!! 于是Pavris撞开了门,果然一大群僵尸拥了出来,场面一度混乱!!!\n");
int jn=30;
int c2=3,c3=10,c4=5,c5=1;
while(jn>0)
{
SlowDisplay("还有");
cout<<jn;
SlowDisplay("个僵尸!!!加油!!!干了它们!!!\n");
m2.blood=100;
cout<<"你遇见了僵尸!他们不仅相貌丑陋,也凶狠残暴,干掉他们吧!!!技能:僵尸病毒"<<endl;
bool bd=false;
int bdc=0;
while(m.blood>0&&m2.blood>0)
{
if(bdc==3)
{
bdc=0;
bd=false;
}
if(bd)
bdc++;
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m2.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m2.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m2.blood-=a1;
m2.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m2.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m2.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m2.blood-=a3;
m2.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m2.blood-=a5;
m2.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
if(rand()%11==1)
{
cout<<"敌方扔出了僵尸病毒!!!你中了毒!!!3回合持续减血!!!"<<endl;
bd=true;
m.blood-=25;
}
else
{
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m2.attack);
if(bd)
{
cout<<"你因为毒素减血了!!!"<<endl;
m.blood-=5;
}
}
}
if(m.blood<=0)
{
SlowDisplay("你死了。。。\n");
return 0;
}
else
{
SlowDisplay("敌人死了。。。\n");
jn--;
}
}
SlowDisplay("你们把僵尸都给干了。。。就这样,你们又立大功,领了赏,Sarais嫉妒不已。。。\n");
}
SlowDisplay("Sarais气的咬牙切齿,把你独自一人带进了一个屋子里,一挥手对手下说:抓住他!!!\n");
SlowDisplay("你:Sarais!!!可我没做错任何事情啊!!! 就这样你被关进了阴森的监狱。。。\n");
SlowDisplay("第七章 完\n");
system("pause");
system("cls");
jiazai();
SlowDisplay("第八章 越狱\n");
SlowDisplay("你:Sarais!!!可我没做错任何事情啊!!! Sarais:你太天真了,你以为求情我就放了你?还有夜光珠我拿了,而你的那两个伙伴,就得判死刑了。。。\n");
SlowDisplay("你:你不能那样!!! Sarais:我为什么不能那样,我是竹子国大臣,国王完全听信我,你完蛋哪,哈哈哈哈,虽然志向不错,但你被骗啦!!!\n");
SlowDisplay("再次欢迎来到drzo答题环节,第二道题:\n");
SlowDisplay("Sarais的话很像谁的话??? A.奸商老板 B.你 C.drzo D.大胡子\n");
SlowDisplay("你的选择是:");
char ABCD;
cin>>ABCD;
if(ABCD=='A')
SlowDisplay("答对了!!!\n");
else
SlowDisplay("答错了!!!下次努力。。。\n");
system("pause");
SlowDisplay("你:你莫非是奸商老板??!!\n");
SlowDisplay("Sarais:傻子,现在才想出来,哈哈哈。。。 接着Sarais撕下了面具,露出奸商老板的面孔!\n");
SlowDisplay("这时公主走了进来,你:公主,你怎么在这里???我以为你一直待在Pavris他家,快跑!!!这人是德沃拉手下!!!\n");
SlowDisplay("接着,发生了,恐怖血腥的一幕!!!公主露出血盆大口,变成了一个巨型的三个头的蛇!!!一口把Sarais撕成了三半,鲜血飞溅!!!\n");
SlowDisplay("你惊呆了,跌倒在地,原来这大怪物也是德沃拉派来的!!! 你想:我这会没救了。。。QAQ\n");
SlowDisplay("三头蛇嘶嘶地叫道:");
SlowDisplay("你死定啦,我叫ENDER,是德沃拉派来杀你的,没想到这块有个守着你的蠢货,我只好把他当成食物啦!!!你也将是我的食物了,哈哈!!!\n");
SlowDisplay("ENDER猛力撞上监狱门,一撞就撞碎了!!!\n");
SlowDisplay("你要趁机:1.战斗 2.逃跑\n");
int tttt;
cin>>tttt;
if(tttt==1)
{
int c2=3,c3=10,c4=5,c5=1;
while(m.blood>0&&m16.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m16.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m16.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m16.blood-=a1;
m16.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m16.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m16.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m16.blood-=a3;
m16.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m16.blood-=a5;
m16.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m16.attack);
}if(m.blood<=0)
{
SlowDisplay("你死了。。。\n");
return 0;
}
else
{
SlowDisplay("敌人死了。。。\n");
e1+=10000;
if(e1>=e2)
{
int h=e1/e2;
level+=e1/e2;
e1=e1%e2;
e2+=50;
cout<<"你升级了!!!攻击力&血量都多了!!!"<<endl;
a1+=2*h;
a3+=3*h;
a5+=5*h;
a6+=4*h;
a4+=10*h;
a2+=(5*h)/100;
m.blood+=10*h;
coin+=100*h;
}
}
}
SlowDisplay("你趁机跑掉了!!!\n");
SlowDisplay("第八章 完\n");
system("pause");
jiazai();
SlowDisplay("第九章 墓地决斗\n");
SlowDisplay("你连夜逃出竹子国,Pavris和大胡子都被抓了,而夜光珠又被抢走,离暗黑诅咒灵现3天。。。QAQ\n");
SlowDisplay("你之前基本上干的所有都功亏一篑,你感觉阻止德沃拉希望渺茫,你甚至都不知道德沃拉现在在哪里,你也不知道从哪里下手。。。\n");
SlowDisplay("你第一个想到的就是回Pavris他家静一静,于是你到了他家,惊奇地发现公主竟在里头,为了以防她又是德沃拉手下变得,你试探地问:你为感恩我,给我送的什么礼物???\n");
SlowDisplay("答道:护身符! 你松了一口气,看来是真公主。。。(确实是真的。。。)\n");
SlowDisplay("这时你看到墙上贴着个字条,上头写着:要想救回你的朋友,Pavris和大胡子,今晚十二点,独自一人来墓地见我。\n");
SlowDisplay("公主说:你绝对不能去!!!要知道想你这样的勇士,不止一个,我见到了他们,他们就走了,就一个一个的都死了!被德沃拉杀死了!我知道你很善良,想救你朋友,可不管怎样,他们都会死的,如果你去,你也会跟着死了,为了你,我会拦住你,绝对不要你去!!!\n");
bool flag2=true,mazui=true;
bool jieju2=true;
while(flag2)
{
if(mazui)
SlowDisplay("公主拦住你的去路,你要:1.战斗 2.交流 3.查看四周\n");
else
SlowDisplay("公主拦住你的去路,你要:1.战斗 2.交流 3.查看四周 4.麻醉公主\n");
int ttttt;
cin>>ttttt;
if(ttttt==1)
{
cout<<"公主,";
system("sleep 0.125");
cout<<"见";
system("sleep 0.125");
cout<<"到";
system("sleep 0.125");
cout<<"你";
system("sleep 0.125");
cout<<"是";
system("sleep 0.125");
cout<<"我";
system("sleep 0.125");
cout<<"的";
system("sleep 0.125");
cout<<"荣幸,";
system("sleep 0.125");
cout<<"但";
system("sleep 0.125");
cout<<"因";
system("sleep 0.125");
cout<<"你";
system("sleep 0.125");
cout<<"的";
system("sleep 0.125");
cout<<"固执";
system("sleep 0.125");
cout<<",";
system("sleep 0.125");
cout<<"我";
system("sleep 0.125");
cout<<"不得不";
system("sleep 0.125");
cout<<"杀死你,";
system("sleep 0.125");
cout<<"对不起,";
system("sleep 0.125");
cout<<"再";
system("sleep 0.125");
cout<<"见";
system("sleep 0.125");
cout<<"了。"<<endl;
texiao();
int c2=3,c3=10,c4=5,c5=1;
while(m.blood>0&&m17.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m17.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m17.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m17.blood-=a1;
m17.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m17.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m17.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m17.blood-=a3;
m17.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m17.blood-=a5;
m17.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m17.attack);
}
if(m.blood<=0)
{
SlowDisplay("你死了\n");
return 0;
}
else
{
jieju2=false;
SlowDisplay("公主死了\n");
break;
}
}
else if(ttttt==2)
{
SlowDisplay("公主:交流没用的,不会让你走!!!\n");
}
else if(ttttt==3&&mazui==true)
{
SlowDisplay("搜到麻醉剂。。。\n");
mazui=false;
}
else if(ttttt==3&&mazui==false)
{
SlowDisplay("没东西了。。。\n");
}
else if(ttttt==4&&mazui==false)
{
SlowDisplay("你把公主麻醉了。。。\n");
break;
}
else
{
SlowDisplay("输入错误。。。\n");
}
}
SlowDisplay("你按规定时间赶到了墓地,离暗黑诅咒灵现2天。。。\n");
SlowDisplay("这时,你又看到那熟悉的带斗篷的黑色身影,是德沃拉。。。他身旁捆着晕倒的Pavris和大胡子。。。\n");
SlowDisplay("你攒紧了拳头,怒气从你心中涌起,这时你感到你身上携带的护身符发起红光,你彻底暴走了,你的血量和攻击力乘10,速度85。。。\n");
m.blood*=10;
m.speed=85;
m.attack*=10;
texiao();
SlowDisplay("你向德沃拉扑了过去!!!AWA\n");
int c2=3,c3=10,c4=5,c5=1;
while(m.blood>0&&m6.blood>0)
{
cout<<"你有5个绝招:1.鬼火(能使无限次,攻击为"<<a1<<") 2.冰封(能使3次,让敌方速度减"<<a2<<") 3.霹雳(使10次,攻击为"<<a3<<") 4.万物复苏(使5次,血+"<<a4<<") 5.天崩地裂(1次,攻击"<<a5<<",涨血"<<a6<<")"<<endl;
cout<<"敌方的血还有"<<m6.blood<<endl;
cout<<"你的血还有"<<m.blood<<" 请攻击(选择绝招编号)"<<endl;
int z;
cin>>z;
if(z==1)
{
if(rand()%101<m6.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m6.blood-=a1;
m6.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
}
else if(z==2&&c2>0)
{
m6.speed-=a2;
cout<<"敌方被冻住了,减了速度!"<<endl;
c2--;
}
else if(z==3&&c3>0)
{
if(rand()%101<m17.speed)
cout<<"敌方躲避了攻击"<<endl;
else
{
m6.blood-=a3;
m6.blood-=m.attack;
cout<<"敌方受到攻击"<<endl;
}
c3--;
}
else if(z==4&&c4>0)
{
m.blood+=a4;
cout<<"你涨血了!"<<endl;
c4--;
}
else if(z==5&&c5>0)
{
m6.blood-=a5;
m6.blood-=m.attack;
cout<<"天崩地裂!!!敌方受到猛烈攻击!!!"<<endl;
m.blood+=a6;
c5--;
}
else
cout<<"攻击无效!!!"<<endl;
cout<<"敌方攻击了"<<endl;
if(rand()%101<m.speed)
{
cout<<"你躲避了攻击!"<<endl;
}
else
m.blood-=(rand()%5+m6.attack);
}
if(m.blood<=0)
{
m.blood =1;
SlowDisplay("你还有丝儿血,1滴血,你要不行了!!!QAQ\n");
SlowDisplay("这时,只见你胸前护身符红光泛起,你咬紧牙,你说:我不能死!!!德沃拉,还我ZO村!!!!!!!\n");
texiao();
SlowDisplay("德沃拉血瞬间-999999999999999999999999999999999999999\n");
texiao();
}
SlowDisplay("还有一口气的德沃拉:我就知道你有这能耐。。。\n");
SlowDisplay("还有一口气的德沃拉:我要报仇,我要。。。\n");
SlowDisplay("德沃拉话还没说完,就已命丧黄泉了。。。\n");
SlowDisplay("第九章 完\n");
system("pause");
jiazai();
if(jieju2==true)
{
SlowDisplay("第十章 真相(季终章)\n");
SlowDisplay("你们回到了ZO村来庆祝胜利,你得了好多奖赏,你血又变回100000了。\n");
m.blood=100000;
SlowDisplay("你们正在开party,突然一个浑身被临时的一个金色头发的中年男子闯了进来。。。\n");
SlowDisplay("他大喊道:我叫shiys,我是个预言家(彩蛋,第二季会成为主要角色),我过来来警告你们,暗黑诅咒倒计时并没有结束!!!说明真正的德沃拉还没有死!!!暗黑诅咒半天后就会灵现!!!\n");
SlowDisplay("人们都惊讶不已,皆惊慌失措,你也十分惊讶,莫非之前打了那么长时间的德沃拉是冒牌的???\n");
SlowDisplay("于是你找到了大胡子,把这件事告诉了他。。。\n");
SlowDisplay("没想到大胡子露出一丝冷笑,大胡子:这我早预料到了。 你:你什么意思。。。 大胡子:我预料到了,因为我的真正名字叫做");
cout<<"德";
system("sleep 0.3");
cout<<"沃";
system("sleep 0.3");
cout<<"拉";
system("sleep 0.3");
SlowDisplay("你:没时间开玩笑了。。。 大胡子:我没在开玩笑,我就是德沃拉佩奇,传说中的暗黑王子,英文名devola。我与你们同行这么长时间,与你们一起打冒牌德沃拉就是为了分散你们注意力。 你:这都是你的计划。。。QAQ 大胡子:没错,你们都是我的圈套之中的几个无用之徒,对了,还有一点你应该在死前知道,那就是,你的真名叫Crish。。。\n");
SlowDisplay("你:什么鬼。。。 大胡子:我来给你解释解释吧,你知道Crivola的传奇吧,他最后不是分裂成毁灭派和光明派首领了吗(游戏开头剧情),而这两个人就是你和我。 接着他在墙上写下一行字:Crish+devola=Crivola,大胡子:这下你全明白了吧。。。\n");
SlowDisplay("你:我后来失忆了(第一章日记本里剧情),所以我不记得我是Crish了,等等,莫非是你把我搞失忆了? 大胡子(devola):没错,那时候我还顺手杀了Pavris Black他哥哥,Rick Black,哈哈。\n");
SlowDisplay("你:是你杀死了Pavris Black他哥,你为什么跟我那么长时间却不杀我? 大胡子:首先我试图杀过你,但那护身符阻止了我。 你:就是在Pavris他家睡觉那晚上!我就知道那不是幻觉! 大胡子:其次,我不能杀死你,别忘了我们都是Crivela的一体,若我们中死了一个,我们都会死。\n");
SlowDisplay("你:去死吧你,我发誓我要干了你! 大胡子:说起来容易,但我是强大无敌的,就个冒牌德沃拉你打都这么费劲,更别说我了。 之见大胡子轻轻一挥手,你直接被击飞,只剩下丝儿血,你跌倒在地,狼狈不堪,你努力站起来。 大胡子:真厉害,挺坚强的,就这都能站起来,但一切已经太晚了,暗黑诅咒6小时就灵现了,谁也不能阻止我!!!\n");
SlowDisplay("你使出最后一丝力气向大胡子扑了过去QAQ!!!\n");
texiao();
SlowDisplay("你猛力使出所有技能但都没用。。。 大胡子:这一切都不重要了,经验,技能,等级,攻击力,血量,速度,都不重要了!!!因为在几小时后这世界将见证真正的征服,没错,我不能杀死你,但我能在精神上打败你,让你见识到真正的无能为力!!! 接着他伸出手,红光四起,四周建筑物皆化为灰烬,这个世界像100级地震一样抖动起来!!!\n");
SlowDisplay("你感觉一股力量从心中涌起,是你的护身符!突然你的护身符造出来一个巨大的传送门,是个封印!!! 大胡子有些害怕了,他说:你什么时候会打开封印了?!但你照样不能阻止我!!! 大胡子使出绝招,试图关闭封印,但大胡子也正在被吸进去,你试图也使出绝招把大胡子推进去,但他太强大了,根本抵挡不住。。。QAQ\n");
SlowDisplay("这时Pavris跑了过来,看到这景象,吓得不行 你:快帮帮我!!!他是德沃拉!!!把他弄封印里!!!\n");
if(jieju=true)
{
SlowDisplay("Pavris:还记得我们作过一个交易吗,干掉德沃拉的必须是我,是时候墨守成规了。。。\n");
SlowDisplay("你:别!!!你会挂的!!!\n");
SlowDisplay("Pavris:人终有一死,我岂能怕它? Pavris拔出附魔佩刀,抓住大胡子脖子,把大胡子带进了封印,一齐落入那深渊。。。 恭喜你,进入了真结局。。。\n");
texiao();
jiazai();
SlowDisplay("你在病床上醒来,你阻止了暗黑诅咒,拯救了ZO村,封印了德沃拉,但你心不能平静,这时走来一个护士,拿着一封信,和个包裹,她说:Crish,我可以这么叫你吗,这是Pavris Black的遗嘱。。。 你打开了那封信:您好,如果你看到了这封信,说明我已经死了,我没有什么剩余财产,我只能祈求你照顾我的侄子,他是Black家族唯一后裔,通过包裹里的东西可以找到他,我求求您了,署名:Pavris Black。 你打开了包裹,里头是个破旧的日记本,上头写着5个大字:Black,中间画着一个佩刀的符号,日记本里头写满了你看不懂的字符,你自言自语到:Pavris,我发誓我会找到他并照顾他的,我发誓,你看着窗外日落,你明白长夜终于度过。。。\n");
printf("文字游戏:暗黑诅咒(The Curse Of Darkness)\n");
printf("出品人:drzo(teacherga)\n");
printf("版本:1.0.0\n");
printf("制作:drzo 校正:drzo 编剧:drzo 模仿游戏:《传说之下》 特别鸣谢:洛谷,LiiDP,别的网站刷题,haobo8,shiys2017,issac_kong,不死就作君\n");
system("pause");
SlowDisplay("以下为彩蛋:\n");
SlowDisplay("5年后,ZO村已经成为ZO国,竹子国消失,有了水晶国,而你——Crish成为了ZO国国王,你一天坐在王座上,突然守卫带进来3个18岁人,你走上前去,你问其中一个人他名字,他说:Frisk Black。 你惊奇地自言自语:我终于找到你了。。。\n");
SlowDisplay("与此同时,很远很远,外太空,一个人大喊道:神祗1号,他们封印德沃拉了!!! 那个神祗1号:很好,一切按计划进行。。。\n");
SlowDisplay("彩蛋完。。。\n");
system("pause");
return 0;
}
else
{
SlowDisplay("Pavris:还记得我们作过一个交易吗,干掉德沃拉的必须是你。。。\n");
SlowDisplay("你:管tm的什么破交易呢,快帮我!!!QAQQAQQAQ\n");
SlowDisplay("但已经晚了,封印已被关闭,你们唯一希望没了。。。QAQ\n");
SlowDisplay("你拿起了旁边一只箭,大胡子:你要干什么,想射死我??? 你:不,我要射死我自己。。。 大胡子:no!!!!!!!! 你已将那支箭插入你的心脏,这时你和大胡子同时化为灰烬,你牺牲了自己救了所有人,但,勇士这不是最好的结局,这是假结局,加油,勇士下定你的决心!!!\n");
system("pause");
return 0;
}
}
else
{
SlowDisplay("第十章 真相(季终章)\n");
SlowDisplay("第十章 假相(季终章)\n");
SlowDisplay("由于你杀了公主,所以恭喜你进黑化结局!!!QAQ\n");
texiao();
SlowDisplay("未完待续\n");
system("pause");
return 0;
}
}
else
{
SlowDisplay("你们都被判了死刑。。。游戏结束。。。QAQ\n");
return 0;
}
}
}
}
}
}
}
else if(r==6&&coin>=1000&&m.speed>75)
{
e1+=1;
m.attack+=2500;
m.blood+=30000;
coin-=1000;
cout<<"购买成功"<<endl;
}
else if(r==7&&coin>=5000)
{
e1+=1;
m.blood+=200000;
m.attack+=15000;
coin-=5000;
cout<<"购买成功"<<endl;
}
else
{
e1+=1;
cout<<"购买失败"<<endl;
}
}
ct++;
if(ct>=10)
{
ct=0;
if(bai)
bai=false;
else
{
bai=true;
tian++;
if(tian==20)
{
SlowDisplay("第20天,暗黑诅咒显灵。\n");
SlowDisplay("就在那白日落下之时,村庄一阵巨响,村民和房子都化为灰烬,你闭上了双眼,你感觉。。。你的背后一阵凉风,你就再也呼吸不了了。。。恭喜你进入诅咒结局。。。\n");
printf("文字游戏:暗黑诅咒(The Curse Of Darkness)\n");
printf("出品人:drzo(teacherga)\n");
printf("版本:1.0.0\n");
printf("你死了,游戏结束\n");
return 0;
}
SlowDisplay("第");
cout<<tian;
SlowDisplay("天,暗黑诅咒");
cout<<20-tian;
SlowDisplay("天后显灵!!!你涨了金币!!!");
coin+=tian*100;
jiuguan=true;
}
}
}
}
else
{
return 0;
}
return 0;
}
play7
(前两个代码分别命名为index.css,reset.cpp,然后新建一个叫css的文件夹把这两个文件丢进去)
(第三个代码命名为2048main.js,新建一个叫js的文件夹把这两个文件丢进去)
(第四个代码命名为index.html,把它和另外两个文件夹并列)
像这样:
然后双击index.html开始
.main {
width: 500px;
height: 800px;
/* border: 1px solid red; */
margin: 0 auto;
}
.game_title {
width: 170px;
height: 60px;
/* border: 1px solid red; */
margin: 0 auto;
margin-top: 60px;
margin-bottom: 20px;
text-align: center;
line-height: 60px;
font-size: 60px;
color: #fff;
position: relative;
font-weight: bold;
letter-spacing: 8px;
}
.new_game {
width: 150px;
height: 60px;
/* border: 1px solid red; */
margin: 0 auto;
margin-top: 10px;
text-align: center;
line-height: 60px;
position: relative;
}
.new_game>a {
width: 100px;
height: 40px;
border: none;
border-radius: 10px;
background-color: rgba(140, 122, 104, 0.6);
color: #ffffff;
font-size: 16px;
line-height: 40px;
}
.try_again {
width: 275px;
height: 60px;
/* border: 1px solid red; */
line-height: 60px;
position: absolute;
top: 0;
left: -62.5px;
}
.try_again a {
width: 100px;
height: 40px;
border: none;
border-radius: 10px;
/* border: 1px solid red; */
background-color: rgba(140, 122, 104, 0.6);
color: #ffffff;
font-size: 16px;
line-height: 40px;
}
#try_again_a {
margin-right: 12.5px;
}
#pause_a {
margin-left: 12.5px;
}
.score {
width: 150px;
height: 40px;
/* border: 1px solid red; */
margin: 0 auto;
text-align: center;
line-height: 40px;
font-size: 16px;
color: #fff;
position: relative;
}
.score span {
font-size: 16px;
}
.diamonds_container {
width: 500px;
height: 500px;
margin: 0 auto;
margin-top: 20px;
background-color: rgba(185, 173, 161, 0.5);
border-radius: 15px;
position: relative;
}
.diamonds {
width: 100px;
height: 100px;
margin: 20px 0 0 20px;
border-radius: 10px;
background-color: #CAC0B4;
float: left;
color: #ffffff;
text-align: center;
line-height: 100px;
font-size: 50px;
}
.n2 {
background-color: #eee3da
}
.n4 {
background-color: #efe0c8
}
.n8 {
background-color: #f26179
}
.n16 {
background-color: #f59563
}
.n32 {
background-color: #f67c5f
}
.n64 {
background-color: #f65e36
}
.n128 {
background-color: #edcf72
}
.n256 {
background-color: #edcc61
}
.n512 {
background-color: #9c0
}
.n1024 {
background-color: #3365a5
}
.n2048 {
background-color: #09c
}
.n4096 {
background-color: #a6c
}
.n8192 {
background-color: #93c
}
.n2,
.n4 {
color: #636e65;
}
.n1024,
.n2048,
.n4096,
.n8192 {
font-size: 40px
}
.diamonds_container_game_over {
width: 500px;
height: 500px;
position: absolute;
top: 0;
/* border: 1px solid red; */
background-color: rgba(0, 0, 0, 0.5);
/* opacity: 0.5; */
border-radius: 15px;
display: none;
}
.game_over {
width: 350px;
height: 170px;
/* border: 1px solid red; */
text-align: center;
line-height: 100px;
margin: 0 auto;
margin-top: 100px;
border-radius: 10px;
background-color: #000000;
color: #fff;
font-size: 50px;
}
.game_over p,
.game_over span {
font-size: 30px;
}
.game_pauce {
width: 500px;
height: 500px;
position: absolute;
top: 0;
/* border: 1px solid red; */
background-color: rgba(0, 0, 0, 0.5);
/* opacity: 0.5; */
border-radius: 15px;
}
.game_pause_w {
width: 200px;
height: 100px;
/* border: 1px solid red; */
text-align: center;
line-height: 100px;
margin: 0 auto;
margin-top: 200px;
border-radius: 10px;
background-color: #000000;
color: #fff;
font-size: 40px;
}
html, body, div, span, h1, h2, h3, h4, h5, h6,
p, em, small, strong, dl, dt, dd, ol, ul, li{
margin: 0;
padding: 0;
}
*{
font: 12px "microsoft yahei";
}
em, strong, i {
font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
}
body {
font-family: "Microsoft Yahei";
}
ul, ol {
list-style: none;
}
a {
display: inline-block;
color: #333;
text-decoration: none;
font-size: 13px;
}
img{
display: block;
}
.clearfloat:after{
content: "";
display: block;
visibility: hidden;
clear: both;
}
.w1300 {
width: 1300px;
margin: 0 auto;
}
input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
color: #CCCCCC;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #CCCCCC;
}
input::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #CCCCCC;
}
input:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: #CCCCCC;
}
// /*
// * @Author: Chauncey Yuan
// * @Date: 2019-08-08 09:35:51
// * @Last Modified by: Chauncey Yuan
// * @Last Modified time: 2019-08-08 09:35:51
// */
var numgame = {
// 保存游戏中的主要的数据,一个二维数组
// 任意给的一个不满足游戏结束条件的排列值,作为启动游戏前的默认界面,开始后生成空数组
data: [
[32, 2, 4, 512],
[4, 16, 64, 256],
[4, 128, 2048, 16],
[2, 4, 8, 1024]
],
// 总行数
ROWNUM: 4,
// 总列数
COLNUM: 4,
// 游戏分数
score: 0,
// 游戏是否暂停,默认0未暂停,1已暂停
isGamePause: 0,
// 游戏是否已经启动,默认0未启动,1已启动
isFirstStart: 0,
// 游戏启动前,先显示启动界面,显示默认二维数组
beforeStart() {
this.updateDiamondsView();
},
// 游戏开始方法
gameStart() {
// 新建空数组,保存到data
this.data = [];
// 使用总行数和总列数,遍历data数组,没给个元素赋值为0
for (var r = 0; r < this.ROWNUM; r++) {
// 在data数组的r行新建一个空数组
this.data[r] = [];
for (var c = 0; c < this.COLNUM; c++) {
// 在空数组的r行c列存入0
this.data[r][c] = 0;
}
}
// 新游戏分数清零
this.score = 0;
// 新游戏,清除游戏暂停
this.isGamePause = 0;
// 新游戏将是否为开始了新游戏设置为1
this.isFirstStart = 1;
// 显示分数
this.getScore();
// 调用在任意位置生成2或者4的方法两次,随机生成两个数
this.initRandomNum();
this.initRandomNum();
// 输出查看data数组
// console.log(this.data.join("\n"));
// 调用更新方块中的数字的方法
this.updateDiamondsView();
// 键盘事件,触发游戏
document.onkeydown = function(e) {
// console.log(e.keyCode);
// 如果游戏未暂停,响应键盘事件
if (numgame.isGamePause == 0) {
switch (e.keyCode) {
case 37:
numgame.moveLeft();
break;
case 38:
numgame.moveUp();
break;
case 39:
numgame.moveRight();
break;
case 40:
numgame.moveDown();
break;
default:
break;
}
}
}
},
// 游戏初始化时在任意位置生成2或者4的方法
initRandomNum() {
// 反复执行,知道满足条件是退出
while (1) {
// 生成0~ROWNUM-1之间的随机数,Math.floor(Math.random() * (max - min + 1)) + min
var r = Math.floor(Math.random() * (this.ROWNUM - 1 - 0 + 1)) + 0;
// 生成0~COLNUM-1之间的随机数
var c = Math.floor(Math.random() * (this.COLNUM - 1 - 0 + 1)) + 0;
// 如果找到的位置的值为0
if (this.data[r][c] == 0) {
// 则将随机的2或者4写入到该位置
this.data[r][c] = Math.random() < 0.8 ? 2 : 4;
// 循环结束
break;
}
}
},
// 更新方块中的数字颜色等的方法
updateDiamondsView() {
for (var r = 0; r < this.ROWNUM; r++) {
for (var c = 0; c < this.COLNUM; c++) {
// 获取当前r和c对应的方块id
var diamonds = document.getElementById("diamonds_" + r + "_" + c);
// 获取当前r和c对应的二维数组中的值
var diamondsNum = this.data[r][c];
// 如果二维数组中对应的值是0,方块的内容设置为空
if (diamondsNum == 0) {
diamonds.innerHTML = "";
// 去掉表示颜色的“n?”class名,只保留默认的class名
diamonds.className = "diamonds";
}
// 否则将方块中的内容设置为二维数组中对应的数据
else {
diamonds.innerHTML = diamondsNum;
// 加上表示颜色的“n?”class名
diamonds.className = "diamonds n" + diamondsNum;
}
}
}
// 如果游戏是刚打开,还未开始新游戏
if (this.isFirstStart == 0) {
// 暂停继续按钮不显示
document.getElementById("new_game").style.visibility = "visible";
document.getElementById("try_again").style.visibility = "hidden";
}
// 如果已经开始了新游戏
else {
// 交换需要显示的按钮
// 即打开暂停按钮,使游戏中途可暂停
document.getElementById("new_game").style.visibility = "hidden";
document.getElementById("try_again").style.visibility = "visible";
}
// 如果游戏暂停标志等于0,表示此时游戏在继续中
if (this.isGamePause == 0) {
// 不显示游戏暂停的遮罩
document.getElementById("game_pauce").style.display = "none";
// 页面中显示的更改为暂停
document.getElementById("pause_a").innerHTML = "暂停";
}
// 如果游戏暂停标志不等于0,表示游戏已暂停
else {
// 显示游戏暂停的遮罩
document.getElementById("game_pauce").style.display = "block";
// 页面中显示的更改为继续
document.getElementById("pause_a").innerHTML = "继续";
}
// 如果游戏结束
if (this.isGameOver()) {
// 显示最终得分
document.getElementById("fianl_score").innerHTML = this.score;
// 游戏结束遮罩显示
document.getElementById("diamonds_container_game_over").style.display = "block";
// 新游戏按钮变成再来一局
document.getElementById("newToAgain").innerHTML = "再来一局";
// 暂停按钮显示,仅显示再来一局
document.getElementById("new_game").style.visibility = "visible";
document.getElementById("try_again").style.visibility = "hidden";
}
// 如果游戏未结束
else {
// 不显示游戏结束遮罩
document.getElementById("diamonds_container_game_over").style.display = "none";
}
},
// 左移
moveLeft() {
// 左移之前,记录左移之前的data数组的内容,转换为字符串
var before = (this.data).toString();
// 循环每一行
for (var r = 0; r < this.ROWNUM; r++) {
// 调用每一行左移的方法
this.moveLeftInRow(r);
}
// 左移之后,记录左移之前的data数组的内容,转换为字符串
var after = (this.data).toString();
// 将左移前后的数组内容对比,如果相同则更新页面方块中的数据等
if (before != after) {
// 调用更新方块中的数字的方法
this.updateDiamondsView();
// 调用获得分数的方法
this.getScore();
// 在任意位置生成2或者4
this.initRandomNum();
// 调用更新方块中的数字的方法
this.updateDiamondsView();
}
},
// 每一行左移的方法
moveLeftInRow(r) {
// 每一行的循环从0开始,到最后一个的前一个结束
for (var c = 0; c < this.COLNUM - 1; c++) {
// 循环找到r行c列的下一个不为0的数据的位置
// console.log("ycx");
for (var i = c + 1; i < this.COLNUM; i++) {
// 如果当前位置的值是不为0
if (this.data[r][i] != 0) {
// 将位置i赋值给nextc
var nextc = i;
// 退出i的循环
break;
} else {
// 没找到给nextc赋-1
var nextc = -1;
}
}
// 如果nextc等于-1,表示r行c列后面的都是0,直接退出c的循环
if (nextc == -1) {
break;
}
// 如果nextc不等于-1,表示r行nextc列的数字不为0,需要操作
else {
// 如果此时r行c列的数字是0
if (this.data[r][c] == 0) {
// 将r行nextc列的数字赋值给r行c列
this.data[r][c] = this.data[r][nextc];
// r行nextc列的数据变为0
this.data[r][nextc] = 0;
c--;
} else if (this.data[r][c] == this.data[r][nextc]) {
// 将r行c列的数字乘2
this.data[r][c] *= 2;
// 分数加上r行c列的数字
this.score += this.data[r][c];
// r行nextc列的数据变为0
this.data[r][nextc] = 0;
}
}
}
},
// 右移
moveRight() {
// 右移之前,记录右移之前的data数组的内容,转换为字符串
var before = (this.data).toString();
// 循环每一行
for (var r = 0; r < this.ROWNUM; r++) {
// 调用每一行右移的方法
this.moveRightInRow(r);
}
// 右移之后,记录右移之前的data数组的内容,转换为字符串
var after = (this.data).toString();
// 将右移前后的数组内容对比,如果相同则更新页面方块中的数据等
if (before != after) {
// 调用更新方块中的数字的方法
this.updateDiamondsView();
// 调用获得分数的方法
this.getScore();
// 在任意位置生成2或者4
this.initRandomNum();
// 调用更新方块中的数字的方法
this.updateDiamondsView();
}
},
// 每一行右移的方法
moveRightInRow(r) {
// 每一行的循环从最后一个开始,到正数第二个结束
for (var c = this.COLNUM - 1; c > 0; c--) {
// 循环找到r行c列的前一个不为0的数据的位置
for (var i = c - 1; i >= 0; i--) {
// 如果当前位置的值是不为0
if (this.data[r][i] != 0) {
// 将位置i赋值给nextc
var nextc = i;
// 退出i的循环
break;
} else {
// 没找到给nextc赋-1
var nextc = -1;
}
}
// 如果nextc等于-1,表示r行c列前面的都是0,直接退出c的循环
if (nextc == -1) {
break;
}
// 如果nextc不等于-1,表示r行nextc列的数字不为0,需要操作
else {
// 如果此时r行c列的数字是0
if (this.data[r][c] == 0) {
// 将r行nextc列的数字赋值给r行c列
this.data[r][c] = this.data[r][nextc];
// r行nextc列的数据变为0
this.data[r][nextc] = 0;
c++;
} else if (this.data[r][c] == this.data[r][nextc]) {
// 将r行c列的数字乘2
this.data[r][c] *= 2;
// 分数加上r行c列的数字
this.score += this.data[r][c];
// r行nextc列的数据变为0
this.data[r][nextc] = 0;
}
}
}
},
// 上移
moveUp() {
// 上移之前,记录上移之前的data数组的内容,转换为字符串
var before = (this.data).toString();
// 循环每一lie
for (var r = 0; r < this.ROWNUM; r++) {
// 调用每一lie上移的方法
this.moveUpInCol(r);
}
// 上移之后,记录上移之前的data数组的内容,转换为字符串
var after = (this.data).toString();
// 将上移前后的数组内容对比,如果相同则更新页面方块中的数据等
if (before != after) {
// 调用更新方块中的数字的方法
this.updateDiamondsView();
// 调用获得分数的方法
this.getScore();
// 在任意位置生成2或者4
this.initRandomNum();
// 调用更新方块中的数字的方法
this.updateDiamondsView();
}
},
// 每一列上移的方法
moveUpInCol(r) {
// 每一列的循环从0开始,到最后一个的前一个结束
for (var c = 0; c < this.COLNUM - 1; c++) {
// 循环找到c行r列的下一个不为0的数据的位置
for (var i = c + 1; i < this.COLNUM; i++) {
// 如果当前位置的值是不为0
if (this.data[i][r] != 0) {
// 将位置i赋值给nextc
var nextc = i;
// 退出i的循环
break;
} else {
// 没找到给nextc赋-1
var nextc = -1;
}
}
// 如果nextc等于-1,表示c行r列后面的都是0,直接退出c的循环
if (nextc == -1) {
break;
}
// 如果nextc不等于-1,表示c行nextc列的数字不为0,需要操作
else {
// 如果此时c行r列的数字是0
if (this.data[c][r] == 0) {
// 将nextc行r列的数字赋值给c行r列
this.data[c][r] = this.data[nextc][r];
// nextc行r列的数据变为0
this.data[nextc][r] = 0;
c--;
} else if (this.data[c][r] == this.data[nextc][r]) {
// 将c行r列的数字乘2
this.data[c][r] *= 2;
// 分数加上c行r列的数字
this.score += this.data[c][r];
// nextc行r列的数据变为0
this.data[nextc][r] = 0;
}
}
}
},
// 下移
moveDown() {
// 下移之前,记录下移之前的data数组的内容,转换为字符串
var before = (this.data).toString();
// 循环每一列
for (var r = 0; r < this.ROWNUM; r++) {
// 调用每一列下移的方法
this.moveDownInCol(r);
}
// 下移之后,记录下移之前的data数组的内容,转换为字符串
var after = (this.data).toString();
// 将下移前后的数组内容对比,如果相同则更新页面方块中的数据等
if (before != after) {
// 调用更新方块中的数字的方法
this.updateDiamondsView();
// 调用获得分数的方法
this.getScore();
// 在任意位置生成2或者4
this.initRandomNum();
// 调用更新方块中的数字的方法
this.updateDiamondsView();
}
},
// 每一lie下移的方法
moveDownInCol(r) {
// 每一列的循环从0开始,到最后一个的前一个结束
for (var c = this.COLNUM - 1; c > 0; c--) {
// 循环找到c行r列的下一个不为0的数据的位置
// console.log("ycx");
for (var i = c - 1; i >= 0; i--) {
// 如果当前位置的值是不为0
if (this.data[i][r] != 0) {
// 将位置i赋值给nextc
var nextc = i;
// 退出i的循环
break;
} else {
// 没找到给nextc赋-1
var nextc = -1;
}
}
// 如果nextc等于-1,表示c行r列后面的都是0,直接退出c的循环
if (nextc == -1) {
break;
}
// 如果nextc不等于-1,表示c行nextc列的数字不为0,需要操作
else {
// 如果此时c行r列的数字是0
if (this.data[c][r] == 0) {
// 将nextc行r列的数字赋值给c行r列
this.data[c][r] = this.data[nextc][r];
// nextc行r列的数据变为0
this.data[nextc][r] = 0;
c++;
} else if (this.data[c][r] == this.data[nextc][r]) {
// 将c行r列的数字乘2
this.data[c][r] *= 2;
// 分数加上c行r列的数字
this.score += this.data[c][r];
// nextc行r列的数据变为0
this.data[nextc][r] = 0;
}
}
}
},
// 游戏时候结束的方法
isGameOver() {
// 遍历二维数组
// 外层循环控制行
for (var r = 0; r < this.ROWNUM; r++) {
// 每层循环控制列
for (var c = 0; c < this.COLNUM; c++) {
// 如果有某个位置上的数等于0,直接返回flase,游戏未结束
if (this.data[r][c] == 0) return false;
// 如果某个数等于它右边的第一个数,返回false,游戏未结束
if (c < this.COLNUM - 1) {
if (this.data[r][c] == this.data[r][c + 1]) return false;
}
// 如果某个数等于它下边的第一个数,返回false,游戏未结束
if (r < this.ROWNUM - 1) {
if (this.data[r][c] == this.data[r + 1][c]) return false;
}
}
}
// 如果以上循环中未返回值,即满足游戏结束的条件,返回true,游戏结束
return true;
},
// 获得分数的方法
getScore() {
// 页面中相印的位置填上分数
document.getElementById("user_score").innerHTML = this.score;
},
// 暂停游戏的方法
gamePause() {
// 将页面中的暂停的汉字取出,转换成unicode码,用于后面的比较
var pauseCode = (document.getElementById("pause_a").innerHTML).charCodeAt();
// 如果等于26242(暂)即点击了暂停
if (pauseCode == 26242) {
// 暂停标识设置为1
this.isGamePause = 1;
}
// 如果等于32487(继)即点击了继续
if (pauseCode == 32487) {
// 暂停标识设置为0
this.isGamePause = 0;
}
// 按下暂停后更改页面
this.updateDiamondsView();
}
}
numgame.beforeStart();
<!-- /*
* @Author: Chauncey Yuan
* @Date: 2019-08-07 14:44:27
* @Last Modified by: Chauncey Yuan
* @Last Modified time: 2019-08-07 14:44:27
*/ -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>2048小游戏</title>
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<canvas></canvas>
<div class="main">
<div class="game_title">2048
<div></div>
</div>
<div class="new_game" id="new_game"><a href="javascript:numgame.gameStart()" id="newToAgain">新游戏</a>
<div class="try_again" id="try_again">
<a href="javascript:numgame.gameStart()" id="try_again_a">新游戏</a>
<a href="javascript:numgame.gamePause()" id="pause_a">暂停</a>
</div>
</div>
<div class="score">得分:<span id="user_score">0</span></div>
<div class="diamonds_container">
<div class="diamonds" id="diamonds_0_0"></div>
<div class="diamonds" id="diamonds_0_1"></div>
<div class="diamonds" id="diamonds_0_2"></div>
<div class="diamonds" id="diamonds_0_3"></div>
<div class="diamonds" id="diamonds_1_0"></div>
<div class="diamonds" id="diamonds_1_1"></div>
<div class="diamonds" id="diamonds_1_2"></div>
<div class="diamonds" id="diamonds_1_3"></div>
<div class="diamonds" id="diamonds_2_0"></div>
<div class="diamonds" id="diamonds_2_1"></div>
<div class="diamonds" id="diamonds_2_2"></div>
<div class="diamonds" id="diamonds_2_3"></div>
<div class="diamonds" id="diamonds_3_0"></div>
<div class="diamonds" id="diamonds_3_1"></div>
<div class="diamonds" id="diamonds_3_2"></div>
<div class="diamonds" id="diamonds_3_3"></div>
<div class="diamonds_container_game_over" id="diamonds_container_game_over">
<div class="game_over">游戏结束
<p>最终得分:<span id="fianl_score"></span></p>
</div>
</div>
<div class="game_pauce" id="game_pauce">
<div class="game_pause_w">暂停中</div>
</div>
</div>
</div>
<script src="js/particleEffect1.js"></script>
<script src="js/particleEffect2.js"></script>
<script src="js/2048main.js"></script>
<!-- <script src="js/diamonds_color.js"></script> -->
</body>
</html>