当前位置: 首页>>代码示例>>C++>>正文


C++ Spell::MovePoint方法代码示例

本文整理汇总了C++中Spell::MovePoint方法的典型用法代码示例。如果您正苦于以下问题:C++ Spell::MovePoint方法的具体用法?C++ Spell::MovePoint怎么用?C++ Spell::MovePoint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Spell的用法示例。


在下文中一共展示了Spell::MovePoint方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SpellCasted

void HeroBase::SpellCasted(const Spell & spell)
{
    // resource cost
    Kingdom & kingdom = world.GetKingdom(GetColor());
    const payment_t & cost = spell.GetCost();
    if(cost.GetValidItemsCount()) kingdom.OddFundsResource(cost);

    // spell point cost
    magic_point -= (spell.SpellPoint(this) < magic_point ? spell.SpellPoint(this) : magic_point);

    // move point cost
    if(spell.MovePoint())
	move_point -= (spell.MovePoint() < move_point ? spell.MovePoint() : move_point);
}
开发者ID:mastermind-,项目名称:free-heroes,代码行数:14,代码来源:heroes_base.cpp

示例2: CanCastSpell

bool HeroBase::CanCastSpell(const Spell & spell, std::string* res) const
{
    const Kingdom & kingdom = world.GetKingdom(GetColor());

    if(res)
    {
	std::ostringstream os;

	if(HaveSpellBook())
	{
	    if(HaveSpell(spell))
	    {
		if(HaveSpellPoints(spell))
		{
		    if(spell.MovePoint() <= move_point)
		    {
			if(kingdom.AllowPayment(spell.GetCost()))
			    return true;
			else
	    		    os << "resource" << " " << "failed";
		    }
		    else
	    		os << "move points" << " " << "failed";
		}
		else
	    	    os << _("That spell costs %{mana} mana. You only have %{point} mana, so you can't cast the spell.");
	    }
	    else
	    	os << "spell" << " " << "not found";
	}
	else
	    os << "spell book" << " " << "not found";
	*res = os.str();
	return false;
    }

    return HaveSpellBook() && HaveSpell(spell) && HaveSpellPoints(spell) && kingdom.AllowPayment(spell.GetCost());
}
开发者ID:mastermind-,项目名称:free-heroes,代码行数:38,代码来源:heroes_base.cpp


注:本文中的Spell::MovePoint方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。