C艹小游戏(2

#include<bits/stdc++.h>

#include<windows.h>

using namespace std;

string label[13]={

"职业"

,"力量"

,"敏捷"

,"智力"

,"生命成长"

,"攻击成长"

,"防御成长"

,"速度成长"

,"法术成长"

,"等级"

,"经验"

,"钱"

,"属性点"

};

//角色

class role{

public:

//生成函数

role(){

//空构造函数

}

role(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0){

this->name=name;

this->STR=STR;

this->DEX=DEX;

this->INT=INT;

this->_hp=_hp;

this->_atk=_atk;

this->_def=_def;

this->_spd=_spd;

this->_mp=_mp;

this->lv=lv;

this->exp=exp;

this->money=money;

this->pnt=0;

update();

}

//数据获取接口

string getname(){

return name;

}

int gethp(){

return hp;

}

int getatk(){

return atk;

}

int getdef(){

return def;

}

int getspd(){

return spd;

}

int getmp(){

return mp;

}

int getlv(){

return lv;

}

int getexp(){

return exp;

}

int getmoney(){

return money;

}

int getpnt(){

return pnt;

}

//数据修改接口

void modifyhp(int delta){

hp=max(0,hp+delta);

cout<<name<<"的生命值变为了"<<hp<<"。"<<endl;

}

void modifymp(int delta){

mp=max(0,mp+delta);

cout<<name<<"的魔法值变为了"<<mp<<"。"<<endl;

}

void modifydef(int delta){

def=max(0,def+delta);

cout<<name<<"的防御值变为了"<<def<<"。"<<endl;

}

void modifyspd(int delta){

spd=max(0,spd+delta);

cout<<name<<"的速度变为了"<<spd<<"。"<<endl;

}

void modifyatk(int delta){

atk=max(0,atk+delta);

cout<<name<<"的攻击力变为了"<<atk<<"。"<<endl;

}

//获得经验与升级

void levelup(){

++pnt;

++lv;

cout<<"你的等级提升到了"<<lv<<"级。"<<endl;

}

bool modifyexp(int x){

if(x<0)return 0;//获取经验不能为负,否则操作失败, 返回0

cout<<"你获得了"<<x<<"点经验值。"<<endl;

exp+=x;

while(exp>=100){

exp-=100;

levelup();

}

return 1;//操作成功,返回1

}

//金钱修改

bool modifymoney(int delta){

if(money+delta<0)return 0;//若金钱不足,则操作失败,返回0

money+=delta;

if(delta>0)cout<<"你获得了"<<delta<<"金币。"<<endl;

if(delta<0)cout<<"你失去了"<<delta<<"金币。"<<endl;

return 1;//操作成功,返回0

}

//属性点修改

bool modifySTR(int delta){

if(delta<0||delta>pnt)return 0;//不合法的操作,返回0

STR+=delta;

pnt-=delta;

update();

cout<<"你的力量提高了"<<delta<<"。"<<endl;

return 1;

}

bool modifyDEX(int delta){

if(delta<0||delta>pnt)return 0;//不合法的操作,返回0

DEX+=delta;

pnt-=delta;

update();

cout<<"你的敏捷提高了"<<delta<<"。"<<endl;

return 1;

}

bool modifyINT(int delta){

if(delta<0||delta>pnt)return 0;//不合法的操作,返回0

INT+=delta;

pnt-=delta;

update();

cout<<"你的智力提高了"<<delta<<"。"<<endl;

return 1;

}

virtual bool skill1(role &rhs){

cout<<name<<"没有这个技能"<<endl;

return 0;

}

virtual bool skill2(role &rhs){

cout<<name<<"没有这个技能"<<endl;

return 0;

}

virtual bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

//调试函数,输出全部数据

void DEBUG_SHOW(){

cout<<"----------STATUS START----------"<<endl;

cout<<"name:"<<name<<endl;

cout<<"STR:"<<STR<<endl;

cout<<"DEX:"<<DEX<<endl;

cout<<"INT:"<<INT<<endl;

cout<<"hp:"<<hp<<"("<<_hp<<")"<<endl;

cout<<"atk:"<<atk<<"("<<_atk<<")"<<endl;

cout<<"def:"<<def<<"("<<_def<<")"<<endl;

cout<<"spd:"<<spd<<"("<<_spd<<")"<<endl;

cout<<"mp:"<<mp<<"("<<_mp<<")"<<endl;

cout<<"level:"<<lv<<endl;

cout<<"exp:"<<exp<<endl;

cout<<"pnt:"<<pnt<<endl;

cout<<"money:"<<money<<endl;

cout<<"----------STATUS  OVER----------"<<endl;

}

protected:

/**//*函数部分*//**/

//更新战斗数据

virtual void update(){

atk=_atk*STR;

hp=_hp*STR;

spd=_spd*DEX;

def=_def*DEX;

mp=_mp*INT;

}

/**//*数据部分*//**/

//识别性数据

string name;

//基本属性

int STR,DEX,INT;//力量,敏捷,智力

//属性比例

int _hp,_atk;

int _def,_spd;

int _mp;

//战斗属性

int hp,atk;//生命值,攻击力

int def,spd;//防御值,速度

int mp; //魔法值

//等级

int lv,exp,pnt;

//财富

int money;

};

class warrior:public role{

public:

//生成函数

warrior(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了碎盾打击。"<<endl;

modifymp(-10);

int delta=min(atk/2,rhs.getdef());

rhs.modifydef(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了固守。"<<endl;

modifymp(-10);

modifydef(5);

return 1;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="战士擅长硬刚,有着生命值+20和防御力+5的加成。但是因为肉体强韧,对魔力的亲和度极差,mp的成长性-5(不会低于0)。掌握技能:碎盾打击,固守。";

void update(){

atk=_atk*STR;

hp=_hp*STR+20;

spd=_spd*DEX;

def=_def*DEX+5;

mp=max(0,_mp-5)*INT;

}

};

class hunter:public role{

public:

//生成函数

hunter(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了强风射击,造成附加速度的伤害。"<<endl;

modifymp(-10);

int delta=min(atk+spd-rhs.getdef(),rhs.gethp());

rhs.modifyhp(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了冰冻陷阱。"<<endl;

modifymp(-10);

int delta=min(5,rhs.getspd());

rhs.modifyspd(-delta);

return 1;

}

private:

string job="猎人有着高超的狩猎技巧,有着在快速运动中打击敌人的能力,速度的成长性+1,且获得额外的5点速度加成。掌握技能:强风射击,冰冻陷阱。";

void update(){

atk=_atk*STR;

hp=_hp*STR;

spd=(_spd+1)*DEX+5;

def=_def*DEX;

mp=max(0,_mp-5)*INT;

}

};

class wizard:public role{

public:

//生成函数

wizard(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了火球术。"<<endl;

modifymp(-10);

int delta=min(INT,rhs.gethp());

rhs.modifyhp(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<50){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了大火球术。"<<endl;

modifymp(-50);

int delta=min(INT*5,rhs.gethp());

rhs.modifyhp(-delta);

return 1;

}

private:

string job="巫师以孱弱的身体为代价换来了对知识的掌握,mp成长性+1,但是防御力始终为0。掌握技能:火球术,大火球术。";

void update(){

atk=_atk*STR;

hp=_hp*STR;

spd=_spd*DEX;

def=0;

mp=(_mp+1)*INT;

}

};

class poison:public role{

public:

//生成函数

poison(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了毒药挥洒。"<<endl;

modifymp(-10);

int delta=min(atk/2,rhs.getdef());

rhs.modifydef(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了漫天繁星,敌人各项属性-1。"<<endl;

modifymp(-10);

modifydef(5);

return 1;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="毒师有着丰富的毒药储备,可使敌人属性大大减少。战斗中,防御-5,敏捷+2,mp的成长性+5。掌握技能:毒药挥洒,漫天繁星。";

void update(){

atk=_atk*STR;

hp=_hp*STR+20;

spd=_spd*DEX;

def=_def*DEX+5;

mp=max(0,_mp-5)*INT;

}

};

class assassin:public role{

public:

//生成函数

assassin(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了刺杀,一招致命。"<<endl;

modifymp(-10);

int delta=min(atk/2,rhs.getdef());

rhs.modifydef(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了瞬移。"<<endl;

modifymp(-10);

modifydef(5);

return 1;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="刺客擅于夜间行动,隐匿功能强大,身姿敏捷。近战时防御-5,敏捷+5。掌握技能:毒瞬移,刺杀。";

void update(){

atk=_atk*STR;

hp=_hp*STR+20;

spd=_spd*DEX;

def=_def*DEX+5;

mp=max(0,_mp-5)*INT;

}

};

class civilian:public role{

public:

//生成函数

civilian(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了学习,一回合中可习得敌人的一种技能。"<<endl;

modifymp(-10);

int delta=min(atk/2,rhs.getdef());

rhs.modifydef(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了暴动。"<<endl;

modifymp(-10);

modifydef(5);

return 1;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="平民学习能力高强,先天技能较薄弱。各项属性均为起始值。掌握技能:学习,暴动。";

void update(){

atk=_atk*STR;

hp=_hp*STR+20;

spd=_spd*DEX;

def=_def*DEX+5;

mp=max(0,_mp-5)*INT;

}

};

class pharmacist:public role{

public:

//生成函数

pharmacist(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了治愈,当生命值较低时可恢复。"<<endl;

modifymp(-10);

int delta=min(atk/2,rhs.getdef());

rhs.modifydef(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了采药。"<<endl;

modifymp(-10);

modifydef(5);

return 1;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="药师通过高超的制药用药技能,可迅速恢复自身生命值。由于常年在外采药,敏捷+5。掌握技能:治愈,采药。";

void update(){

atk=_atk*STR;

hp=_hp*STR+20;

spd=_spd*DEX;

def=_def*DEX+5;

mp=max(0,_mp-5)*INT;

}

};

class sword:public role{

public:

//生成函数

sword(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了屠戮。"<<endl;

modifymp(-10);

int delta=min(atk/2,rhs.getdef());

rhs.modifydef(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了见血封喉。"<<endl;

modifymp(-10);

modifydef(5);

return 1;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="剑客长年累月磨练自己的剑术,攻击力达到宗师级别。日日练功,力量+5。掌握技能:屠戮,见血封喉。";

void update(){

atk=_atk*STR;

hp=_hp*STR+20;

spd=_spd*DEX;

def=_def*DEX+5;

mp=max(0,_mp-5)*INT;

}

};

class trainer:public role{

public:

//生成函数

trainer(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool skill1(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"对"<<rhs.getname()<<"使用了兽潮,可击退大规模敌人。"<<endl;

modifymp(-10);

int delta=min(atk/2,rhs.getdef());

rhs.modifydef(-delta);

return 1;

}

bool skill2(role &rhs){

if(mp<10){

cout<<"mp不足无法使用。"<<endl;

return 0;

}

cout<<name<<"使用了御兽千里。"<<endl;

modifymp(-10);

modifydef(5);

return 1;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="御兽师对兽类有着超高的亲和力。智力+5。掌握技能:兽潮,御兽千里。";

void update(){

atk=_atk*STR;

hp=_hp*STR+20;

spd=_spd*DEX;

def=_def*DEX+5;

mp=max(0,_mp-5)*INT;

}

};

class monster:public role{

public:

//生成函数

monster(string name,int STR,int DEX,int INT,int _hp,int _atk,int _def,int _spd,int _mp,int lv=1,int exp=0,int money=0):

role(name,STR,DEX,INT,_hp,_atk,_def,_spd,_mp,lv,exp,money){

update();

}

string getjob(){

return job;

}

bool attack(role &rhs){

int tmp=min(rhs.gethp(),max(atk-rhs.getdef(),0));

cout<<name+"攻击了"+rhs.getname()+","+(tmp>0?("并造成了"+to_string(tmp)+"点伤害。"):"但是没有破防。")<<endl;

if(tmp)rhs.modifyhp(-tmp);

return 1;//返回造成伤害的数值

}

private:

string job="野怪,顾名思义,就是用来刷钱刷经验的。";

void update(){

atk=_atk*STR;

hp=_hp*STR;

spd=_spd*DEX;

def=_def*DEX;

mp=_mp*INT;

}

};

int main(){

string username,keyword;

Sleep(1000);

cout<<"异世界调查团火热招新中。"<<endl;

Sleep(1000);

cout<<"首先,请您登陆您的账户。"<<endl;

Sleep(1000);

cout<<"您的用户名是?"<<endl;

cin>>username;

cout<<username<<",您的密码是?"<<endl;

cin>>keyword;

string key;

string nm;

int a[13];

    ifstream f(username);

    f>>key;

    if(key==keyword){

f>>nm;

for(int i=0;i<13;++i)f>>a[i];

    cout<<"登陆成功,"<<nm<<",欢迎回来。"<<endl;

}else if(key==""){

cout<<"用户不存在,已为您创建账户。"<<endl;

Sleep(1000);

cout<<"您角色的名字是?"<<endl;

cin>>nm;

cout<<nm<<",正在为您随机roll属性:"<<endl;

Sleep(1000);

srand(time(NULL));

for(int i=1;i<=3;++i){

a[i]=rand()%10+5;

cout<<"您的"<<label[i]<<"为"<<a[i]<<endl;

Sleep(500);

}

for(int i=4;i<=8;++i){

a[i]=rand()%5+2;

cout<<"您的"<<label[i]<<"为"<<a[i]<<endl;

Sleep(500);

}

cout<<endl;

Sleep(2000);

cout<<"请选择职业:"<<endl;

cout<<"输入1:成为战士。"<<endl;

cout<<"输入2:成为猎人。"<<endl;

cout<<"输入3:成为巫师。"<<endl;

cout<<"输入4:成为毒师。"<<endl;

cout<<"输入5:成为刺客。"<<endl;

cout<<"输入6:成为平民。"<<endl;

cout<<"输入7:成为药师。"<<endl;

cout<<"输入8:成为剑客。"<<endl;

cout<<"输入9:成为御兽师。"<<endl;

cin>>a[0];

if(a[0]==1){

cout<<nm<<",你成为了一名战士,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==2){

cout<<nm<<",你成为了一名猎人,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==3){

cout<<nm<<",你成为了一名巫师,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==4){

cout<<nm<<",你成为了一名毒师,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==5){

cout<<nm<<",你成为了一名刺客,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==6){

cout<<nm<<",你成为了一名平民,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==7){

cout<<nm<<",你成为了一名药师,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==8){

cout<<nm<<",你成为了一名剑客,马上就要开始异世界的探险。"<<endl;

}

if(a[0]==9){

cout<<nm<<",你成为了一名御兽师,马上就要开始异世界的探险。"<<endl;

}

a[9]=1;

a[10]=0;

a[11]=0;

a[12]=0;

}else{

cout<<"密码错误,启动防火墙,断开连接。"<<endl;

Sleep(1000);

exit(0);

}

f.close();

role player;

if(a[0]==1){

player=warrior(nm,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);

}else if(a[0]==2){

player=hunter(nm,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);

}else{

player=wizard(nm,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11]);

}

Sleep(1000);

cout<<"正在打开新世界的大门..."<<endl;

Sleep(1000);

cout<<"正在启动传送阵..."<<endl;

Sleep(1000);

cout<<"开始传送..."<<endl;

Sleep(1000);

system("cls");

cout<<"欢迎来到新世界!"<<endl;

ofstream sv(username);

while(1){

Sleep(1000);

system("cls");

cout<<"欢迎来到我们在异世界的据点:百科园,在这里你可以:"<<endl;

cout<<"输入1:自动刷怪"<<endl;

cout<<"输入2:手动刷怪"<<endl;

cout<<"输入3:进入商店"<<endl;

cout<<"输入4:分配能力"<<endl;

cout<<"输入0:保存回归"<<endl;

cout<<"注意:如果没有回归旧世界的话,一旦死亡,记录全部会丢失哦~~"<<endl;

Sleep(1000);

cout<<"所以你选择:"<<endl;

int op,num;

cin>>op;

system("cls");

switch(op){

case 1:

break;

case 2:

break;

case 3:

break;

case 4:

player.DEBUG_SHOW();

cout<<"您要提升哪个属性呢?" <<endl;

cout<<"输入1选择力量。" <<endl;

cout<<"输入2选择敏捷。" <<endl;

cout<<"输入3选择智力。" <<endl;

cout<<"输入其他数字返回。"<<endl;

cin>>num;

if(num==1){

cout<<"要增加多少力量?目前有"<<player.getpnt()<<"个可用的自由属性点。"<<endl;

while(cin>>num){

if(num<0||num>player.getpnt()){

cout<<"这个数字不行哦~~"<<endl;

}else{

player.modifySTR(num);

break;

}

}

} else if(num==2){

cout<<"要增加多少敏捷?目前有"<<player.getpnt()<<"个可用的自由属性点。"<<endl;

while(cin>>num){

if(num<0||num>player.getpnt()){

cout<<"这个数字不行哦~~"<<endl;

}else{

player.modifySTR(num);

break;

}

}

}else if(num==3){

cout<<"要增加多少智力?目前有"<<player.getpnt()<<"个可用的自由属性点。"<<endl;

while(cin>>num){

if(num<0||num>player.getpnt()){

cout<<"这个数字不行哦~~"<<endl;

}else{

player.modifySTR(num);

break;

}

}

}

Sleep(1000);

break;

case 0:

cout<<"保存中~~"<<endl;

sv<<keyword<<endl;

sv<<nm<<endl;

for(int i=0;i<13;++i)sv<<a[i]<<endl;

cout<<"保存完毕。"<<endl;

Sleep(1000);

cout<<"启动传送阵。"<<endl;

Sleep(1000);

cout<<"3~~"<<endl;

Sleep(1000);

cout<<"2~~"<<endl;

Sleep(1000);

cout<<"1~~"<<endl;

Sleep(1000);

system("cls");

cout<<"---------------Over--------------"<<endl;

Sleep(500);

sv.close();

exit(0);

break;

default:

cout<<"404,你似乎来到了没有知识的荒原~~"<<endl;

Sleep(500);

cout<<"返回调查据点吧~~"<<endl;

break;

}

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容