Untitled
unknown
c_cpp
24 days ago
1.5 kB
4
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