summaryrefslogtreecommitdiff
path: root/graphs/cpp/war/soldier.cc
diff options
context:
space:
mode:
Diffstat (limited to 'graphs/cpp/war/soldier.cc')
-rw-r--r--graphs/cpp/war/soldier.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/graphs/cpp/war/soldier.cc b/graphs/cpp/war/soldier.cc
new file mode 100644
index 0000000..01dc57c
--- /dev/null
+++ b/graphs/cpp/war/soldier.cc
@@ -0,0 +1,24 @@
+#include "soldier.hh"
+
+#include <iostream>
+
+Soldier::Soldier(int hp, int dmg, std::string scream)
+ : health_points_{ hp }
+ , damage_{ dmg }
+ , scream_{ scream }
+{}
+
+void Soldier::print_state() const
+{
+ std::cout << "I have " << health_points_ << " health points.\n";
+}
+
+void Soldier::scream() const
+{
+ std::cout << scream_ << "\n";
+}
+
+void Soldier::attack(Soldier& s)
+{
+ s.health_points_ -= this->damage_;
+}