本文整理汇总了C++中Pokemon::changeHp方法的典型用法代码示例。如果您正苦于以下问题:C++ Pokemon::changeHp方法的具体用法?C++ Pokemon::changeHp怎么用?C++ Pokemon::changeHp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pokemon
的用法示例。
在下文中一共展示了Pokemon::changeHp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doBattle
void Battle::doBattle(Pokemon& attacking, Pokemon& defending, Move& move)
{
// print the pokemon and move involved in this battle
println_debug("Running Battle");
cout << attacking.getNickname() << " used " << move.getName() << "."
<< endl;
// determine if move will hit
bool moveHit = willMoveHit(attacking, defending, move);
if(moveHit)
{
// do the actual move
if(move.getCategory() == STATUS)
{
// status moves just use a hook
move.doEffect(attacking, defending);
}
else
{
// physical and special moves do damage
int damage = getDamage(attacking, defending, move);
defending.changeHp(-damage);
}
// hook for post-move effect
move.onMoveEnd(attacking, defending, moveHit);
}
else
{
// print miss statement
cout << attacking.getNickname() << "'s attack missed." << endl;
}
}