From 030d2c066908f0969ba328062803dfbce46f0a73 Mon Sep 17 00:00:00 2001 From: luxick Date: Sun, 26 Jul 2015 20:04:39 +0200 Subject: [PATCH] tamagotchis will now play with each other --- mayorgotchi.py | 21 ++++++++++++++++++++- mayorgotchi.pyc | Bin 3131 -> 3909 bytes tamagotchi.py | 35 ++++++++++++++++++++++------------- tamagotchi.pyc | Bin 4770 -> 4964 bytes 4 files changed, 42 insertions(+), 14 deletions(-) diff --git a/mayorgotchi.py b/mayorgotchi.py index 1aa160c..7a407c2 100644 --- a/mayorgotchi.py +++ b/mayorgotchi.py @@ -7,6 +7,7 @@ import random class Mayorgotchi: mygotchis = [] name = '' + graveyard = 0 def __init__(self, list_of_tamagotchis): self.mygotchis = list_of_tamagotchis @@ -15,10 +16,11 @@ class Mayorgotchi: def remove_corpses(self): for n in self.mygotchis: if n.is_dead(): + self.graveyard += 1 self.mygotchis.remove(n) def give_status(self,show_pct): - result = 'I am Mayorgotchi ' + self.name + '. These are the Tamagotchis in my Village:\n\n' + result = 'I am Mayorgotchi ' + self.name + '.\nIn my Village '+str(self.graveyard)+' Tamagotchis died so far.\nThese are the Tamagotchis living in my Village:\n\n' for n in self.mygotchis: if show_pct: result += n.status_pct() @@ -52,6 +54,17 @@ class Mayorgotchi: else: return None + def get_unhappy(self): + unhappies = [] + result = [] + for n in self.mygotchis: + if n.happiness[0] <= 20: + unhappies.append(n) + if len(unhappies) > 0: + return unhappies[random.randrange(0,len(unhappies), 1)] + else: + return None + def order_feed(self): hungry = self.get_hungry() if hungry is not None: @@ -62,6 +75,11 @@ class Mayorgotchi: if dirty is not None: self.get_free().wash_other(dirty) + def order_play(self): + unhappy = self.get_unhappy() + if unhappy is not None: + self.get_free().play_with(unhappy) + def step(self): for n in self.mygotchis: @@ -69,3 +87,4 @@ class Mayorgotchi: self.remove_corpses() self.order_feed() self.order_wash() + self.order_play() diff --git a/mayorgotchi.pyc b/mayorgotchi.pyc index 68ec52b9c43a416b476fd32d7124cf9a716db442..65821394e5654d1c3bfafa165913bf7e63834bc4 100644 GIT binary patch delta 1195 zcmZ`&&rcIU6n?YYZo9j*G!a^$AR7|RB1koopj?OnHKnG9g+OA0&DvedmeQ8p1*w9> z;2$8Fi#HG6<={=DH$8drPtdz3&l=yGErJKr&exguW9Gg0eSJUh>AWKUOljXnkCc~e z|LE1g(YuoAXz(21UJ4vtY|`NLh)pk8OJ)iHLR{eS6#KE#gS#L`XQr|$!(Ry(8Rl^X zw-I*dU=N@Uu&_1_`waFN)EOKC_!>E4bqO2>Gg3wB#?@thQ|h}+7nMD_(xm$=86iv{ zctOQ+Z6{Q5U-Ru9w`2RfC2b#M&=4dMfMr+@>t)rGVklP>RK*Rx78R6pB*=x)NrFQL zIY)-vz686oB0|QJ3$QO!$$km;us|8=F{*tAqqZhbOmSgKMYdIpTQXyOP0nAVil($; z)7b17D_)~v*IXkgq0v~jH|<(0tgd^3;driN1TEvC?N4d^sXR2%@OHdr&G619&T5*e zV5&tBQb$4PTRK0Mi!8+twBm56qp{}gxRoHZ!|fnTF~ktCvA6eQ2^Pii<9LdV@(=NF zs2_bE1$cc3CS5A#Y-M>#8SI9?QF_@p|EPSvk|TefV31&lU;rUXByI#jj^~G-8(5+$ z{wtAY1>Td)9}takT=Tes#|SkbK@j51r@O2ytc{DAg9_Tl|~%}!w3o!A4!d=imIv_qNeIFTbd?KRAdQ3OjRDYpb81paw$RqHWEFds?;WR=!4ouYSctM zgg+4Ng&`3_qb9kPzGf3BeVK8HY!-p3mcN9{cT%-=2O`G4&q>@ojo&KErT$ zT+yDw@YSunZ21BJQni3zk8JW1g8JqR~~)FeL+clOk4?a@(@J`!dCC(*%8 zR=|?DYK1J31OaWFsVD~;l=~VSEM)|etV__>SwTz`Nzs7>4FDRHwO{*7>0{IyrL{6? z&16cw)Jx_fZE?|4zw~N3+Vyt2-o0phd!rpL3E{IAX{u#o6&>}-y{S%&qBFz790I_p z7vGH>X0fK#4%79AaTw04J7!uvMe&G}BF_JR8FEH_H0MU`iaZT2+j_Fwj=ObrH}|eo zB2LaRlo=`vvuZJ49o4uN5nK~QaoWA0j`KD3)4pxbXL$@Ybtrn+P@nAwwl~Ix_90#+ z*2C-Si*xPD*r+BrEgKb|I7!3DvcS|ChI0fyPe$?_C11p9Ro2O0CQJAXJU$l%Ex(}N z7Z%R5$We=F_G%27LXW+FZDn13aGRdwABLMJvjis6(k#Q8uq;bhrX|#K*T=Ftarb@$ DNrHdM diff --git a/tamagotchi.py b/tamagotchi.py index 55150bd..d9c1447 100644 --- a/tamagotchi.py +++ b/tamagotchi.py @@ -26,16 +26,13 @@ class Tamagotchi: self.potential = potential self.power = potential - def set_status(self, status): - self.status = status - def feed_other(self, tamagotchi): self.status = 'Working' tamagotchi.status = 'Eating' def play_with(self, tamagotchi): - tamagotchi.happiness += 5 - self.happiness += 5 + self.status = 'Working' + tamagotchi.status = 'Playing' def wash_other(self,tamagotchi): self.status = 'Working' @@ -55,10 +52,10 @@ class Tamagotchi: def update_hunger(self): if self.status is 'Eating': if self.hunger[0] <= self.hunger[1]: - self.hunger[0] += 10 + self.hunger[0] += 30 else: self.status = 'Idle' - elif self.status is 'Idle': + else: # The Tamagotchi is starving if self.hunger[0] < self.decayspeed: self.hunger[0] = 0 @@ -76,8 +73,24 @@ class Tamagotchi: else: self.hygiene[0] += self.recovery else: - self.hygiene[0] -= self.decayspeed + if self.hygiene[0] <= 0: + self.hygiene[0] = 0 + else: + self.hygiene[0] -= self.decayspeed + def update_happiness(self): + if self.status is 'Playing': + if self.happiness[0] >= self.happiness[1]: + self.status = 'Idle' + if self.happiness[0] >= self.happiness[1] -self.recovery: + self.happiness[0] = self.happiness[1] + else: + self.happiness[0] += self.recovery + else: + if self.happiness[0] <= 0: + self.happiness[0] = 0 + else: + self.happiness[0] -= self.decayspeed def step(self): if not self.dead: @@ -88,14 +101,10 @@ class Tamagotchi: else: self.power -= 1 else: - if self.happiness[0] < self.decayspeed: - self.happiness[0] = 0 - else: - self.happiness[0] -= self.decayspeed - self.update_hunger() self.update_sleep() self.update_hygiene() + self.update_happiness() def is_dead(self): if self.dead: diff --git a/tamagotchi.pyc b/tamagotchi.pyc index 430b61e184580aecfe7f9f95b450b5b98ea496c6..fa8318c5bd7d54b1e4eb328d27ab5f174d1a7bcd 100644 GIT binary patch delta 799 zcmb_a&1(};5TALwoBhbwW}~fJZB4LiHY&w~#Sat(PaYE66;DM&=muSDme_3yfq+8q zUdBrgf`}KrNsbvUQ_flp~gzjACFLJfuhEr7Vm8i zIICQY&rck#%)W-O{*q;k^-$M*vvBqA$8%W4Y2k`8+G3S8u&L70xc`vRs~wQ9O==9d z-9BeXyB}!GW+l*D^Jas`)bEAujZW)syVr~2PLeFkvp?GLPsNIiNfkemgbS8ehIGqX zd^q5(D#sA2a89%YJQ$_{Ds0JOIaC|7%$VsZiviMEvBqZlh0;3G64HVBhV%p`1AnC; z&yZs{!r%fJ5X><>N=w-lSAGykxF3L~oNbX&IKo2ukbQw&>gL{KGFr^M_(A7U;6mpl_vmQ8jsG&7xW0MW>w2-zwyZCIA2c delta 765 zcmZuvzi-n}5WahM>^iY=?dB(|T8NrDg{2Y$ z8w*koF);vQBB=a`#89z-keJ!{1DLZgFfhQ~OPeyFCx57~C1 z@2uad-~qrk!ZttyAO={jBJb4ckCDSPeKVJ`NweEXy0^Mp$s|`2#Q-!=pKzMq8o6r* zrDC3dvZ)Uh9*t8tiQWfy%sih1Rtukz@jgRWYYMtS7O z+K^}T#c3Cw9*$leO|KbrJ6+jvp3Gn2?nIOiIbA%C1y%YF+k0*qYD#wLMrQuL)?~7j z*n|buP|(@c4dzHCYiE`BB$qFBVX>V*Ob!l|f(2tyS}b_L2a(7gMPoWTut%<|9t8m5 z(4R=IPMcJ9Xpkx9q#?=(91|!BOwn_Dxgy3S-R4Fl?;-=RaXv3b6|#}zDzE6F`x0Y1 z>wU$w{x9z{;+_7Ue*v*f4OPS$3W8U-K_7!HYn&OPEX{={GxD!QRe>{v6HD|Vob?UI P)GOooj_ZUp2=D#{T2+99