From 516647d93aea0e754163dae9e871b2eff2067c5d Mon Sep 17 00:00:00 2001
From: "patricia.saez"
Date: Sat, 14 Oct 2023 17:58:00 +0200
Subject: [PATCH 1/2] commit with 8 errors in war part because war 'War' object
has no attribute 'strength'
---
vikingsClasses.py | 79 ++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 71 insertions(+), 8 deletions(-)
diff --git a/vikingsClasses.py b/vikingsClasses.py
index b51cd5f..fd019a8 100644
--- a/vikingsClasses.py
+++ b/vikingsClasses.py
@@ -2,23 +2,86 @@
# Soldier
-class Soldier:
- pass
+class Soldier ():
+ def __init__(self, health,strength):
+ self.health = health
+ self.strength = strength
+
+ def attack (self):
+ return self.strength
+
+ def receiveDamage (self,damage):
+ self.health = self.health - damage
+
+
+
# Viking
-class Viking:
- pass
+class Viking (Soldier):
+ def __init__(self, name, health, strength):
+ super().__init__(health, strength)
+ self.name = name
+
+ def receiveDamage(self, damage):
+ self.health -= damage
+ if self.health > 0:
+ return f"{self.name} has received {damage} points of damage"
+ else:
+ return f"{self.name} has died in act of combat"
+
+ def battleCry (self):
+ return f"Odin Owns You All!"
+
# Saxon
-class Saxon:
- pass
+class Saxon(Soldier):
+ def __init__(self, health, strength):
+ super().__init__(health, strength)
+
+ def receiveDamage(self, damage):
+ self.health -= damage
+ if self.health > 0:
+ return f"A Saxon has received {damage} points of damage"
+ else:
+ return f"A Saxon has died in combat"
+
# War
-class War:
- pass
+class War():
+ def __init__(self):
+
+ self.vikingArmy = []
+ self.saxonArmy = []
+
+
+ def addViking(self, viking):
+ self.vikingArmy.append(viking)
+
+ def addSaxon(self,saxon):
+ self.saxonArmy.append(saxon)
+
+ def vikingAttack(self):
+ a= Saxon.receiveDamage(Viking.attack(self))
+ self.saxonArmy=[i for i in self.saxonArmy if Saxon.health > 0]
+ return a , Viking.attack(self)
+
+
+ def saxonAttack(self):
+ b = Viking.receiveDamage(Saxon.attack(self))
+ self.vikingArmy=[i for i in self.vikingArmy if Viking.health > 0]
+ return b , Saxon.attack(self)
+
+ def showStatus(self):
+ if len(self.saxonArmy) == 0:
+ return "Vikings have won the war of the century!"
+ elif len (self.vikingArmy) == 0:
+ return "Saxons have fought for their lives and survive another day..."
+ else:
+ return "Vikings and Saxons are still in the thick of battle."
+
From cc7352f4884639eec4eed96454011b7eef2a225e Mon Sep 17 00:00:00 2001
From: "patricia.saez"
Date: Sun, 15 Oct 2023 11:54:59 +0200
Subject: [PATCH 2/2] funcionaaaaagit add vikingsClasses.py git add
vikingsClasses.py
---
vikingsClasses.py | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/vikingsClasses.py b/vikingsClasses.py
index fd019a8..9edd28a 100644
--- a/vikingsClasses.py
+++ b/vikingsClasses.py
@@ -52,31 +52,37 @@ def receiveDamage(self, damage):
# War
-
+import random
class War():
+ import random
def __init__(self):
self.vikingArmy = []
self.saxonArmy = []
-
+
- def addViking(self, viking):
- self.vikingArmy.append(viking)
+ def addViking(self, viking_soldier):
+ self.vikingArmy.append(viking_soldier)
- def addSaxon(self,saxon):
- self.saxonArmy.append(saxon)
-
- def vikingAttack(self):
- a= Saxon.receiveDamage(Viking.attack(self))
- self.saxonArmy=[i for i in self.saxonArmy if Saxon.health > 0]
- return a , Viking.attack(self)
+ def addSaxon(self,saxon_soldier):
+ self.saxonArmy.append(saxon_soldier)
+ def vikingAttack(self):
+ saxon_soldier = self.saxonArmy[random.randint(0,len(self.saxonArmy)-1)]
+ viking_soldier = self.vikingArmy[random.randint(0,len(self.vikingArmy)-1)]
+ if saxon_soldier.health <= viking_soldier.strength:
+ self.saxonArmy.remove(saxon_soldier)
+
+ return saxon_soldier.receiveDamage(viking_soldier.attack())
def saxonAttack(self):
- b = Viking.receiveDamage(Saxon.attack(self))
- self.vikingArmy=[i for i in self.vikingArmy if Viking.health > 0]
- return b , Saxon.attack(self)
-
+ saxon_soldier = self.saxonArmy[random.randint(0,len(self.saxonArmy)-1)]
+ viking_soldier = self.vikingArmy[random.randint(0,len(self.vikingArmy)-1)]
+ if viking_soldier.health <= saxon_soldier.strength:
+ self.vikingArmy.remove(viking_soldier)
+
+ return viking_soldier.receiveDamage(saxon_soldier.attack())
+
def showStatus(self):
if len(self.saxonArmy) == 0:
return "Vikings have won the war of the century!"