RPG_chen
#include<bits/stdc++.h>
#include<iostream>
#include<windows.h>
/*
更新公告:
1.01:新增角色黄沙老者(B),现在中立阵营可以进行转职与购买.
开启对话模式,进一步提升剧情完整性.
调整了升级模式,避免10+级时面对小怪的无力.
增加了一个小彩蛋与日夜系统.
调整了一些转职角色的数值,使各角色各阵营更加平衡.完
善了药物系统并修复了一个bug
1.02:更改了语言并重置了登陆系统
*/
#define rda(x); freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);
#define srd(); fclose(stdin);fclose(stdout);
using namespace std;
/*
D:dragon魔龙
G:girl(princess,目前chen不知道她是公主)
B:businessman商人
*/
bool fast_go=0,first_gift,Dragonborn,day,cday,jq=0;
long long chen_x=45,chen_y=45,jd=1,girl_x=1,girl_y=1,zy=0,D_x=2,D_y=2,d_x=30,d_y=30;
long long hp_chen=1,max_hp_chen=100,level_chen=0,magic_chen=0,max_magic_chen=100,hurt_chen=3,xp_chen=0,xp_limit=50,xp_up=50,gold=10,fy_chen=5;
long long hp_m=100,hurt_m=2,m_x,m_y,occupation=0,turn_occupation=0,c_x=15,c_y=15,B_x=50,B_y=50,drugs_blood=0,drugs_magic=0,user=0;
double back_hurt=0;
int talk_b,talk_g,talk_d;
const int pm_x=15,pm_y=50;
char a[1010][1010];
void clean() {
system("cls");
return;
}
void attribute() {
if(xp_chen>=xp_limit) {
xp_limit+=xp_up;
xp_up+=50;
xp_chen-=xp_limit;
level_chen++;
max_magic_chen++;
magic_chen=max_magic_chen;
hurt_chen+=2;
fy_chen+=(level_chen/5);
max_hp_chen+=30;
hp_chen=max_hp_chen;
char n1;
system("cls");
cout<<"你感受到了血液中流动的力量!\n";
cout<<"请选择要增加的属性!\n";
cout<<"1.血量 2.魔力 3.伤害 4.经验 5.防御\n";
cin>>n1;
if(n1=='1') {
max_hp_chen+=50;
hp_chen=max_hp_chen;
} else {
if(n1=='2') {
max_magic_chen+=5;
magic_chen=max_magic_chen;
} else {
if(n1=='3') {
hurt_chen+=3;
} else {
if(n1=='4') {
xp_limit-=((double)(xp_up/3));
} else {
if(n1=='5') {
fy_chen+=5;
} else {
}
}
}
}
}
}
if(occupation==1) {
back_hurt=level_chen*2;
}
if(occupation==3) {
max_magic_chen+=30;
}
return;
}
void print_map() {
clean();
attribute();
int i,j;
cout<<"X:"<<chen_x<<" Y:"<<chen_y<<" 金币:"<<gold<<" 伤害:"<<hurt_chen<<" 防御:"<<fy_chen<<endl;
cout<<"等级:"<<level_chen<<" 经验:"<<xp_chen<<"/"<<xp_limit<<" 血量:"<<hp_chen<<"/"<<max_hp_chen<<" 魔力:"<<magic_chen<<"/"<<max_magic_chen<<endl;
cout<<jd<<".";
if(jd==1) {
cout<<"前往1_1寻找一个公主!";
} else {
if(jd==2) {
a[1][1]=' ';
printf("杀死最初之兽(%d_",m_x);cout<<m_y<<")!\n";
if(first_gift==0) {
hp_chen+=99;
hurt_chen+=2;
first_gift=1;
}
} else {
if(jd==3) {
if(level_chen<=50) {
printf("变强!\n");
} else {
if(zy==1) {
printf("猎杀魔龙(%d_",D_x);cout<<D_y<<")!\n";
} else {
if(zy==2) {
printf("杀死公主(%d_",girl_x);cout<<girl_y<<")!\n";
} else {
if(zy==3) {
printf("猎杀魔龙(%d_",D_x);cout<<D_y<<")和";printf("公主(%d_",girl_x);cout<<girl_y<<")!\n";
}
}
}
}
if(occupation==0) {
if(zy==2) {
printf("找到魔龙选择职业(%d_",D_x);cout<<D_y<<")!\n";
} else {
if(zy==1) {
printf("找到公主选择职业(%d_",girl_x);cout<<girl_y<<")!\n";
} else {
if(zy==3) {
printf("找到黄沙老者选择职业(%d_",B_x);cout<<B_y<<")!\n";
}
}
}
} else {
if(occupation==1) {
}
}
}
}
}
cout<<endl;
// cout<<chen_x-(pm_x/2)<<" "<<chen_x+(pm_x/2)<<" "<<chen_y-(pm_y/2)<<" "<<chen_y+(pm_y/2)<<endl;
for(i=chen_x-(pm_x/2); i<=chen_x+(pm_x/2); i++) {
for(j=chen_y-(pm_y/2); j<=chen_y+(pm_y/2); j++) {
if(j==chen_y-(pm_y/2)&&i==chen_x-(pm_x/2)) {
printf("┏");
} else {
if(j==chen_y-(pm_y/2)&&i==chen_x+(pm_x/2)) {
printf("┗");
} else {
if(i==chen_x+(pm_x/2)&&j==chen_y+(pm_y/2)) {
printf("┛");
} else {
if(i==chen_x-(pm_x/2)&&j==chen_y+(pm_y/2)) {
printf("┓");
} else {
if(j==chen_y-(pm_y/2)||j==chen_y+(pm_y/2)) {
printf("|");
} else {
if(i==chen_x-(pm_x/2)||i==chen_x+(pm_x/2)) {
printf("-");
} else {
cout<<a[i][j];
}
}
}
}
}
}
}
printf("\n");
}
return;
}
void make_map() {
int A,B;
for(A=0; A<=1001; A++) {
for(B=0; B<=1001; B++) {
if(A==chen_x&&B==chen_y) {
a[A][B]='C';
}
if(A==girl_x&&B==girl_y) {
a[A][B]='G';
}
if(A==D_x&&B==D_y) {
a[A][B]='D';
}
if(A==m_x&&B==m_y) {
a[A][B]='M';
}
if(A==c_x&&B==c_y) {
a[A][B]='S';
}
if(A==d_x&&B==d_y) {
}
if(A==B_x&&B==B_y) {
a[A][B]='B';
}
if(A==0||A==1001) {
a[A][B]='+';
}
if(B==0||B==1001) {
a[A][B]='+';
}
if((A==0&&B==0)||(A==0&&B==1001)||(A==1001&&B==0)||(A==1001&&B==1001)) {
a[A][B]='+';
}
}
}
return;
}
void player_go(char turn,int number) {
int i,j;
if(cday==0) {
if(day==0) {
system("color 70");
} else {
system("color 07");
}
}
cout<<"做出你的选择!\n";
cin>>turn;
cin>>number;
if(fast_go==0) {
for(i=0; i<number; i++) {
a[chen_x][chen_y]=' ';
if(turn=='W'||turn=='w') {
chen_x--;
if(chen_x<0) {
printf("越界!\n");
chen_x+=2;
system("pause");
print_map();
}
} else {
if(turn=='S'||turn=='s') {
chen_x++;
if(chen_x>1001) {
printf("越界!\n");
chen_x-=2;
system("pause");
print_map();
}
} else {
if(turn=='A'||turn=='a') {
chen_y--;
if(chen_y<0) {
printf("越界!\n");
chen_y+=2;
system("pause");
print_map();
}
} else {
if(turn=='D'||turn=='d') {
chen_y++;
if(chen_y>1001) {
printf("越界!\n");
chen_y-=2;
system("pause");
print_map();
}
} else {
if(turn=='Q'||turn=='q') {
fast_go=1;
} else {
if(turn=='E'||turn=='e') {
system("cls");
char n1;
cout<<"1.药物 2.猎杀小怪 3.日照设置 4.跳过剧情\n";
cin>>n1;
if(n1=='1') {
printf("1.血袋(%d) 2.灵石(%d)\n",drugs_blood,drugs_magic);
cin>>n1;
if(n1=='1') {
if(drugs_blood>=1) {
if(hp_chen+200>max_hp_chen) {
hp_chen=max_hp_chen;
} else {
hp_chen+=200;
}
drugs_blood-=1;
cout<<"你好多了!\n";
} else {
cout<<"穷光蛋!\n";
}
system("pause");
} else {
if(n1=='2') {
if(drugs_magic>=1) {
if(magic_chen+150>max_magic_chen) {
magic_chen=max_magic_chen;
} else {
magic_chen+=150;
}
drugs_magic-=1;
cout<<"针不戳!\n";
} else {
cout<<"没钱?!\n";
}
system("pause");
}
}
} else {
if(n1=='2') {
printf("快杀了小怪(%d_",m_x);cout<<m_y<<")!\n";
system("pause");
} else {
if(n1=='3') {
printf("1.永昼 2.永夜 3.日夜交替\n");
cin>>n1;
if(n1=='1') {
cday=1;
system("color 70");
} else {
if(n1=='2') {
cday=1;
system("color 07");
} else {
if(n1=='3') {
cday=0;
system("color 07");
} else {
if(n1=='4') {
jq=1;
cout<<"成功!\n";
system("pause");
}
}
}
}
}
}
}
} else {
}
}
}
}
}
}
make_map();
print_map();
}
} else {
a[chen_x][chen_y]=' ';
if(turn=='W'||turn=='w') {
chen_x-=number;
if(chen_x<0) {
printf("越界!\n");
chen_x+=number-+1;
system("pause");
print_map();
}
} else {
if(turn=='S'||turn=='s') {
chen_x+=number;
if(chen_x>1001) {
printf("越界!\n");
chen_x-=number+1;
system("pause");
print_map();
}
} else {
if(turn=='A'||turn=='a') {
chen_y-=number;
if(chen_y<0) {
printf("越界!\n");
chen_y+=number+1;
system("pause");
print_map();
}
} else {
if(turn=='D'||turn=='d') {
chen_y+=number;
if(chen_y>1001) {
printf("越界!\n");
chen_y-=number+1;
system("pause");
print_map();
}
} else {
if(turn=='Q'||turn=='q') {
fast_go=0;
} else {
if(turn=='E'||turn=='e') {
system("cls");
char n1;
cout<<"1.药物 2.猎杀小怪 3.日照设置 4.跳过剧情\n";
cin>>n1;
if(n1=='1') {
printf("1.血袋(%d) 2.灵石(%d)\n",drugs_blood,drugs_magic);
cin>>n1;
if(n1=='1') {
if(drugs_blood>=1) {
if(hp_chen+200>max_hp_chen) {
hp_chen=max_hp_chen;
} else {
hp_chen+=200;
}
drugs_blood-=1;
cout<<"嗯,不错!\n";
} else {
cout<<"你的魔法真不错!\n";
}
system("pause");
} else {
if(n1=='2') {
if(drugs_magic>=1) {
if(magic_chen+150>max_magic_chen) {
magic_chen=max_magic_chen;
} else {
magic_chen+=150;
}
drugs_magic-=1;
cout<<"好多了!\n";
} else {
cout<<"穷光蛋!\n";
}
system("pause");
}
}
} else {
if(n1=='2') {
printf("猎杀小怪(%d_",m_x);cout<<m_y<<")!\n";
system("pause");
} else {
if(n1=='3') {
printf("1.永昼 2.永夜 3.日夜交替 4.跳过剧情\n");
cin>>n1;
if(n1=='1') {
cday=1;
system("color 70");
} else {
if(n1=='2') {
cday=1;
system("color 07");
} else {
if(n1=='3') {
cday=0;
system("color 07");
} else {
if(n1=='4') {
jq=1;
cout<<"成功!\n";
system("pause");
}
}
}
}
}
}
}
} else {
}
}
}
}
}
}
make_map();
print_map();
}
if(abs(chen_x-B_x)<=1&&abs(chen_y-B_y)<=1) {
day=rand()%2+1;
char n1;
system("cls");
cout<<"欢迎来到我的商店,黄沙眷顾之人\n";
for(int i1=0; i1>-1; i1++) {
cout<<"1.药物 2.职业 3.离开 4.谈话\n";
cin>>n1;
if((n1-'0')==1) {
cout<<"1.血袋(100/1) 2.魔石(150/1) 3.灵魂结晶(150/1) 4.生命之水(300/1) 5.离开\n";
cin>>n1;
if(n1=='1') {
if(gold>=100) {
drugs_blood++;
// if(hp_chen+200>max_hp_chen) {
// hp_chen=max_hp_chen;
// } else {
// hp_chen+=200;
// }
}
} else {
if(n1=='2') {
if(gold>=150) {
drugs_magic++;
// if(magic_chen+150>max_magic_chen) {
// magic_chen=max_magic_chen;
// } else {
// magic_chen+=150;
// }
}
} else {
if(n1=='3') {
if(gold>=150) {
xp_chen+=300;
}
} else {
if(n1=='4') {
max_hp_chen+=100;
} else {
if(n1=='5') {
break;
}
}
}
}
}
} else {
if((n1-'0')==2) {
if(zy==3) {
if(turn_occupation==0) {
cout<<"1.术士 2.猎人 3.战士 4.巫师 5.德鲁伊 6.萨满 7.祭司\n";
cin>>n1;
if((n1-'0')==1) {
occupation=7;
turn_occupation=1;
} else {
if((n1-'0')==2) {
occupation=8;
turn_occupation=1;
} else {
if((n1-'0')==3) {
occupation=9;
turn_occupation=1;
} else {
if(n1=='4') {
occupation=10;
turn_occupation=1;
} else {
if(n1=='5') {
occupation=11;
turn_occupation=1;
} else {
if(n1=='6') {
occupation=12;
turn_occupation=1;
} else {
if(n1=='7') {
occupation=13;
turn_occupation=1;
}
}
}
}
}
}
}
} else {
if(level_chen>=50) {
if(turn_occupation==1) {
} else {
}
}
}
} else {
if(zy==1) {
cout<<"嗯~,或许你可以问问公主!\n";
} else {
if(zy==2) {
cout<<"魔龙先生可是博学多才的呢\n";
}
}
}
} else {
if(n1=='3') {
break;
} else {
if(n1=='4') {
if(talk_b>=25) {
cout<<"黄沙老者:谢谢你的陪伴!\n";
cout<<"你获得了黄沙的馈赠!";
cout<<"血量++\n";
max_hp_chen+=200;
cout<<"孩子,记住:活下去才有一切!\n";
talk_b=-15;
} else {
int n2=rand()%35+1;
talk_b++;
if(n2==1) {
cout<<"自从那个该死的公主来了之后我就没睡过好觉\n";
} else {
if(n2==2) {
cout<<"你知道吗,你不是第一个,但我希望你是最后一个\n";
} else {
if(n2==3) {
cout<<"我会杀了那些该死的怪物.\n";
} else {
if(n2==4) {
cout<<"噢,现在究竟是白天还是黑夜呢!\n";
} else {
if(n2==5) {
cout<<"一切都会结束的,很快\n";
} else {
if(n2==6) {
cout<<"玛莎,你究竟在哪呢?\n";
} else {
if(n2==7) {
cout<<"魔龙毁了我的一切\n";
} else {
if(n2==8) {
cout<<"黄沙之下的之高存在啊,我将以我的愤怒向世界宣战\n";
} else {
if(n2==9) {
cout<<"旅者,你能听见我的召唤吗?\n";
} else {
if(n2==10) {
cout<<"呵,我的人生或许只是一场游戏罢了\n";
} else {
if(n2==11) {
cout<<"杀了我吧,我知道我不再是我了,我再也不想这么干了\n";
} else {
if(n2==12) {
cout<<"这里是被世界遗忘角落\n";
} else {
if(n2==13) {
cout<<"到底是勇士变成了魔龙,还是魔龙变成了勇士呢?\n";
} else {
if(n2==14) {
cout<<"结束了吗?\n";
} else {
if(n2==15) {
cout<<"女神在上,黎明的光辉终将照亮黑夜?\n";
} else {
if(n2==16) {
cout<<"我们所看见的不过是一层又一层的梦境\n";
} else {
if(n2==17) {
cout<<"你听见了吗,旅者\n";
} else {
if(n2==18) {
cout<<"我们早已别无选择\n";
} else {
if(n2==19) {
cout<<"予你水与阴凉\n";
} else {
if(n2==20) {
cout<<"那是黄沙的呼唤\n";
} else {
if(n2==21) {
cout<<"醒醒孩子,这里只有黄沙\n";
} else {
if(n2==22) {
cout<<"如果你想早点脱离这个噩梦,就快快变强吧\n";
} else {
if(n2==23) {
cout<<"这里没有怪物,我们只是昨日的幻影\n";
} else {
if(n2==24) {
cout<<"回望过去却发现自己早已一无所有\n";
} else {
if(n2==25) {
cout<<"事实上我只是一个弱者\n";
} else {
if(n2==26) {
cout<<"公主是个疯子,魔龙是个傻子,而我是个骗子\n";
} else {
if(n2==27) {
cout<<"死亡让我们铭记生命\n";
} else {
if(n2==28) {
cout<<"当心些,天黑了挺冷的\n";
} else {
if(n2==29) {
cout<<"当心脚下\n";
} else {
if(n2==30) {
cout<<"眼见不一定为实\n";
} else {
cout<<"让我这个老头子想想,就一会儿\n";
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
// system("pause");
// system("cls");
}
}
}
if(abs(chen_x-c_x)<=1&&abs(chen_y-c_y)<=1) {
day=rand()%2+1;
cout<<"保存中(请输入任意数字)\n";
char n1;
cin>>n1;
FILE *fp;
if(user=1) {
SetFileAttributes("rpg_chen_1.txt", FILE_ATTRIBUTE_NORMAL);
fp=fopen("rpg_chen_1.txt","w+");
fprintf(fp,"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",chen_x,chen_y,occupation,gold,level_chen,xp_chen,xp_limit,hp_chen,max_hp_chen,jd,zy,magic_chen,max_magic_chen,drugs_blood,drugs_magic);
SetFileAttributes("rpg_chen_1.txt",FILE_ATTRIBUTE_HIDDEN );
} else {
if(user=2) {
SetFileAttributes("rpg_chen_2.txt", FILE_ATTRIBUTE_NORMAL);
fp=fopen("rpg_chen_2.txt","w+");
fprintf(fp,"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",chen_x,chen_y,occupation,gold,level_chen,xp_chen,xp_limit,hp_chen,max_hp_chen,jd,zy,magic_chen,max_magic_chen,drugs_blood,drugs_magic);
SetFileAttributes("rpg_chen_2.txt",FILE_ATTRIBUTE_HIDDEN );
} else {
if(user=3) {
SetFileAttributes("rpg_chen_3.txt", FILE_ATTRIBUTE_NORMAL);
fp=fopen("rpg_chen_3.txt","w+");
fprintf(fp,"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",chen_x,chen_y,occupation,gold,level_chen,xp_chen,xp_limit,hp_chen,max_hp_chen,jd,zy,magic_chen,max_magic_chen,drugs_blood,drugs_magic);
SetFileAttributes("rpg_chen_3.txt",FILE_ATTRIBUTE_HIDDEN );
} else {
cout<<"保存失败!";
system("Pause");
return;
}
}
}
fclose(fp);
system("Pause");
}
if(abs(chen_x-D_x)<=1&&abs(chen_y-D_y)<=1) {
day=rand()%2+1;
if(zy==1) {
if(level_chen<=50) {
system("cls");
cout<<"你太弱了!\n";
system("pause");
system("cls");
}
}
if(zy==2) {
char n1;
system("cls");
cout<<"唔,你要啥\n";
for(int i1=0; i1>-1; i1++) {
if(occupation!=3) {
cout<<"1.药物 2.职业 3.离开\n";
} else {
if(Dragonborn==0) {
cout<<"1.药物 2.职业 3.离开 4.成为魔龙之子!\n";
} else {
cout<<"1.药物 2.职业 3.离开\n";
}
}
cin>>n1;
if((n1-'0')==1) {
cout<<"1.血袋(100/1) 2.魔石(150/1) 3.灵魂结晶(150/1) 4.生命之水(300/1) 5.离开\n";
cin>>n1;
if(n1=='1') {
if(gold>=100) {
drugs_blood++;
// if(hp_chen+200>max_hp_chen) {
// hp_chen=max_hp_chen;
// } else {
// hp_chen+=200;
// }
}
} else {
if(n1=='2') {
if(gold>=150) {
drugs_magic++;
// if(magic_chen+150>max_magic_chen) {
// magic_chen=max_magic_chen;
// } else {
// magic_chen+=150;
// }
}
} else {
if(n1=='3') {
if(gold>=150) {
xp_chen+=300;
}
} else {
if(n1=='4') {
max_hp_chen+=100;
} else {
if(n1=='5') {
break;
}
}
}
}
}
} else {
if((n1-'0')==2) {
if(turn_occupation==0) {
cout<<"1.苦痛使者 2.黑暗骑士 3.龙裔\n";
cin>>n1;
if((n1-'0')==1) {
occupation=1;
max_hp_chen+=200;
fy_chen=0;
turn_occupation=1;
} else {
if((n1-'0')==2) {
occupation=2;
turn_occupation=1;
fy_chen-=2;
hurt_chen+=10;
max_hp_chen+=200;
} else {
if((n1-'0')==3) {
occupation=3;
turn_occupation=1;
}
}
}
} else {
if(level_chen>=50) {
if(turn_occupation==1) {
} else {
}
}
}
} else {
if((n1-'0')==3) {
break;
} else {
if((n1-'0')==4&&occupation==3) {
if(Dragonborn==0) {
system("cls");
cout<<"魔龙:你是我的孩子了!\n";
cout<<"力量在流动!\n";
fy_chen+=15;
hurt_chen+=15;
max_hp_chen+=300;
gold+=1500;
Dragonborn=1;
}
}
}
}
}
system("pause");
system("cls");
}
}
}
if(abs(chen_x-m_x)<=1&&abs(chen_y-m_y)<=1) {
day=rand()%2+1;
system("cls");
Sleep(2000);
for(int i1=0; i1>-2; i1++) {
cout<<"1.战斗 2.技能 3.药物 4.逃跑\n";
char n;
cin>>n;
if((n-'0')==1) {
hp_m-=hurt_chen;
cout<<"现在你的血量:"<<hp_chen<<" 小怪的血量:"<<hp_m<<endl;
} else {
if((n-'0')==2) {
char n1;
if(occupation==5) {
cout<<"1.光魔法(伤害型) 2.光魔法(恢复型) 3.召唤光明使者(安全的)\n";
cin>>n1;
if(n1=='1') {
hurt_chen+=((double)(level_chen/10));
} else {
if(n1=='2') {
hp_chen+=((double)(2*level_chen));
} else {
if(n1=='3') {
hp_chen-=((double)(5*level_chen));
hp_m-=((double)(25*level_chen));
}
}
}
} else {
if(occupation==6) {
cout<<"1.光魔法(血量)\n";
cin>>n1;
if(n1=='1') {
hp_chen+=(10*level_chen),max_hp_chen+=(5*level_chen);
}
} else {
if(occupation==3) {
cout<<"1.召唤一个兄弟!(危险)";
cin>>n1;
int i2;
i2=rand()%20+1;
if(n1=='1') {
max_magic_chen-=i2;
hp_m=-1;
}
}
}
}
cout<<"现在你的血量:"<<hp_chen<<" 小怪的血量:"<<hp_m<<endl;
} else {
if((n-'0')==3) {
cout<<"1.血袋 2.魔石\n";
char n1;
cin>>n1;
if(n1=='1') {
if(drugs_blood>=1) {
if(hp_chen+200>max_hp_chen) {
hp_chen=max_hp_chen;
} else {
hp_chen+=200;
}
drugs_blood-=1;
cout<<"你感到好多了!\n";
} else {
cout<<"真穷!\n";
}
} else {
if(n1=='2') {
if(drugs_magic>=1) {
if(magic_chen+150>max_magic_chen) {
magic_chen=max_magic_chen;
} else {
magic_chen+=150;
}
drugs_magic-=1;
cout<<"针不戳!\n";
} else {
cout<<"没钱的日子好难受啊!\n";
}
}
}
cout<<"现在你的血量:"<<hp_chen<<" 小怪的血量:"<<hp_m<<endl;
} else {
if((n-'0')==4) {
break;
}
}
}
}
if(fy_chen>hurt_m) {
hp_chen-=1;
} else {
hp_chen-=(hurt_m-fy_chen);
}
hp_m-=((double)(back_hurt*hurt_m)/10);
if(hp_chen<0) {
system("cls");
system("color 47");
cout<<"你死了!\n";
xp_chen-=(xp_up/3);
Sleep(3000);
day=rand()%2;
break;
}
if(hp_m<0) {
system("cls");
cout<<"你赢了!\n";
a[m_x][m_y]=' ';
system("pause");
int gold1;
hp_m=500+level_chen*250,hurt_m=1+3.5*level_chen;
xp_chen+=(hp_m/30+hurt_m);
xp_chen+=(hp_m/30+hurt_m);
gold1=rand()%30+1;
gold+=gold1;
m_x=rand()%100+2;
Sleep(114);
m_x=rand()%100+2;
if(jd==2) {
jd=3;
}
day=rand()%2;
break;
}
}
}
if(abs(chen_x-girl_x)<=1&&abs(chen_y-girl_y)<=1) {
day=rand()%2+1;
if(jd==1) {
jd=2;
a[1][1]=' ';
char n;
system("cls");
if(jq==0) {
cout<"公主:你叫啥?\n";
Sleep(1400);
cout<<"陈:你可以叫我陈先生\n";
Sleep(1400);
cout<<"公主:很高兴遇见你!\n";
Sleep(1400);
cout<<"陈:同感!\n";
Sleep(1400);
cout<<"公主:这里有很多...\n";
Sleep(2800);
cout<<"公主:魔龙来了,一起跑\n";
Sleep(1200);
}
cout<<"1.魔龙是啥? 2.(跟着公主一起跑) 3.代号:猎龙行动 4.(自己跑)\n";
cin>>n;
if((n-'0')==1) {
if(jq==0) {
cout<<"公主:它很强,你很菜,打不过\n";
Sleep(1200);
cout<<"公主:为了解决你的弱智问题,我们没时间跑了\n";
Sleep(1400);
}
cout<<"1.为啥?这里毛都没有. 2.你什么意思?\n";
Sleep(1400);
char n1;
cin>>n1;
if((n1-'0')==2) {
cout<<"公主:再见了(双关)!\n";
Sleep(3000);
system("color 47");
cout<<"公主杀了你";
girl_x=rand()%1000+1,Sleep(114),girl_y=rand()&1000+1;
hp_chen=-1;
return;
} else {
cout<<"你死了!\n";
Sleep(3000);
girl_x=rand()%1000+1,Sleep(114),girl_y=rand()&1000+1;
hp_chen=-1;
return;
}
} else {
if((n-'0')==2) {
cout<<"公主:挺聪明.";
Sleep(2000);
girl_x=rand()%1000+1,Sleep(114),girl_y=rand()&1000+1;
zy=1;
} else {
if((n-'0')==3) {
if(jq==0) {
cout<<"公主:你会死的!\n";
system("color 47");
Sleep(5000);
}
cout<<"魔龙来了.它盯着你看了一会儿,觉得你很有趣并让你去它的公司上班(雾).\n";
system("color 07");
cout<<"不管怎么说,你活了下来.\n";
zy=2;
girl_x=rand()%1000+1,Sleep(114),girl_y=rand()&1000+1;
system("pause");
return;
} else {
if((n-'0')==4) {
system("color 47");
cout<<"魔龙似乎对你不感兴趣,这让你开始怀疑公主的真实目的.\n";
if(jq==0) {
Sleep(3000);
}
girl_x=rand()%1000+1,girl_y=rand()&1000+1;
zy=3;
return;
} else {
cout<<"You died!\n";
Sleep(3000);
girl_x=rand()%1000+1,girl_y=rand()&1000+1;
hp_chen=-1;
return;
}
}
}
}
} else {
if(zy==2) {
if(level_chen<=50) {
system("cls");
cout<<"她太强了,你没机会的!\n";
system("pause");
system("cls");
}
}
if(zy==1) {
char n1;
system("cls");
cout<<"欢迎来到米奇妙妙屋\n";
for(int i1=0; i1>-1; i1++) {
if(occupation!=3) {
cout<<"1.药物 2.职业 3.离开\n";
}
cin>>n1;
if((n1-'0')==1) {
cout<<"1.血袋(100/1) 2.灵石(150/1) 3.灵魂结晶(150/1) 4.生命之水(300/1) 5.离开\n";
cin>>n1;
if(n1=='1') {
if(gold>=100) {
drugs_blood++;
// if(hp_chen+200>max_hp_chen) {
// hp_chen=max_hp_chen;
// } else {
// hp_chen+=200;
// }
} else {
if(n1=='2') {
if(gold>=150) {
drugs_magic++;
// if(magic_chen+150>max_magic_chen) {
// magic_chen=max_magic_chen;
// } else {
// magic_chen+=150;
// }
}
} else {
if(n1=='3') {
if(gold>=150) {
xp_chen+=300;
}
} else {
if(n1=='4') {
max_hp_chen+=100;
} else {
if(n1=='5') {
break;
}
}
}
}
}
}
} else {
if((n1-'0')==2) {
if(turn_occupation==0) {
cout<<"1.光骑士 2.教徒 3.牧师\n";
cin>>n1;
if((n1-'0')==1) {
max_hp_chen+=100;
fy_chen+=5;
hurt_chen-=2;
occupation=4;
turn_occupation=1;
} else {
if((n1-'0')==2) {
fy_chen-=2;
hurt_chen+=10;
occupation=5;
turn_occupation=1;
} else {
if((n1-'0')==3) {
max_hp_chen+=50;
fy_chen-=1;
hurt_chen-=1;
occupation=6;
turn_occupation=1;
}
}
}
} else {
if(level_chen>=50) {
if(turn_occupation==1) {
} else {
}
}
}
} else {
if((n1-'0')==3) {
break;
} else {
}
}
}
system("pause");
system("cls");
}
}
}
return;
}
}
void in_player_turn(char a,int b) {
player_go(a,b);
return ;
}
int main() {
int i,j,finish=0;
cday=1;
char n1,a;
int b;
srand(unsigned(time(NULL)));
m_x=rand()%100+2,Sleep(114),m_y=rand()%100+2;
D_x=rand()%1000+1,Sleep(514),D_y=rand()&1000+1;
// B_x=rand()%1000+1,B_y=rand()&1000+1;
day=rand()%2;
cout<<"1.登陆 2.帮助\n";
cin>>n1;user=1;
if(n1=='1') {
cout<<"1.一号 2.二号 3.三号\n";
cin>>n1;
FILE *fp;
long long x=0,y=0,j=0,g=0,l=0,x1=0,xl=0,h=0,hp=0,jdd=1,zyy=0,m=0,mm=0,d=0,dd=0;
user=n1-'0';
cout<<n1<<" ";
if(user==1) {
SetFileAttributes("rpg_chen_1.txt", FILE_ATTRIBUTE_NORMAL);
fp=fopen("rpg_chen_1.txt","r+");
fscanf(fp,"%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d\n",&x,&y,&j,&g,&l,&x1,&xl,&h,&hp,&jdd,&zyy,&m,&mm,&d,&dd);
chen_x=x,chen_y=y,occupation=j,gold=g,level_chen=l,xp_chen=x1,xp_limit=xl,hp_chen=h,max_hp_chen=hp,jd=jdd,zy=zyy,magic_chen=m,max_magic_chen=mm,drugs_blood=d,drugs_magic=dd;
SetFileAttributes("rpg_chen_1.txt",FILE_ATTRIBUTE_HIDDEN );
} else {
if(user==2) {
SetFileAttributes("rpg_chen_2.txt", FILE_ATTRIBUTE_NORMAL);
fp=fopen("rpg_chen_2.txt","r+");
fscanf(fp,"%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d\n",&x,&y,&j,&g,&l,&x1,&xl,&h,&hp,&jdd,&zyy,&m,&mm,&d,&dd);
chen_x=x,chen_y=y,occupation=j,gold=g,level_chen=l,xp_chen=x1,xp_limit=xl,hp_chen=h,max_hp_chen=hp,jd=jdd,zy=zyy,magic_chen=m,max_magic_chen=mm,drugs_blood=d,drugs_magic=dd;
SetFileAttributes("rpg_chen_2.txt",FILE_ATTRIBUTE_HIDDEN );
} else {
if(user==3) {
SetFileAttributes("rpg_chen_3.txt", FILE_ATTRIBUTE_NORMAL);
fp=fopen("rpg_chen_3.txt","r+");
fscanf(fp,"%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d\n",&x,&y,&j,&g,&l,&x1,&xl,&h,&hp,&jdd,&zyy,&m,&mm,&d,&dd);
chen_x=x,chen_y=y,occupation=j,gold=g,level_chen=l,xp_chen=x1,xp_limit=xl,hp_chen=h,max_hp_chen=hp,jd=jdd,zy=zyy,magic_chen=m,max_magic_chen=mm,drugs_blood=d,drugs_magic=dd;
SetFileAttributes("rpg_chen_3.txt",FILE_ATTRIBUTE_HIDDEN );
} else {
}
}
}
} else {
cout<<"WASD移动,Q开启瞬移\n";
cout<"E打开背包\n";
cout<<"一些重要的地点:\n";
cout<<"1.存档点("<<c_x<<"_"<<c_y<<")\n";
cout<<"Good luck,have fun!\n";
system("Pause");
}
if(jd==0){
jd=1;
}
make_map();
print_map();
while(finish>-1) {
make_map();
print_map();
player_go(a,b);
if(hp_chen<0&&zy==0 ) {
return 0;
}
}
srd();
return 0;
}
/*
圣骑士-光骑士-天使(2翼)-战斗天使(4翼)-大天使(6翼)
教徒-传教士-使者-行者-赐予者(半神)
牧师-大祭司-沟通者-窃权者-伪神
苦痛使者-大恶魔-代罚者
恶魔-大恶魔-魔王-地狱君主(半神)-地狱(伪神~)
黑暗骑士-四骑士(瘟疫,死亡,愤怒,永夜)-天启骑士
龙裔-伪龙-龙子-龙-龙王-龙神
术士-血脉术士-龙裔
术士-元素使-元素之灵
猎人-猎手-丛林之王-半神
猎手-深渊猎手-深渊行者-深渊之王-深渊(伪神+)
战士-老兵-将军-战神
巫师-大巫师-真理巫师-永恒巫师
德鲁伊-自然伙伴-半神
萨满-元素伙伴-半神
祭祀-大祭司-元素祭司-半神
注:不同职业间可互相转换(可保留属性前缀转换,也可完全转换)(但实力-1),晋升之路越漫长点燃神火越容易
血脉术士-深渊术士 √
血脉术士-血脉巫师 √
*/
/*
一转角色:
公主阵营(zy=1)
圣骑士(light knight):血+ 防+ 攻-
教徒(Believers):血= 防- 攻++ 祝福系光明魔法+
牧师(minister):血- 防- 攻- 召唤++ 恢复+
————————————————————————————
魔龙阵营(zy=2)
苦痛使者(Pain messenger):血++ 攻= 苦痛系魔法(反甲等)++
黑暗骑士(Dark Knight):血++ 防- 攻++ 魔法+
龙裔(Dragonborn): 血~ 防~ 攻~ 契约(龙)+ 龙语魔法++
(龙裔基础三维视契约之龙波动)
————————————————————————————
中立阵营(zy=3)
术士(Warlock):血- 防- 攻- 神秘系法术+++++
猎人(hunter):血= 防- 攻= 自然系法术++
战士(warrior):血= 防= 攻+
巫师(wizard):血-- 神秘系巫术++++
德鲁伊(Druid):血~ 防~ 攻~ 自然亲和++
萨满(Shaman):血= 防= 攻= 元素亲和+++
祭司(Priesthood):血- 防- 攻- 上位沟通+++
*/