Example #1
0
void enemyTurn(Hero& hero, ArmoredEnemy& enemy)
{
	std::this_thread::sleep_for(std::chrono::milliseconds(500));
	hero.setHealth(hero.getBool() ? hero.getHealth() < static_cast<unsigned short>(enemy.getAttack() * 0.1) ? 0 : hero.getHealth() - static_cast<unsigned short>(enemy.getAttack() * 0.1) : hero.getHealth() < enemy.getAttack() ? 0 : hero.getHealth() - enemy.getAttack()); // If the hero is blocking only do 1/10th damage
	if(enemy.getBool())
		enemy.setBool(false); // Resetting blocking bool
	if(rand() % 10 + 1 == 10)
		enemy.setBool(true);
}
Example #2
0
void enemyTurn(Hero& hero, StrongEnemy& enemy)
{
	if(rand() % 10 + 1 == 10)
		enemy.setBool(true);
	unsigned short currentAttack = enemy.getAttack() + enemy.getStrength();
	if(enemy.getBool())
	{
		currentAttack += enemy.getStrength();
		enemy.setBool(false); // Resetting doubledamage bool
	}
	std::this_thread::sleep_for(std::chrono::milliseconds(500));
	hero.setHealth(hero.getBool() ? hero.getHealth() < static_cast<unsigned short>(currentAttack * 0.1) ? 0 : hero.getHealth() - static_cast<unsigned short>(currentAttack * 0.1) : hero.getHealth() < currentAttack ? 0 : hero.getHealth() - currentAttack); // If the hero is blocking only do 1/10th damage
}
Example #3
0
void enemyTurn(Hero& hero, Character& boss)
{
	std::this_thread::sleep_for(std::chrono::milliseconds(500));
	hero.setHealth(hero.getBool() ? hero.getHealth() < static_cast<unsigned short>(boss.getAttack() * 0.1) ? 0 : hero.getHealth() - static_cast<unsigned short>(boss.getAttack() * 0.1) : hero.getHealth() < boss.getAttack() ? 0 : hero.getHealth() - boss.getAttack());
}