-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGameCharacter.cpp
More file actions
76 lines (66 loc) · 1.88 KB
/
Copy pathGameCharacter.cpp
File metadata and controls
76 lines (66 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//
// Created by gpelletier on 2022-01.
//
#include "GameCharacter.h"
/**
* GameCharacter constructor
* @param name: name of character
* @param health: health of character
* @param damage: base damage of character
*/
GameCharacter::GameCharacter(string name, int health, int damage) : m_name(move(name)),
m_maxHealth(health),
m_currentHealth(health),
m_damage(damage) {
}
/**
* Subtracts an amount from current health and clamps the value
* @param amount: amount to subtract from current health
*/
void GameCharacter::TakeDamage(int amount) {
m_currentHealth -= amount;
m_currentHealth = clamp(m_currentHealth, 0, m_maxHealth);
}
/**
* Adds an amount to current health and clamps the value
* @param amount: amount to add to current health
*/
void GameCharacter::HealDamage(int amount) {
m_currentHealth += amount;
m_currentHealth = clamp(m_currentHealth, 0, m_maxHealth);
}
/**
* Checks the current health of the game character
* @return true if above 0
*/
bool GameCharacter::IsAlive() const {
return m_currentHealth > 0;
}
/**
* Returns the name of the game character
* @return string name
*/
string GameCharacter::GetName() {
return m_name;
}
/**
* Returns the current health of the character
* @return integer value of the current health
*/
int GameCharacter::GetHealth() const {
return m_currentHealth;
}
/**
* Returns the current damage value of the game character
* @return integer value damage
*/
int GameCharacter::GetDamage() const {
return m_damage;
}
/**
* Adds damage amount to the current damage of the character
* @param amount amount to add to the current damage value
*/
void GameCharacter::AddDamage(int amount) {
m_damage += amount;
}