From aa5e6380d90288d037a0e8e0e5cf5ab859ddb437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Besc=C3=B3s?= Date: Fri, 13 Oct 2023 18:46:03 +0200 Subject: [PATCH] vikings vb --- __pycache__/vikingsClasses.cpython-311.pyc | Bin 0 -> 5296 bytes vikingsClasses.py | 109 +++++++++++++++++++-- 2 files changed, 102 insertions(+), 7 deletions(-) create mode 100644 __pycache__/vikingsClasses.cpython-311.pyc diff --git a/__pycache__/vikingsClasses.cpython-311.pyc b/__pycache__/vikingsClasses.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..853c18384a09acad7418300564c78edd83d42fdf GIT binary patch literal 5296 zcmcgw-A^0Y6~8n7U|IE&pE$y&-Itx-CYFIhi1(DqLYw+V4<3VZsv3gGJ8ZO?-7H1LJa9pCgd5sJgx8+ z8CrZMIrKpryl$JsM){#F(9|Zgwji{1n6fDy`e7uz?ns}ZER$GgvRZ*($t|2}kl7<9 zS&v7E~oX_F=eLof~*$MWeVHpz~(LlThVX-9@q zbs5<1GC7jsM{+rsGWCp|Dl3*v&Fre3I`WnMmYKOvJ76GHfLJ)GrfF{$rhaCb)SB8# zC+!@)XIjaeHMOAIdP2|YnQbd=O=a|ZjC^-1y`IjlVqf-sC!<@IX-z)ZE-Q&dI-9l= z2`A$2VzOF;iaG5A@`#lBhw}biwRAy)Pj?=kQ>Z6Nu>~k#o^3b+nLV;Y*5J$2GNA#; z9Z75l@Ih;^aDYZtpyi-$+j?@{>8bL-%h>G{32+dO?*6i%4ACAaCWTc%K?r&V3b1aY zpvjuxv7RFbX7#Fo^9V{X^bLL0WFkM38LzY-=C*Jp&E>e8nn^RgWiGJ3&iN|i4b|N^ zY8XgOg8c)Zt{*IX{(iB43MHC{hixf-6hvKQ^$jzTD0d|i8#!Y$gZWS*@$*eR!&_(w zW~1kjTmW)J*kC3^io$0EWo^v^c_f~SEC)s_L=Z&^3|ELCK{;>@TfKzOjuR*06{#xH z(<@Nb9v}ddpb-F=1k1q>nDr(7VxBtXU1KwOl-Gcg9Umx6C>}Ax6cz)7ploUgiTSzC zMq$cYt%b`1Zn*xK9Gx)dNLc(Jbg__tzWOeJema{CpBrFR0?_y0Fno%TpuIrqjGk%H z>2_J*2CreiD3T^KNA?-Kegm2R)XV__f^$P!XPThrpjOEB55xeeufZBTLD{ztZqC!k zzb~Wfi+_W?oE|NuTbgV7hW4gcdyq?KZA;7D*EpD*0oDb)q@ks=nx3?=Et%W6r`s_f zgBMp7Q`&c6(t5NpTX*_gQ8hqp47>gm$e9o;so~vQPkMhlm!B&E`qG8yBK)4(&ws&l zNJEQX^QK#cDEozOwb3&=#yvQoKmu~yIk#lMj+P!~E$yS+rZ%6+j8eqBSKsAM*sGl} z-=W)1#NCRhxr*CB_l}-!tPmb!%g19KbO5J9o1{ZX8u3rx#yYkd8VvUX7cqzAEqGno zR6Rk(??XQzNSAN{%ozlOftd;sVvw)+d+{yKWC5W2=OK+%l7HXg$|B-8ME&pN+2=GcMfJ?oUf^$KYw z+^BKR)<*q3XlZZM{Hz1oVL-UKq8J@u=1SRjSEmh;l89I?u_;$E5`i2~tWOFX1W)0>&yu6n?b;IDU(dot=h~ga>YK;H^ zlTt#v;TOutu`;s1RaCB=C|3&A-?zA#>%a`XfrQzj=Ws78z&eA5!&Ff%ebBg%o)^mS zu`;}G7M1Z6WxP=RHSYsO%p6A$gu6#}d6Y)Xev^Gwuw6<5E)nouwV4QvFB z?2wP8HHno4-VnVB*(u&ON#}$3NRq%X2s%Tc4J~%^6Dn!0*T)_ zB4}v!H7hWWbr;AZ@|Dv4LK!?(2KV3n)8g+Jf4B6!t^6}mH6TKL^h?$q+z8B$3$Kgv~-28I(v)Mn-eLhzV-#7{1C@44DDEB$6`mHEe zD3p*E%7uuqy>c=7W)b-Jf#G)YN60s!T;Y`dkkLA4z|;S%HLCsnc+0BlB^Go~{0Z(&EjaPFOzmMVtJx{| z>J-Co%qGpOy-Bx6omu9s+>ZBio2w~XyPu=jDNVHuTy-r?&l;MwNw=T?`5ZJ+i0`*2 zCnxC-K$gyQbv5kh&ZkpTv+Q&xgKUb%7rx3l`Cgw{lJVC31!DCPXKW1C;SZB*1eHyr; zEZ$`CApSc+F(~qeGLu+`VJkX^h@o z(&xhlK|-B@pGXzbnzEfRF5+-~Muc!r%FZ^%VdEv^jWWakp!gB}F?2>_w*CgB;*%t) z($yuwKMBp`71q73HB9tLaJ6VA`PElg`?}V2vsZ$kt(oNSzQWqqwWi4l3Afpr<}W|) Nf5qBfpV5N};-6tS<#Yf5 literal 0 HcmV?d00001 diff --git a/vikingsClasses.py b/vikingsClasses.py index b51cd5f..3a239a8 100644 --- a/vikingsClasses.py +++ b/vikingsClasses.py @@ -3,22 +3,117 @@ class Soldier: - pass + def __init__(self, health, strength): + self.health = health + self.strength = strength + + def attack(self): + return self.strength + + def receiveDamage(self, damage): + self.damage = damage + self.health = self.health - self.damage + + + + + # Viking -class Viking: - pass +class Viking (Soldier): + + def __init__ (self, name, health, strength): + self.name = name + self.health = health + self.strength = strength + + def attack(self): + return self.strength + + def receiveDamage(self, damage): + self.damage = damage + self.health = self.health - self.damage + if self.health > 0: + return f"{self.name} has received {self.damage} points of damage" + else: + return f"{self.name} has died in act of combat" + + + def battleCry(self): + return "Odin Owns You All!" + # Saxon -class Saxon: - pass + +class Saxon (Soldier): + + def __init__ (self, health, strength): + self.health = health + self.strength = strength + + def attack(self): + return self.strength + + def receiveDamage(self, damage): + self.damage = damage + self.health = self.health - self.damage + + if self.health > 0: + return f"A Saxon has received {self.damage} points of damage" + else: + return f"A Saxon has died in combat" + # War +class War(Saxon, Viking): + + 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): + import random + chosen_viking = random.choice(self.vikingArmy) + chosen_saxon = random.choice(self.saxonArmy) + viking_attack = chosen_saxon.receiveDamage(chosen_viking.attack()) + if chosen_saxon.health < 1: + self.saxonArmy.remove(chosen_saxon) + return viking_attack + + + + def saxonAttack(self): + import random + chosen_viking = random.choice(self.vikingArmy) + chosen_saxon = random.choice(self.saxonArmy) + viking_attack = chosen_viking.receiveDamage(chosen_saxon.attack()) + if chosen_viking.health < 1: + self.vikingArmy.remove(chosen_viking) + return viking_attack + + + def showStatus(self): -class War: - pass + 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." + \ No newline at end of file