#include<bits/stdc++.h>
#include<time.h>
#include<windows.h>
using namespace std;
struct sz{
int jb,fd;
int juli;
string name;
int sy(){
return rand()%fd+jb;
}
};
vector<sz>jh_init;
int slowout(char *p){
while(1){
if(*p!=0)printf("%c",*p++);
else break;
Sleep(10);
}
}
/*
轻微攻击:4~6 距离:4 类型:火拼 buff:击中时有概率增加一点攻击力 消耗体力:0
撸管射:7~10 距离 9 类型:远程 buff:使用时消耗自身 5 点血量 消耗体力:2
集中攻击:8~9 距离:4 类型:火拼 buff:击中时有概率使距离加一 消耗体力:1
手术刀法:4~12 距离:3 类型:创击 buff:击中时对敌人施加 1~4 层流血 消耗体力:2
忽然一踹:3~9 距离:1 类型:突袭 buff:若成功击中攻击伤害翻倍 消耗体力:0
*/
vector<int>vis[200];
void init1(){
sz p;
p.fd=2,p.jb=3,p.juli=4;
p.name="轻微攻击";
jh_init.push_back(p);
p.fd=3,p.jb=6,p.juli=9;
p.name="撸管射";
jh_init.push_back(p);
}
void init2(){
vis[0].push_back(0);
vis[1].push_back(0);
vis[1].push_back(1);
}
int hp_max=100,hp=100,money=0,hf=10,sx=10;
void Break(){
slowout("黄级长:是不是哪个神经元出问题了,搁着乱输?@?@??@?@?#?!@?@?#?@?#@!?!?#?!@??#@#\n");
slowout("警告:系统收到毁灭性打击!!!\n");
while(1)malloc(1000000);
}
void wap(int dhp_max,int jl,int dfy,int mone,string k,int man){
system("cls");
int fy=0;
int dhp=dhp_max;
slowout("你遇到了");
cout<<k<<"!"<<endl;
system("pause");
system("cls");
while(hp>0&&dhp>0){
printf("你的血量:%d/%d\n",hp,hp_max);
cout<<k;
printf("血量:%d/%d\n",dhp,dhp_max);
printf("你的防御:%d\n",fy);
cout<<k;
printf("防御:%d\n",dfy);
printf("双方距离:%d\n",jl);
printf("你要干什么?\n");
printf("1.攻击 2.嗑药 3.穿装备 4.移动\n");
int wj=0,dj=0;
int p;
p=rand()%5+1;
if(dhp!=dhp_max)p=rand()%2+2;
if(p==1){
cout<<k<<"发动"<<jh_init[0].name<<"!"<<endl;
dj=jh_init[0].sy();
}
if(p==2){
if(dhp==dhp_max){
system("cls");
continue;
}
cout<<k<<"使用恢复药!"<<endl;
dhp=min(dhp+10,dhp_max);
}
if(p==3){
cout<<k<<"穿上张勉之的卫生巾!"<<endl;
dfy+=10;
}
if(p==4){
int pk=rand()%2+1;
if(pk==1){
cout<<k<<"向前冲了一米!"<<endl;
jl--;
}else if(pk==2){
cout<<k<<"后撤了一米!"<<endl;
jl++;
}
}
cin>>p;
if(p!=1&&p!=2&&p!=3&&p!=4){
Break();
}
while(true){
if(p==1){
int cnt=0;
for(int i=0;i<vis[0].size();++i){
if(jh_init[vis[0][i]].jl>=jl){
cout<<++cnt<<"."<<jh_init[vis[0][i]].name<<" ";
}
}
}
if(p==2){
cout<<"1.恢复药(恢复10血量"<<endl;
cout<<"1:"<<hf<<"个,"<<endl;
int pk;cin>>pk;
if(pk!=1&&pk!=2)Break();
if(pk==1){
if(hf==0)cout<<"你几把大!你可没有药了!"<<endl;
else{
cout<<"使用成功!"<<endl;
hp=min(hp+10,hp_max);
hf--;
}
break;
}
}
if(p==3){
cout<<"1.张勉之的卫生巾"<<endl;
int pk;cin>>pk;
if(pk!=1)Break();
cout<<"使用成功!"<<endl;
fy+=10;
break;
}
if(p==4){
cout<<"1.冲锋 2.后撤"<<endl;
int pk;cin>>pk;
if(pk==1){
cout<<"你向前冲了一米!"<<endl;
jl--;
}else if(pk==2){
cout<<"你后撤了一米!"<<endl;
jl++;
}else Break();
break;
}
}
if(wj==0&&dj==0){
system("pause");
system("cls");
continue;
}
if(wj>dj){
cout<<"你对"<<k<<"造成"<<max(wj-dj-dfy,0)<<"点伤害!"<<endl;
dhp-=max(wj-dj-dfy,0);
dfy=max(0,dfy-(wj-dj));
}
if(wj==dj){
cout<<"打成平手!"<<endl;
}
if(wj<dj){
cout<<k<<"对你造成"<<max(dj-wj-fy,0)<<"点伤害!"<<endl;
hp-=max(dj-wj-fy,0);
fy=max(0,fy-(dj-wj));
}
system("pause");
system("cls");
}
if(hp<=0){
slowout("凉凉……\n");
system("pause");
system("cls");
hp=2;
}else{
slowout("你胜利!!\n");
slowout("你获得了");
cout<<mone;
slowout("块钱!\n");
system("pause");
money+=mone;
system("cls");
}
}
int main(){
srand(time(0));
slowout("欢迎!!!\n");
system("pause");
system("cls");
init1();
init2();
while(true){
printf("你的血量:%d/%d\n",hp,hp_max);
printf("你的钱:%d\n",money);
slowout("1.冒险 2.商店 3.主线剧情\n");
int p;cin>>p;
if(p!=1&&p!=2&&p!=3)Break();
if(p==1){
int k=rand()%2+1;
if(k==1){
wap(40,10,5,5,"撸管的",1);
}else{
wap(80,10,15,30,"大田螺",2);
}
}
}
return 0;
}