From dcf6036deed39ca85b32ebb3a3e6d2346eb47711 Mon Sep 17 00:00:00 2001 From: Hannah-Dagemark Date: Sat, 1 Jun 2024 12:40:43 +0200 Subject: [PATCH] 01/06-24 #2 --- Main.py | 9 +++- Realms/RealmManager.py | 43 +++++++++++++++++- .../__pycache__/RealmManager.cpython-312.pyc | Bin 3608 -> 5801 bytes 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/Main.py b/Main.py index 1a719b3..c4b5366 100644 --- a/Main.py +++ b/Main.py @@ -284,13 +284,16 @@ class uCommunicate: def gameLoop(self): while self.globalGameState == 1: for x in range(GameRealms.amount): + self.turnHolder = x + GameRealms.applyResourceIncome(x) if self.turnHolder != 0: self.turnHolder = GameRealms.players[x].id print(f"Turn being played by: {self.turnHolder}/{GameRealms.players[x].name}") self.expand_cccs(self.turnHolder) else: + GameRealms.updateDaywisePlayerResources(self.turnHolder, GameMap) while self.turnHolder == 0: - y = 1 + None def claimState(self): if GameMap.paintedTile and self.turnHolder == 0: @@ -300,6 +303,7 @@ class uCommunicate: if pt.Id in ip.borderTiles and ip.resources["villagers"] > 0: print(f"Claiming {pt.Id} for {ip.name}") GameMap.claimTileFor(pt.Id,ip) + ip.heldTiles.append(pt.Id) for tile in GameMap.findBorderTiles(pt.Id): ip.borderTiles.append(int(tile)) ip.resources["villagers"] -= 1 @@ -307,6 +311,7 @@ class uCommunicate: elif ip.resources["settlers"] > 0: print(f"Settling {pt.Id} for {ip.name}") GameMap.claimTileFor(pt.Id,ip) + ip.heldTiles.append(pt.Id) for tile in GameMap.findBorderTiles(pt.Id): ip.borderTiles.append(int(tile)) ip.resources["settlers"] -= 1 @@ -324,7 +329,7 @@ class uCommunicate: if tryTile != None: if not GameMap.tIsClaimed(tryTile): expandTile = tryTile - GameMap.claimTileFor(expandTile,GameRealms.getPlayer(f"{ccc}"),map) + GameMap.claimTileFor(expandTile,curPlayer,map) curPlayer.heldTiles.append(expandTile) else: while expandTile == None: diff --git a/Realms/RealmManager.py b/Realms/RealmManager.py index 3020caf..464de50 100644 --- a/Realms/RealmManager.py +++ b/Realms/RealmManager.py @@ -33,6 +33,30 @@ class RealmManager: return self.players[0] else: return self.players[int(detail)] + + def updateDaywisePlayerResources(self, id, MapMan): + print(f"\n\n\nUpdating DaywiseResourceGain for {id}\n\n") + p = self.players[id] + print(f"\nPrevious gains: {p.daywiseResourceGain}") + p.resetDailyGains() + print(f"HeldTiles Check: {p.heldTiles}") + for t in p.heldTiles: + tInfo = MapMan.tiles[str(t)] + for resource in tInfo.resources: + p.daywiseResourceGain[str(resource[1])] += resource[0] + print(f"\nNew gains: {p.daywiseResourceGain}") + + def applyResourceIncome(self, id): + print(f"Applying resource income for {id}") + p = self.players[id] + for r in p.daywiseResourceGain.keys(): + p.resources[str(r)] += p.daywiseResourceGain[str(r)] + if p.passiveResourceGain.keys(): + for r in p.passiveResourceGain.keys(): + p.resources[str(r)] += p.passiveResourceGain[str(r)] + + + class Player: @@ -47,6 +71,14 @@ class Player: "weapons": 0.0, "tools": 0.0, } + self.daywiseResourceGain = { + "wood": 0.0, + "stone": 0.0, + "food": 0.0, + "weapons": 0.0, + "tools": 0.0 + } + self.passiveResourceGain = {} self.id = id self.controller = controller self.heldTiles = [] @@ -54,4 +86,13 @@ class Player: colour = colour.split(",") print (colour) self.borderColour = (int(colour[0]),int(colour[1]),int(colour[2])) - self.name = name \ No newline at end of file + self.name = name + + def resetDailyGains(self): + self.daywiseResourceGain = { + "wood": 0.0, + "stone": 0.0, + "food": 0.0, + "weapons": 0.0, + "tools": 0.0 + } \ No newline at end of file diff --git a/Realms/__pycache__/RealmManager.cpython-312.pyc b/Realms/__pycache__/RealmManager.cpython-312.pyc index e3ad1eee2e0dac9b639ffff1f3cead399ba17b0b..8192c887a8bf7f20c18e9c16e75b06fb492d3977 100644 GIT binary patch delta 2695 zcmbtVOKej|6rFh=`}vDaKIBUb`I?ZV;g^uml9Yr12?@WlNL5wF?wF4#mH9L1yUCk>Lw(WB6Zb!pYxoASZ$?_tvhqy zJ#+7!&zU<_G1uh$$>FdPXvbEDNBoWn=h*H#&?bpOhN(=3IoTxB+jN+hx!Yt|ka>`z zEPymcM6da~nS|w_pGOC)%?v&2%TFk}34_cwna1cek-3Nbx2xZ1Vn`_Iq@`fL$*%+Q zG5(TZOk3-x$wMwTl>o+^@Nkv!wEzNqlh*LYXw$qrm>%-cX~;r|ahLSnFy?0au*1+} zf{}rqwHOoQmz;)itp|4v;LenPA?w_kWDy-1PH%8GIMib%*@S%*0{eMCcL>J!b_wL( zSz-N-n!$hkUw0}(ywYH_#%i^GFfRMTfw56fk1ujPpekn+HFTBvl|El!%rg>Vo+xLv zM%~s^Ot}^aT~$4!U{E_eQTH(=D4z=i71eX(qT;{Y;bFLmj3XpYqIT<`a^1jsC1ytx zZrMVCygAUq7N)35xW^X=Mli6tV7X{`Ul79>WPw-1Y{3FJJw4THX4}zcIr=o6^o^hN zjjdZ)%v{b4|r75XghwPZ$@lE5GjkA?WXG=D0$7ek*7EfMPIqYtD^+~rQYYBg8wBmd)uC#`dh^K}R2A+z=u z-QRa=uA?be+Z!ISiz2%GQz91U1ILsvy?w8?eQ&Z7lHdPQI>72-S$;UrT*Cv_iTq<; zA{$%;h|c4xERQ*0P@Ws9bG0lEyl6+V11Jv(!!{#$EcZs_7?Ia)z8RZ%(;*OuhnLcA z_+Ra_S(UN#tMM`r2t(Ro+(>?i5^Lt6cz=VxEIpPkq0do)*1 z%2kb=>7|Q2vAY^{ZVYnGEILU|oj%HJElk)P7vlch$-sQvU;X*S z$~8%3n)`A3DZT+BJC(au>sx$imeJ-j!6yyMcqWj=2*tZxVY)=l>3 zz`mNatpc>b*8{D^eBRWBaq(N_%&LG+2A#rCCssvWStC{+Ws5!VA!7v|X1U=h(=HD? z*!{&q=0m`IEucNPtqFpw6}zOpFtuZU{2uEuTLZKv6$2_QRoe`e{-5HhinYD|^!)w} zjPuuBM_PkoB^7IF7g(e4-VHJ?dD3B{pyrG2a<3ul_RO~^YTw&+jw+X`CKG*CNy83B z+*YT>#kpsglJuAkL745F45Rv?+zcZ*f}OUxS>JESdaV}9c5WxE1*^NYFjAgVfqC`S zS;$PFEBc|%oH1^*;sYy?6}c2)(K9*$*&Filt_%n&{k#tD=^!6!UKSwxFHa?5bL w9vTZ>4w8#