0
已解决
陈喆鹏
资深光能
资深光能
#include<iostream>
#include<string>
#include<cstdio>
#include<windows.h>
#include<stdlib.h>
#include<fstream>
#include<sys/time.h>
#include<cstdlib>
#include<ctime>
#include<string.h>
#include<conio.h>
#include<iomanip>
#include<stdio.h>
#include<iterator>
#pragma comment(lib,"WinMM.Lib")
using namespace std;
string n,mima;
char zsm,czp1,czp2;
int ldj=1,ljy=1000,zs=0;
int xl=100,gj=20,nl=100,nlsx=100,jy,dj=1,xlsx=100,jb=100,zt[110]={0},ylxl=100;
int bao[110],dy=1;
struct JN{
string nm;
int nb,hl;
}jn[30];
int ss[15];
void hf();
void h1(string s)
{
int l=s.length(),j;
for(int i=0;i<l;i++)
{
cout<<s[i];
Sleep(0);
}
}
void h2()
{
system("cls");
}
string h3(){
time_t timep;
time(&timep);
char tmp[64];
strftime(tmp, sizeof(tmp), "%Y-%m-%d %H:%M",localtime(&timep) );
return tmp;
}
void hg();
void hca();
void hca()
{
char c;
h1("A:还魂丹:250币 B:血瓶:20币 C:能量瓶:15币 D:退出此界面\n");
c=getche();
h2();
system("cls");
if(c=='A')
{
if(jb>=250)
{
jb-=250;
bao[1]++;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
if(c=='B')
{
if(jb>=20)
{
jb-=20;
bao[2]++;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
if(c=='C')
{
if(jb>=15)
{
jb-=15;
bao[3]++;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
system("pause");
}
void hcb()
{
char c;
h1("A:剧毒之刺:50币 B:毒雾:80币 C:巨力斩:30币 D:暴血狂魔:80币 E:千古冰封:80币 F:寒冰刃:30币");
h1(" G:辉煌之力:50币 H:养精蓄锐:50币 I:极置千连拍:30币 Z:退出此界面\n");
c=getche();
h2();
system("cls");
if(c=='A')
{
h1("剧毒之刺可以对单个敌人造成持续伤害\n");
if(jb>=50)
{
jb-=50;
jn[4].nb=1;
jn[4].hl=70;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
if(c=='B')
{
h1("毒雾可以对多个敌人造成持续伤害并对其\n");
if(jb>=80)
{
jb-=80;
jn[8].nb=1;
jn[8].hl=175;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
if(c=='C')
{
h1("巨力斩可以对单个敌人造成较高伤害\n");
if(jb>=30)
{
jb-=30;
jn[1].nb=1;
h1("购买成功\n");
jn[1].hl=40;
}
else
h1("金币不足\n");
}
if(c=='D')
{
h1("爆血狂魔可以令自己暴血加伤害\n");
if(jb>=80)
{
jb-=80;
jn[9].nb=1;
jn[9].hl=400;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
if(c=='E')
{
h1("千古冰封可以让单个敌人无法行动\n");
if(jb>=80)
{
jb-=80;
jn[7].nb=1;
h1("购买成功\n");
jn[7].hl=120;
}
else
h1("金币不足\n");
}
if(c=='F')
{
h1("寒冰刃可以对单个敌人造成伤害并无法行动\n");
if(jb>=30)
{
jb-=30;
jn[3].nb=1;
h1("购买成功\n");
jn[3].hl=60;
}
else
h1("金币不足\n");
}
if(c=='G')
{
h1("辉煌之力可以让残血加伤害\n");
if(jb>=50)
{
jb-=50;
jn[6].hl=70;
jn[6].nb=1;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
int czp;
if(c=='H')
{
h1("养精蓄锐可以恢复血量\n");
if(jb>=50)
{
jb-=50;
jn[5].nb=1;
jn[5].hl=60;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
if(c=='I')
{
h1("极置千连拍可以对多个敌人造成伤害\n");
if(jb>=30)
{
jb-=30;
jn[2].nb=1;
jn[2].hl=55;
h1("购买成功\n");
}
else
h1("金币不足\n");
}
system("pause");
}
void hcca()
{
char c;
h1("A:木刀:40币 B:石刀:70币 C:铁刀:150币 D:钢刀:250币 F:铜刀:450币 E:退出此界面\n");
c=getche();
system("cls");
if(c=='A')
{
if(jb>=40)
{
jb-=40;
ss[1]=1;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='B')
{
if(jb>=70)
{
jb-=70;
ss[1]=2;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='C')
{
if(jb>=150)
{
jb-=150;
ss[1]=3;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='D')
{
if(jb>=250)
{
jb-=250;
ss[1]=4;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='F')
{
if(jb>=450)
{
jb-=450;
ss[1]=5;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
system("pause");
}
void hccb()
{
char c;
h1("A:木甲:40币 B:石甲:70币 C:铁甲:150币 D:钢甲:250币 E:退出此界面\n");
c=getche();
h2();
system("cls");
if(c=='A')
{
if(jb>=40)
{
jb-=40;
ss[2]=1;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='B')
{
if(jb>=70)
{
jb-=70;
ss[2]=2;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='C')
{
if(jb>=150)
{
jb-=150;
ss[2]=3;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='D')
{
if(jb>=250)
{
jb-=250;
ss[2]=4;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
system("pause");
}
void hccc()
{
char c;
h1("A:木光环:40币 B:石光环:70币 C:铁光环:150币 D:钢光环:250币 E:退出此界面\n");
c=getche();
system("cls");
if(c=='A')
{
if(jb>=40)
{
jb-=40;
ss[3]=1;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='B')
{
if(jb>=70)
{
jb-=70;
ss[3]=2;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='C')
{
if(jb>=150)
{
jb-=150;
ss[3]=3;
h1("购买成功 穿戴成功\n");
MessageBox(NULL,"购买成功 穿戴成功","陈室战争",MB_OK);
}
else
h1("金币不足\n");
}
if(c=='D')
{
if(jb>=250)
{
jb-=250;
ss[3]=4;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
system("pause");
}
void hccd()
{
char c;
h1("A:木手镯:40币 B:石手镯:70币 C:铁手镯:150币 D:钢手镯:250币 E:退出此界面\n");
c=getche();
system("cls");
if(c=='A')
{
if(jb>=40)
{
jb-=40;
ss[4]=1;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='B')
{
if(jb>=70)
{
jb-=70;
ss[4]=2;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='C')
{
if(jb>=150)
{
jb-=150;
ss[4]=3;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='D')
{
if(jb>=250)
{
jb-=250;
ss[4]=4;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
system("pause");
}
void hcce()
{
char c;
h1("A:木弓:70币 B:石弓:150币 C:铁弓:250币 D:钢弓:450币 E:退出此界面\n");
c=getche();
system("cls");
if(c=='A')
{
if(jb>=70)
{
jb-=70;
ss[5]=1;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='B')
{
if(jb>=150)
{
jb-=150;
ss[5]=2;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='C')
{
if(jb>=250)
{
jb-=250;
ss[5]=3;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
if(c=='D')
{
if(jb>=450)
{
jb-=450;
ss[5]=4;
h1("购买成功 穿戴成功\n");
}
else
h1("金币不足\n");
}
system("pause");
}
void hcc()
{
char c;
h1("A:攻击类 B:防御类 C:回血类 D:回能类 E:射程类 F:退出此界面\n");
c=getche();
system("cls");
if(c=='A')
hcca();
if(c=='B')
hccb();
if(c=='C')
hccc();
if(c=='D')
hccd();
if(c=='E')
hcce();
}
void hc()
{
char c;
h1("欢迎光临!\n请问你要买些什么?\n");
while(1)
{
h1("A:恢复 B:技能 C:装备 D:退出商店\n");
cout<<setw(12)<<jb<<"金币\n";
c=getche();
system("cls");
if(c=='D')
break;
if(c=='A')
hca();
if(c=='B')
hcb();
if(c=='C')
hcc();
}
}
void hd(int a,int b,int c,int d,int e,int f)
{
int fff=0;
if(ss[1]==1)fff=6;
if(ss[1]==2)fff=14;
if(ss[1]==3)fff=30;
if(ss[1]==4)fff=66;
int aaa=0;
if(ss[2]==1)aaa=30;
if(ss[2]==2)aaa=70;
if(ss[2]==3)aaa=150;
if(ss[2]==4)aaa=330;
h1(n+"勇士\n您还剩");
cout<<a<<"+"<<aaa;
h1("滴血\n您的攻击为");
cout<<d<<"+"<<fff<<endl;
h1("您现在");
cout<<c;
h1("级\n能量值为");
cout<<e;
h1("\n经验");
cout<<b<<endl<<f;
h1("金币\n");
system("pause");
}
int chenzhepeng;
void he()
{
while(1)
{
h1("A.不升级 0.普通攻击:");
cout<<gj<<endl;
for(int i=1;i<=10;i++)
{
if(jn[i].nb>=1)
{
cout<<i<<".";
h1(jn[i].nm);
cout<<jn[i].nb<<"级"<<endl;
}
}
h1("你准备升级那个技能?\n");
int x;
x=getche();
system("cls");
if(x=='A')break;
if(x=='0')
{
if(jb>=50)
{
gj+=5;
jb-=50;
}
else
h1("金币不足");
}
else if(x>'0')
{
x-='0';
if(jb>=50*jn[x].nb&&jn[x].nb>=1)
{
jn[x].nb++;
jb-= 50*jn[x].nb;
jn[x].hl*=1.0;
}
else if(jb<50*jn[x].nb)
h1("金币不足");
else
h1("没有此技能!");
}
h1("\n点击任意键继续");
int a0=getche();
h2();
}
}
void hba()
{
if(ss[1]>=1)
{
if(ss[1]==1)h1("木");
if(ss[1]==2)h1("石");
if(ss[1]==3)h1("铁");
if(ss[1]==4)h1("钢");
if(ss[1]==5)h1("铜");
h1("刀");
}
if(ss[2]>=1)
{
if(ss[2]==1)h1("\n木");
if(ss[2]==2)h1("\n石");
if(ss[2]==3)h1("\n铁");
if(ss[2]==4)h1("\n钢");
if(ss[2]==5)h1("\n铜");
h1("甲");
}
if(ss[3]>=1)
{
if(ss[3]==1)h1("\n木");
if(ss[3]==2)h1("\n石");
if(ss[3]==3)h1("\n铁");
if(ss[3]==4)h1("\n钢");
if(ss[3]==5)h1("\n铜");
h1("光环");
}
if(ss[4]>=1)
{
if(ss[4]==1)h1("\n木");
if(ss[4]==2)h1("\n石");
if(ss[4]==3)h1("\n铁");
if(ss[4]==4)h1("\n钢");
if(ss[4]==5)h1("\n铜");
h1("手镯");
}
if(ss[5]>=1)
{
if(ss[5]==1)h1("\n木");
if(ss[5]==2)h1("\n石");
if(ss[5]==3)h1("\n铁");
if(ss[5]==4)h1("\n钢");
if(ss[5]==5)h1("\n铜");
h1("弓");
}
h1("\n点击任意键继续");
int a0=getche();
}
void hbb()
{
h1("1.还魂丹 数量:");
cout<<bao[1];
h1("\n2.血瓶 数量:");
cout<<bao[2];
h1("\n2.能量瓶 数量:");
cout<<bao[3];
h1("\n点击任意键继续");
int a0=getche();
}
void hb()
{
char c;
h1("A.身上装备 B.背包物件 C.什么都不看\n");
c=getche();
system("cls");
if(c=='A')hba();
if(c=='B')hbb();
}
struct A{
string mn;
int x,y;
int g,f,a,anda,ztsj[20];//zt:状态 ztsj:状态时间
struct Boos{
string bosnm;
int bsjn;
}boos[10];
}zx[50];
int sw(A z[])
{
for(int i=1;i<=30;i++)
{
if(z[i].f>=1)
return 1;
}
return 0;
}
int ssd(int l1,int ss1)
{
if(zt[4]>0)
{
h1("暴血狂魔使你增加了");
cout<<(0.35*jn[9].nb+1.8);
h1("倍伤害\n");
Sleep(800);
h2();
ss1*=(0.35*jn[9].nb+1.8);
}
if(zt[2]>0)
ss1+=(xlsx-xl)*0.1+(jn[6].nb-1)*(xlsx-xl)*0.05;
if(zt[3]>0)
{
ss1/=1.8;
zt[3]--;
}
for(int i=0;i<=30;i++)
{
if(zx[i].a!=0&&zx[i].f>0)
{
if(zx[i].a==4&&rand()%2==1)
{
ss1-=0.6*ss1;
h1("60%免伤");
Sleep(800);
h2();
}
zx[i].f-=ss1;
zx[i].f=max(zx[i].f,0);
if(l1==2)return i;
if(l1!=1)return 0;
}
}
return 0;
}
int Zhd(A z[100])
{
cout<<1;
z[1].x=7;z[1].y=z[2].y=z[3].y=z[4].y=z[5].y=1;
z[2].x=6;z[3].x=5;z[4].x=8;z[5].x=9;
int zd[110][110];
ylxl=xlsx;
int px=7,py=15;
int fff=0,ren=3;
if(ss[1]==1)fff=6;
if(ss[1]==2)fff=14;
if(ss[1]==3)fff=30;
if(ss[1]==4)fff=66;
if(ss[1]==5)fff=136;
char c=65;
if(ss[2]==1)xlsx=xl+=30;
if(ss[2]==2)xlsx=xl+=70;
if(ss[2]==3)xlsx=xl+=150;
if(ss[2]==4)xlsx=xl+=330;
while(sw(z))
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_GREEN|BACKGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
zt[3]--;
if(zt[4]>0)
{
zt[4]--;
cout<<"暴血狂魔使你损失了";
cout<<xl*0.15;
xl-=xl*0.15;
cout<<"滴血\n";
Sleep(500);
}
h2();
int xl1=xl;
if(ss[3]==1)xl=min(xlsx,xl+7);
if(ss[3]==2)xl=min(xlsx,xl+15);
if(ss[3]==3)xl=min(xlsx,xl+35);
if(ss[3]==4)xl=min(xlsx,xl+80);
if(xl1<xl){h1("你的装备使你回复");cout<<xl-xl1;h1("滴血\n"); }
int nl1=nl;
if(ss[4]==1)nl=min(nlsx,nl+5);
if(ss[4]==2)nl=min(nlsx,nl+11);
if(ss[4]==3)nl=min(nlsx,nl+25);
if(ss[4]==4)nl=min(nlsx,nl+60);
if(nl1<nl){h1("你的装备使你回复");cout<<nl-nl1;h1("点能量\n"); }
if(zt[1])
{
zt[1]--;
h1("养精蓄锐使你回复了");
cout<<(xlsx-xl)*0.1;
h1("滴血\n");
xl+=(xlsx-xl)*0.1;
}
h1("你");
if(zt[1])
cout<<" 养精蓄锐中";
if(zt[2])
cout<<" 辉煌之力中";
if(zt[3]>0)
cout<<" 体温低";
if(zt[4]>0)
cout<<" 暴血狂魔";
cout<<endl;
cout<<xl<<"滴血\n";
cout<<nl<<"能量\n";
c=66;
if(z[0].a==1&&z[0].f>0)cout<<"墙:"<<z[0].f<<"滴血\n";
for(int i=1;i<=30;i++)
if(z[i].a==1&&z[i].f>0)
{
cout<<c<<":"<<z[i].f<<"滴血"<<z[i].g<<"伤害";
if(z[i].ztsj[1])h1(" 被冰冻");
if(z[i].ztsj[2]||z[i].ztsj[3])h1(" 以中毒");
cout<<endl;
c++;
}
else if(z[i].a==1)
c++;
else if(z[i].a==2&&z[i].f>0)
{
cout<<z[i].mn<<":"<<z[i].f<<"滴血"<<z[i].g<<"伤害";
if(z[i].ztsj[1])h1(" 被冰冻");
if(z[i].ztsj[2]||z[i].ztsj[3])h1(" 以中毒");
cout<<endl;
}
else if(z[i].a==3&&z[i].f>0)
{
cout<<z[i].mn<<":"<<z[i].f<<"滴血"<<z[i].g<<"伤害";
if(z[i].ztsj[1])h1(" 被冰冻");
if(z[i].ztsj[2]||z[i].ztsj[3])h1(" 以中毒");
cout<<endl;
}
else if(z[i].a==4&&z[i].f>0)
{
cout<<c<<":"<<z[i].f<<"滴血"<<z[i].g<<"伤害";
if(z[i].ztsj[1])h1(" 被冰冻");
if(z[i].ztsj[2]||z[i].ztsj[3])h1(" 以中毒");
h1(" 冰属性");
cout<<endl;
c++;
}
else if(z[i].a==5&&z[i].f>0)
{
cout<<z[i].mn<<":"<<z[i].f<<"滴血"<<z[i].g<<"伤害";
if(z[i].ztsj[1])h1(" 被冰冻");
if(z[i].ztsj[2]||z[i].ztsj[3])h1(" 以中毒");
cout<<endl;
}
int mp[110][110]={0};
char sr1;
mp[1][1]=1;
cout<<endl;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE|FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<"■■■■■■■■■■■■■■■■■\n";
for(int i=1;i<=15;i++)
{
cout<<"■";
for(int j=1;j<=15;j++)
{
int l=0;
for(int k=1;k<=5;k++){
if(z[k].x==i&&z[k].y==j&&z[k].f>0)
l=k;
}
if(l!=0)cout<<char('A'+l)<<'!';
else if(px==i&&py==j)cout<<"你";
else cout<<" ";
}
cout<<"■\n";
}
cout<<"■■■■■■■■■■■■■■■■■\n";
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_GREEN|FOREGROUND_INTENSITY|FOREGROUND_RED);
cout<<"J.普通攻击\n";
for(int i=1;i<=10;i++){
if(jn[i].nb>=1)
cout<<jn[i].nm<<" 所需能量:"<<jn[i].hl<<endl;
}
cout<<"WASD:移动";
char sc1;
sc1=getche();
if(sc1=='W'&&px-1!=0)px-=1;
if(sc1=='S'&&px+1<=15)px+=1;
if(sc1=='A'&&py-1!=0)py-=1;
if(sc1=='D'&&py+1<=15)py+=1;
if(sc1=='J'){
for(int i=1;i<=10;i++)
if(z[i].f>0&&abs(z[i].x-px)+abs(z[i].y-py)<=ss[5]+3) {
z[i].f-=fff;
z[i].f-=gj;
break;
}
}
}
return 1;
}
int g[5]={1,1,1,1,1};
void had()
{
char c;
char czp;
h1("勇士,您要去哪儿\n");
h1("A 雪地");
if(g[1]==10)h1(" B.冰岛");
cout<<endl;
czp=getche();
system("cls");
ylxl=xlsx;
if(czp=='B'&&g[1]==10)
{
h1("第几关???\n");
c=getche();
h2();
if(c=='1')
{
zx[1].a=1;
zx[1].g=40;
zx[1].f=500;
zx[2].a=1;
zx[2].g=110;
zx[2].f=600;
zx[3].a=1;
zx[3].g=180;
zx[3].f=400;
zx[4].a=4;
zx[4].g=80;
zx[4].f=650;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[2]=2;
system("cls");
jb+=250;
xl=xlsx;
nl=nlsx;
jy+=120;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[4].a=0;
zx[4].g=0;
zx[4].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
zx[4].ztsj[1]=0;
zx[4].ztsj[2]=0;
}
if(c=='2')
{
if(c-'0'<=g[2])
{
zx[1].a=4;
zx[1].g=70;
zx[1].f=800;
zx[2].a=1;
zx[2].g=90;
zx[2].f=550;
zx[3].a=1;
zx[3].g=240;
zx[3].f=500;
zx[4].a=4;
zx[4].g=90;
zx[4].f=950;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[2]=3;
system("cls");
jb+=300;
xl=xlsx;
nl=nlsx;
jy+=150;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[4].a=0;
zx[4].g=0;
zx[4].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
zx[4].ztsj[1]=0;
zx[4].ztsj[2]=0;
}
else
{
h1("请先通过上一关");
Sleep(400);
h2();
}
}
if(c=='3')
{
if(c-'0'<=g[2])
{
zx[1].a=4;
zx[1].g=150;
zx[1].f=700;
zx[2].a=4;
zx[2].g=20;
zx[2].f=1550;
zx[3].a=1;
zx[3].g=280;
zx[3].f=900;
zx[4].a=4;
zx[4].g=210;
zx[4].f=1650;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[2]=4;
system("cls");
jb+=400;
xl=xlsx;
nl=nlsx;
jy+=200;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[4].a=0;
zx[4].g=0;
zx[4].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
zx[4].ztsj[1]=0;
zx[4].ztsj[2]=0;
}
else
{
h1("请先通过上一关");
Sleep(400);
h2();
}
}
if(c=='4')
{
if(c-'0'<=g[2])
{
zx[1].a=4;
zx[1].g=155;
zx[1].f=1100;
zx[2].a=4;
zx[2].g=120;
zx[2].f=1250;
zx[3].a=1;
zx[3].g=380;
zx[3].f=900;
zx[4].a=1;
zx[4].g=110;
zx[4].f=1650;
zx[5].a=4;
zx[5].g=310;
zx[5].f=2650;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[2]=5;
system("cls");
jb+=1400;
xl=xlsx;
nl=nlsx;
jy+=310;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[4].a=0;
zx[4].g=0;
zx[4].f=0;
zx[5].a=0;
zx[5].g=0;
zx[5].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
zx[4].ztsj[1]=0;
zx[4].ztsj[2]=0;
zx[5].ztsj[1]=0;
zx[5].ztsj[2]=0;
}
else
{
h1("请先通过上一关");
Sleep(400);
h2();
}
}
if(c=='5')
{
if(c-'0'<=g[2])
{
zx[1].a=4;
zx[1].g=75;
zx[1].f=1200;
zx[2].a=4;
zx[2].g=130;
zx[2].f=1450;
zx[3].a=1;
zx[3].g=580;
zx[3].f=900;
zx[4].a=1;
zx[4].g=300;
zx[4].f=11850;
zx[5].a=5;
zx[5].g=110;
zx[5].f=6000;
h1("Boos来袭!!! \n");
zx[5].mn="冰山傀儡";
zx[5].boos[1].bosnm="冰之墙";
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[2]=6;
system("cls");
jb+=1800;
xl=xlsx;
nl=nlsx;
jy+=390;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[4].a=0;
zx[4].g=0;
zx[4].f=0;
zx[5].a=0;
zx[5].g=0;
zx[5].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
zx[4].ztsj[1]=0;
zx[4].ztsj[2]=0;
zx[5].ztsj[1]=0;
zx[5].ztsj[2]=0;
}
else
{
h1("请先通过上一关");
Sleep(400);
h2();
}
}
}
if(czp=='A')
{
h1("第几关???\n");
c=getche();
h2();
if(c=='1')
{
zx[1].a=1;
zx[1].g=10;
zx[1].f=45;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],2);
jb+=30;
jy+=6;
xl=xlsx;
nl=nlsx;
system("cls");
}
else
{
cout<<"落地成盒";
xl=xlsx;
nl=nlsx;
h1(" ");
system("cls");
}
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
}
if(c=='2')
{
if(c-'0'<=g[1])
{
zx[1].a=1;
zx[1].g=15;
zx[1].f=110;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],3);
system("cls");
jb+=40;
jy+=8;
xl=xlsx;
nl=nlsx;
}
else
{
cout<<"再接再厉";
xl=xlsx;
nl=nlsx;
h1(" ");
system("cls");
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
}
if(c=='3')
{
if(c-'0'<=g[1])
{
zx[1].a=1;
zx[1].g=20;
zx[1].f=110;
zx[2].a=1;
zx[2].g=23;
zx[2].f=210;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],4);
system("cls");
jb+=50;
jy+=10;
xl=xlsx;
nl=nlsx;
}
else
{
cout<<"再接再厉";
h1(" ");
xl=xlsx;
nl=nlsx;
system("cls");
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
}
if(c=='4')
{
if(c-'0'<=g[1])
{
zx[1].a=1;
zx[1].g=26;
zx[1].f=170;
zx[2].a=1;
zx[2].g=35;
zx[2].f=170;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],5);
system("cls");
jb+=60;
jy+=12;
xl=xlsx;
nl=nlsx;
}
else
{
cout<<"再接再厉";
h1(" ");
xl=xlsx;
nl=nlsx;
system("cls");
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
}
if(c=='5')
{
if(c-'0'<=g[1])
{
h1("Boos来袭!!! \n");
zx[1].a=1;
zx[1].g=25;
zx[1].f=120;
zx[2].a=2;
zx[2].mn="冰魔";
zx[2].boos[1].bosnm="冰之墙";
zx[2].boos[1].bsjn=1;
zx[2].f=280;
zx[2].g=35;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],6);
system("cls");
jb+=80;
jy+=15;
xl=xlsx;
nl=nlsx;
}
else
{
cout<<"再接再厉";
xl=xlsx;
nl=nlsx;
h1(" ");
system("cls");
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[2].boos[1].bosnm="";
zx[2].mn="";
zx[2].boos[1].bsjn=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
}
if(c=='6')
{
if(c-'0'<=g[1])
{
zx[1].a=1;
zx[1].g=22;
zx[1].f=190;
zx[2].a=1;
zx[2].g=50;
zx[2].f=160;
zx[3].a=1;
zx[3].g=40;
zx[3].f=310;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],7);
system("cls");
jb+=100;
xl=xlsx;
nl=nlsx;
jy+=20;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
}
if(c=='7')
{
if(c-'0'<=g[1])
{
zx[1].a=1;
zx[1].g=35;
zx[1].f=220;
zx[2].a=1;
zx[2].g=80;
zx[2].f=200;
zx[3].a=1;
zx[3].g=30;
zx[3].f=410;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],8);
system("cls");
jb+=125;
xl=xlsx;
nl=nlsx;
jy+=30;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
}
if(c=='8')
{
if(c-'0'<=g[1])
{
zx[1].a=1;
zx[1].g=29;
zx[1].f=420;
zx[2].a=1;
zx[2].g=85;
zx[2].f=230;
zx[3].a=1;
zx[3].g=90;
zx[3].f=550;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
g[1]=max(g[1],9);
system("cls");
jb+=175;
xl=xlsx;
nl=nlsx;
jy+=40;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
}
if(c=='9')
{
if(c-'0'<=g[1])
{
h1("Boos来袭!!! \n");
zx[1].a=1;
zx[1].g=50;
zx[1].f=520;
zx[2].a=1;
zx[2].g=90;
zx[2].f=320;
zx[3].a=3;
zx[3].mn="雪巨人";
zx[2].boos[1].bsjn=1;
zx[3].g=90;
zx[3].f=900;
if(Zhd(zx))
{
cout<<"战斗胜利!!!";
h1(" ");
if(g[1]==9)
{
h1("\n你一路上披荆斩棘,终于将版图扩大到了雪地边缘\n");
Sleep(900);
h1("前方就是大海,不远处有一座冰岛");
Sleep(900);
h1("\n岛上妖魔众多,勇士");
cout<<n;
h1(",前方还有更多困难等着你,加油!!!");
Sleep(1000);
}
g[1]=10;
system("cls");
jb+=220;
xl=xlsx;
nl=nlsx;
jy+=100;
}
else
{
cout<<"再接再厉";
h1(" ");
system("cls");
xl=xlsx;
nl=nlsx;
}
}
else h1("请先通过上一关");
zx[1].a=0;
zx[1].g=0;
zx[1].f=0;
zx[2].a=0;
zx[2].g=0;
zx[2].f=0;
zx[3].a=0;
zx[3].g=0;
zx[3].f=0;
zx[1].ztsj[1]=0;
zx[1].ztsj[2]=0;
zx[2].ztsj[1]=0;
zx[2].ztsj[2]=0;
zx[3].ztsj[1]=0;
zx[3].ztsj[2]=0;
}
}
xl=xlsx=ylxl;
}
string nx[1010];
void gotoXY(HANDLE hOut, int x, int y)
{
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(hOut, pos);
}
int num,bk=0,a123;
string qi="陈室战争之前言\n传说在离我们三千万光年的地方,有一个同我们一样的平行世界,在那里有一个鼎盛的家族,名为陈室。可是有一天,风云变幻,";
string bjsj=h3();
int hdj()
{
int e=10,d=dj;
while(d--)e*=1.2;
return e;
}
int main()
{
// SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_RED);
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
gotoXY(hOut,0,0);//光标到左上角
qi=qi+"一只只亡灵从地牢中破封而出,陈室的勇士们为了保卫祖国,纷纷死在亡灵的爪下,这一切似乎在被一个神秘人掌控着,而你和很多人一样逃跑了。";
qi=qi+"历经千辛万苦,你终于跑到了一个未知的地方\n";
int cpp12=0;
string szp;
char a=-77,b=-62,c=-122,d=-76,e=-59,f=-12;
szp[0]=a;
szp[1]=b;
szp[2]=c;
szp[3]=d;
szp[4]=e;
szp[5]=f;
string zuoz="作者:";
jn[1].nm="巨力斩";
jn[2].nm="极置千连拍";
jn[3].nm="寒冰刃";
jn[4].nm="剧毒之刺";
jn[5].nm="养精蓄锐";
jn[6].nm="辉煌之力";
jn[7].nm="千古冰封";
jn[8].nm="毒雾";
jn[9].nm="爆血狂魔";
int messx=MessageBox(NULL,"欢迎来到陈室战争,作者:陈喆鹏","陈室战争",MB_YESNOCANCEL);
if(messx==IDCANCEL||messx==IDNO)return 0;
h1("请填写您的姓名:");
cin>>n;
if(n=="A")
{
g[1]=g[2]=10;
xlsx+=9999;
xl=xlsx;
nl=9999;
jb=99999;
gj+=1999;
nl=99999;
}
h1("请设置密码");
cin>>mima;
int cszzcd=0,ooo=-999;
ifstream in("陈室战争.out");
in>>cszzcd;
int cdsl=0;//存档数量
struct CD{
string name,mima;//存档名,存档密码
int xl,gj,nl,dj,jy,jb,g[10];
}cd[1010];
if(cszzcd==0)
{
fopen("陈室战争.out", "w");
freopen("陈室战争.out", "w",stdout);
cout<<"1\n不玩游戏的人 没有密码 99999 999 999 999 1 99999 999 1 1";
fclose(stdout);
}
else
{
cszzcd=0;
ifstream in("陈室战争.out");
in>>cdsl;
for(int cdi=1;cdi<=cdsl;cdi++)
in>>cd[cdi].name>>cd[cdi].mima>>cd[cdi].xl>>cd[cdi].gj>>cd[cdi].nl>>cd[cdi].dj>>cd[cdi].jy>>cd[cdi].jb>>cd[cdi].g[1]>>cd[cdi].g[2];
for(int cdi=1;cdi<=cdsl;cdi++)
{
if(cd[cdi].name==n)
{
if(mima!=cd[cdi].mima)
{
MessageBox(NULL,"用户名重名或密码错误","陈室战争",MB_OK);
return 0;
}
else
{
MessageBox(NULL,"登陆成功","陈室战争",MB_OK);
cszzcd=1;
xlsx=cd[cdi].xl;
nlsx=cd[cdi].nl;
gj=cd[cdi].gj;
dj=cd[cdi].dj;
jy=cd[cdi].jy;
jb=cd[cdi].jb;
g[1]=cd[cdi].g[1];
g[2]=cd[cdi].g[2];
ooo=cdi;
break;
}
}
}
}
while(1)
{
system("color 0F");
while(1)
if(jy>=hdj())
{
jy-=hdj();
h1("升级了!!!");
xl=xlsx=xlsx*1.2;
gj*=1.2;
dj++;
nl=nlsx=nlsx*1.1;
}
else break;
h1("第");
cout<<dy;
h1("天\n请问你要干什么?\nA:夺回祖国 B:查看背包 C:进入商城 D:查看状态 E:学习技能 F:炼药炉 Z:不玩了\n");
zsm=getche();
system("cls");
if(zsm=='D'||zsm-32=='D')
hd(xl,jy,dj,gj,nl,jb);
if(zsm=='C'||zsm-32=='C')
hc();
if(zsm=='E'||zsm-32=='E')
he();
if(zsm=='F'||zsm-32=='F')
{
if(dj>=5)hf();
else
{
h1("炼丹炉5级开放,请你谅解☆☆☆☆☆");
MessageBox(NULL,"炼丹炉5级开放,请你谅解☆☆","陈室战争",MB_OK);
}
}
if(zsm=='Z'||zsm-32=='Z')
{
string s=h3();
int l=bjsj.length(),u=s[l-1]-bjsj[l-1];
u+=(s[l-2]-bjsj[l-2])*10;
cout<<"你玩了"<<u<<"分钟";
cout<<endl<<zuoz<<szp;
freopen("陈室战争.out", "w",stdout);
if(cszzcd==1)
{
cout<<cdsl<<endl;
cout<<n<<" "<<mima<<" "<<xlsx<<" "<<gj<<" "<<nlsx<<" "<<dj<<" "<<jy<<" "<<jb<<" "<<g[1]<<" "<<g[2]<<endl;
for(int cdi=1;cdi<=cdsl;cdi++)
if(cdi!=ooo)
cout<<cd[cdi].name<<" "<<cd[cdi].mima<<" "<<cd[cdi].xl<<" "<<cd[cdi].gj<<" "<<cd[cdi].nl<<" "<<cd[cdi].dj<<" "<<cd[cdi].jy<<" "<<cd[cdi].jb<<" "<<cd[cdi].g[1]<<" "<<cd[cdi].g[2]<<endl;
fclose(stdout);
}
else
{
cout<<cdsl+1<<endl;
cout<<n<<" "<<mima<<" "<<xlsx<<" "<<gj<<" "<<nlsx<<" "<<dj<<" "<<jy<<" "<<jb<<" "<<g[1]<<" "<<g[2]<<endl;
for(int cdi=1;cdi<=cdsl;cdi++)
cout<<cd[cdi].name<<" "<<cd[cdi].mima<<" "<<cd[cdi].xl<<" "<<cd[cdi].gj<<" "<<cd[cdi].nl<<" "<<cd[cdi].dj<<" "<<cd[cdi].jy<<" "<<cd[cdi].jb<<" "<<cd[cdi].g[1]<<" "<<cd[cdi].g[2]<<endl;
fclose(stdout);
}
return 0;
}
if(zsm=='B'||zsm-32=='B')
hb();
if(zsm=='A'||zsm-32=='A')
{
had();
}
if(jy>=dj*100)
{
jy-=dj*100;
dj++;
}
dy++;
h2();
}
// fclose(stdin);
// fclose(stdout);
return 0;
}
void hf()
{
while(1)
{
char i;
string xx;xx="";
for(int i=1;i<=ldj;i++)xx=xx+"☆";
h1("欢迎来到"+xx+"炼丹炉\n");
cout<<"你去哪?A.炉子 B.算命先生 C.许愿池 D.不干啥 E.获得"<<ldj+1<<"星炼丹炉出入证";
i=getche();
h2();
if(i=='E')
{
if(ljy>=ldj*50)
{
ljy-=ldj*50;
ldj++;
cout<<"成功获得";
h1("你还剩");
cout<<ljy;
h1("张炼丹卷");
h2();
return ;
}
else
{
h1("炼丹卷不足,你还差");
cout<<ldj*50-ljy;
h1("张炼丹卷 ");
h2();
h1("任意键继续");
getche();
return ;
}
}
if(i=='D')return ;
if(i=='B')
{
h1("大兄得,偶见里经脉奇特,乃四千年不遇的旷世奇才,我卖给你一本书,只要10个金币");
Sleep(500);
MessageBox(NULL,"冰魔:唯一技能:冰之墙:放一堵墙,可抵挡冰魔当前血量的百分之五十","陈室战争·BOOS技能书1",MB_OK);
MessageBox(NULL,"雪巨人:唯一技能:大雪球:吐出一个雪球,伤害不高,被命中后你的伤害降低50%","陈室战争·BOOS技能书2",MB_OK);
MessageBox(NULL,"冰山傀儡:技能1:冰之墙:放一堵墙,可抵挡冰魔当前血量的百分之五十\n技能2:冰甲霸体:前方3个人得到15%血量冰甲,并获得冰属性","陈室战争·BOOS技能书2",MB_OK);
Sleep(500);
h2();
}
if(i=='C')
{
while(i!='4')
{
cout<<"1.投20金币 2.投1钻石 3.跳池 4.离开\n";
i=getche();
if(i=='1')
{
jb-=20;
int a=rand()%1000;
if(a<=700)
{
h1("没有变化");
Sleep(2000);
}
if(a>800&&a<=900)
{
h1("天上掉下来十张炼丹卷");
ljy+=10;
Sleep(2000);
}
if(a>700&&a<=800)
{
h1("天上掉下来2张炼丹卷");
ljy+=2;
Sleep(2000);
}
if(a>900&&a<=950)
{
h1("天上掉下来一颗钻石");
zs++;
Sleep(2000);
}
if(a>950)
{
h1("天上掉下来三颗钻石");
zs+=3;
Sleep(2000);
}
h2();
}
if(i=='2')
{
zs--;
int a=rand()%1000;
if(a<=300)
{
h1("没有变化");
Sleep(2000);
}
if(a>300&&a<=380)
{
h1("天上掉下来十张炼丹卷");
ljy+=10;
Sleep(2000);
}
if(a>380&&a<=600)
{
h1("天上掉下来2张炼丹卷");
ljy+=2;
Sleep(2000);
}
if(a>600&&a<=700)
{
h1("天上掉下来一颗钻石");
zs++;
Sleep(2000);
}
if(a>900)
{
h1("天上掉下来五颗钻石");
zs+=5;
Sleep(2000);
}
if(a>700&&a<=900)
{
h1("天上掉下来二颗钻石");
zs+=2;
Sleep(2000);
}
h2();
}
if(i=='3')
{
h1("你看到了一个洞");
Sleep(1000);
h1("\n上面有道结界");
h1("\n你被弹出水池");
Sleep(2000);
h2();
}
}
}
}
return ;
}
0
0
0
0
0
0
0
0
0
高杨
资深守护
资深守护
Bug:把游戏关掉重进的时候,只是保存了属性,炉子的星级还有装备都没有了,这个时候的初始属性就会变成上次添加装备时的属性,而且还可以二次购买装备
P.S.建议把.out文件里储存的东西搞多一点,比如说当前玩到第几关(这个我看见有,但是每次关掉重进的时候他不会记录是雪地还是冰岛)还有当前的装备,物品个数等,辛苦大佬啦
0
0