initial commit
This commit is contained in:
105
C++/lesson8/ex5.cpp
Normal file
105
C++/lesson8/ex5.cpp
Normal file
@ -0,0 +1,105 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
class Character {
|
||||
public:
|
||||
std::string name;
|
||||
int level;
|
||||
int exp;
|
||||
int health;
|
||||
int attack;
|
||||
int protection;
|
||||
|
||||
Character(std::string name) {
|
||||
this->name = name;
|
||||
level = 0;
|
||||
exp = 0;
|
||||
health = 10;
|
||||
attack = 2;
|
||||
protection = 2;
|
||||
}
|
||||
|
||||
void levelUp() {
|
||||
level++;
|
||||
health += 5;
|
||||
attack++;
|
||||
protection++;
|
||||
}
|
||||
|
||||
void gainExp(int amount) {
|
||||
exp += amount;
|
||||
}
|
||||
|
||||
int getHelth() {
|
||||
return health;
|
||||
}
|
||||
|
||||
int getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
bool isAlive() {
|
||||
return health > 0;
|
||||
}
|
||||
|
||||
void attack_character(Character& target) {
|
||||
if (target.protection == 0) {
|
||||
target.health -= attack;
|
||||
std::cout << target.name << " was attacked\n";
|
||||
} else {
|
||||
target.protection--;
|
||||
std::cout << target.name << " has protection\n";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Character vasiya("Вася");
|
||||
Character petyia("Петя");
|
||||
|
||||
vasiya.levelUp();
|
||||
vasiya.levelUp();
|
||||
vasiya.levelUp();
|
||||
|
||||
petyia.levelUp();
|
||||
petyia.levelUp();
|
||||
|
||||
vasiya.attack_character(petyia);
|
||||
vasiya.attack_character(petyia);
|
||||
|
||||
petyia.attack_character(vasiya);
|
||||
petyia.attack_character(vasiya);
|
||||
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
vasiya.attack_character(vasiya); // Вася не умный
|
||||
|
||||
if (vasiya.isAlive()) {
|
||||
std::cout << "Вася как-то выжил\n";
|
||||
} else {
|
||||
std::cout << "Вася умер\n";
|
||||
}
|
||||
|
||||
if (petyia.isAlive()) {
|
||||
std::cout << "Петя как-то выжил\n";
|
||||
} else {
|
||||
std::cout << "Петя умер\n";
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user