当前位置: 首页 > news >正文

修仙类(基类,派生类)

include

include

include "Cultivator.h"

include"SpritStone.h"

include"Dembeast.h"

define CU_SWORD 200 //修仙者战斗力的基数

define SC_TRADE_Demb_SP 2 //以所要卖出妖兽的灵石2倍出售

//Cultivator::Cultivator(const char* name, Cultivator_sect sect, Cultivator_Level Level) :
// this->name(name) 初始化列表不能用this
//{
//
//}
Cultivator::Cultivator(const char *nname, Cultivator_sect ssect, Cultivator_Level lLevel)
:name(nname),sect(ssect), Level(lLevel), alive(true)
{

}

Cultivator::~Cultivator()
{
}

int Cultivator::cu_sword() const
{ //修仙者的战斗力:跟它的等级有关
int power= CU_SWORD * (((int)Level)+1);
//cout << "战斗力:"<<power<<endl;
return power;
}

void Cultivator::mining(int day)
{ //挖煤 ,每次可以获取100块初级灵石
int getspnumble = 100*day; //挖煤获取的灵石数量
SpritStone_assets.push_back(SpritStone(spritst_level::PRIMARY_LEVEL, getspnumble));
}

bool Cultivator::trade() //售卖自己所有的妖兽
{
SpritStone sptone; //定义一个灵石
if (!this->alive)
{
cout << "修仙者已亡不能进行交易:\n";
return false;
}
int decount=0;
if (Dembeast_assets.size()==0)
{
cout << "没有可以交易的妖兽:\n";
return false;
}

else
{for (int i=0;i< Dembeast_assets.size();i++){sptone = sptone+Dembeast_assets[i].getsprst();    //此时会调用灵石的+号重载运算符}
}SpritStone_assets.push_back(sptone);   //将销售妖兽得到的灵石放到自己的金库里面
Dembeast_assets.erase(Dembeast_assets.begin(), Dembeast_assets.end());	          //将已经售卖出去的妖兽擦除 begin()~ end()  从数组里的一个元素开始到结尾return true;

}

bool Cultivator::trade(Dembeast& dembeast)
{
SpritStone sptone; //定义一个灵石
if (!this->alive)
{
cout << "修仙者已亡不能进行交易:\n";
return false;
}
//判断是否有这个妖兽:
if (haddembeast(dembeast))
{
sptone = dembeast.getsprst()* SC_TRADE_Demb_SP;
SpritStone_assets.push_back(sptone); //将妖兽的灵石
//已经卖出去的妖兽,要从自己的妖兽库里面赶走给买方
//removedembeast(dembeast); //有问题
}
removedembeast(dembeast);
return false;
}

bool Cultivator::trade(Cultivator& other, const Dembeast& dembeast)
{ // 用自己的灵石跟其他修仙者置换妖

http://www.jsqmd.com/news/29411/

相关文章:

  • 第二章数字的表示和运算
  • 利用XPlaneConnect从X-Plane内读写数据
  • fastdbchkrep项目(数据库自动生成巡检报告) open source
  • cf2000左右dp
  • nginx入门-server基础
  • Typora使用命令
  • 免费智普大模型调用
  • 嵌入式C语言寄存器操作
  • ubuntu使用命令
  • PC 指针为何不等于执行地址?
  • VIM使用教程
  • 【Shell脚本】 目录清理脚本
  • 第一次团队作业
  • 题解:CF1975E Chain Queries
  • 题解:P4895 独钓寒江雪
  • 题解:P7201 [COCI 2019/2020 #1] Džumbus
  • 题解:CF913D Too Easy Problems
  • 题解:CF875C National Property
  • 题解:CF1037E Trips
  • lecms在使用redis中设置他缓存时间
  • 题解:CF387E George and Cards
  • 博客一年纪
  • 题解:AT_abc307_f [ABC307F] Virus 2
  • 题解:CF291E Tree-String Problem
  • java操作sip
  • CH59X/CH58X蓝牙主机设置白名单
  • 题解:CF712D Memory and Scores
  • 思维的断章,觉知的永恒:一个基于“内观照叙事模型”的认知革命与跨学科范式重构
  • 拾壹月贰
  • struct page