Untitled
unknown
c_cpp
a year ago
1.5 kB
10
Indexable
#include <iostream>
using namespace std;
class DamageCalculator
{
float swordDamage = 5;
int minDamage = 3;
int maxDamage = 7;
public:
float SimpleCalculateDamage(float baseDamage)
{
return swordDamage + baseDamage;
}
float MinMaxCalculateDamage(float baseDamage)
{
return baseDamage + rand() % maxDamage + minDamage;
}
float CritChanceCalculateDamage(float baseDamage, float critChance)
{
int chanceThrow = rand() % 100 + 1;
int critMultiplier = chanceThrow < critChance ? 3 : 1;
return critMultiplier * swordDamage + baseDamage;
}
};
class Player
{
int baseDamage;
DamageCalculator damageCalculator;
public:
Player(int baseDamage, DamageCalculator& damageCalculator)
{
this->baseDamage = baseDamage;
this->damageCalculator = damageCalculator;
}
void Attack(Enemy& enemy)
{
cout << "НЫА ПОЛУЧАЙ" << endl;
float damage = damageCalculator.SimpleCalculateDamage(baseDamage);
enemy.TakeDamage(damage);
}
};
class Enemy
{
int health;
public:
Enemy(int health)
{
this->health = health;
}
void TakeDamage(int damageToTake)
{
health -= damageToTake;
}
};
int main() {
DamageCalculator damageCalc;
Player pacan(5, damageCalc);
Enemy kabanchik(100);
pacan.Attack(kabanchik);
}
Editor is loading...
Leave a Comment