From c89cb5c3e2df904a9226c5f445758b8e2e1d3306 Mon Sep 17 00:00:00 2001 From: Lucia Aguzzoni Date: Fri, 13 Oct 2023 17:38:21 +0200 Subject: [PATCH] solutions --- __pycache__/vikingsClasses.cpython-311.pyc | Bin 0 -> 5232 bytes file.py | 44 +++++++++++ vikingsClasses.py | 82 ++++++++++++++++++--- 3 files changed, 117 insertions(+), 9 deletions(-) create mode 100644 __pycache__/vikingsClasses.cpython-311.pyc create mode 100644 file.py diff --git a/__pycache__/vikingsClasses.cpython-311.pyc b/__pycache__/vikingsClasses.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..74b10c6fa894d7382bf128080f656f4ba27506e5 GIT binary patch literal 5232 zcmd^DO>7&-6`oyk$)&gwX){(7*;1Ew5{QaTC03jQQKUqT0$C0qBNmb%f(l~IT}hNE zQkh-K(Lzae2vD}rAt+MFKoCHO#I@jy56Qj9_C^W>L@ZFiKu@{RkPm@Rd2eQS#UHt` z4@D21UA~=p^Y`Y>_ujnW-@3cI2&A_cQpWEig!~%|UXt9*kqwz$q7z-nlX*cT(?l1) zBzoYENXR|-@iZ^8njq9jhIl6cb?|fR0<10sb>WV>Aghz1F48ulqziK-)%6n&GMjbB zVjsaR9I24mB?ic)lX+1Wz9jPjlx{w#2Y^a?5Jr%k@LVyk=M0+lMS^}PI+l;lvq83m zEs}v8Pg^3CylG(Zb7WtbO^Hru+0gRVvLl-oH401Caw^~iO(VZZ!_bk+KujD|Rn^C@ zW#3%*&@`yIkS}F(+CpBt30dvtrH$NbuCQb-xZij4nrRwldVSN8Gnrf=XJs;W+!Z

>^*}N}92Iu`uIG%Y+ zu%E~F$9hK1GHE~z)Zo6zq;W#Jwx%r^CJwE-Vs%p^YveYJDOP2l@uX{E$Do7R3j~Ce zm2z|^`qf5N9>7c)9wzW?DukLYXlq6$<8);*Yel`3$Gnosd|J}-yoN?$7>WZ@)cZbR zotcVg5V=TDljbClZU1QmMJd@JK9L1!ph0{R5~M*awi7-&j+up@pFHIr4Fl_sO=vHZ zMF9{mw<5j_3ZD-F>Vr<`BZjjq4(TP#v+bFO%wL6FVl{#04)E@IEy-R}jn5=t7;Tm> z5N0}_oXl7_zygkBmevi*6zK#}t0{@?FCBmpk4?sjWHMQ_f=tFlzXR5zZgWNB9@sIy z65kd8M8q5d^7A(Nm)!lQ@J{$p?mLkCZujo>RpsHDJY127>!*9cJ|bm!I&tbNViAV< zb(}Wak1nh-mC|nD`bzo++~Sr1H1I7rowl0bw<0>CS&CY+d(>skR9)EW>f=-DdNEh9 zOtrYEa@^bftO@umUCk9#Eo)(2wzzgvvr-~g98=+G)I^h!Fr?bgx%z6cjC0s@8c3&Q z)T6PTv9CV;^LTl@-rN6mu9CP4@7)dlMXFqVz$?Zo3HB;uT&Mo}VPMQNaG_Dak%8`8 zoV8D1*I^CUZxu}SlVVAo%;%G|4_eS3AkBU!0;{v~#=CUWj=L-HIWJ;c^nvJnE>vO{ z*z~C|J%b~m!Ba#9w^=k-dLD?=?E))nEiRuq{^mjg(+2GF1x?E&ci1MCOriW=*fsoumRI8fV>FJ&DVkaXFw*V z?!Hk;Ou4Tz^&s(TMR}F!b2b%h-+#9C3|)9M@jZSCb4bvIniqh08@x>#K}mWIce0)E z4Z~h1Z`ft1>D;j9&;#-zT>=``A@rG-^)PIw>;yj6Xvw45gDb<>!|CBm$(TG$Yj$W(MALQd4D4=P zgOI*Q_fTb;A5093P)Ec;~G7ZuGW*PUI zR(;%kOKg<|LK$%n51EeibThY(26u)4_ozRiMEenreUTQNFx3ihC|XV+Zxkp)5DLhG zO(#T+wc>`sgU$fAkSJJ)hbSis0P_moZG(9_M{#`ukKf~HFU_1un8Vxy0wx2;dGY(3 z->uv~_2cM$>xVy7N2hC})Bg~vqchc)uhrn~eZL&VW`*x>d^dkz`0>Jh{f9#J@_V(* z@BLk?UY@SLbhQR=?+i4H_ST{UduI=mqX)^+YVt}gdF3E_r4qeTSK>Rfhf4B5N$$N; zRnj#jT~X5YSpQ*c=pZ(9_v~S6>>xE(O^w%5?+R8!|gPjWXvbwy4nK@r^{R}-kP&Ct7O_e zY%~4x2e_Bm3H%HEL+}N}Rgr5#JuzNMjMq<{`T92v5@3uQmBft)iJ3}bhFSV-D$*Xu z;k}QJAi+S3;t5ILLGn8!Z2{g8@{k|^O%uqr|1?BVI)^d5OW-y>f}y%g;5L20: + return f"{self.name} has received {damage} points of damage" + else: + return f"{self.name} has died in act of combat" + -class Viking: - pass + def battleCry(self): + return "Odin Owns You All!" -# Saxon -class Saxon: - pass +# Saxon +class Saxon(Soldier): + + 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: + def __init__(self,): + self.vikingArmy = [] + self.saxonArmy = [] + + def addViking(self, viking_soldier): + self.vikingArmy.append(viking_soldier) + def addSaxon(self, saxon_soldier): + self.saxonArmy.append(saxon_soldier) -class War: - pass + def vikingAttack(self): + vik_soldier = self.vikingArmy[rn.randint(0,len(self.vikingArmy)-1)] + sax_soldier = self.saxonArmy[rn.randint(0,len(self.saxonArmy)-1)] + if sax_soldier.health <= vik_soldier.attack(): + self.saxonArmy.remove(sax_soldier) + return sax_soldier.receiveDamage(vik_soldier.attack()) + + + def saxonAttack(self): + vik_soldier = self.vikingArmy[rn.randint(0,len(self.vikingArmy)-1)] + sax_soldier = self.saxonArmy[rn.randint(0,len(self.saxonArmy)-1)] + if vik_soldier.health <= sax_soldier.attack(): + self.vikingArmy.remove(vik_soldier) + return vik_soldier.receiveDamage(sax_soldier.attack()) + + + def showStatus(self): + if not self.saxonArmy: + return "Vikings have won the war of the century!" + elif not self.vikingArmy: + return "Saxons have fought for their lives and survive another day..." + else: + return "Vikings and Saxons are still in the thick of battle." +