attempt on fixing placing cards through network

This commit is contained in:
2024-01-21 23:40:56 +01:00
parent 5daffa8a8e
commit 3b7563c5f1
18 changed files with 502 additions and 8 deletions

View File

@ -3,6 +3,7 @@ from Classes.Game.World import World
from Classes.Game.Cards.Card import Card
from Classes.Game.Player import Player
from Classes.System.Components.InputHandler import InputHandler
from Classes.System.Utils.Path import PathUtil
# send from the server to tell the player the game starts
@ -12,5 +13,5 @@ def GameStart(world: World, handCards:list, inputHandler:InputHandler, owner:Pla
world.setEnemy(opponent)
for card in handCards:
world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), f"Assets/Cards/{card}/", inputHandler, owner))
world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), PathUtil.getAbsolutePathTo(f"Assets/Cards/{card}/"), inputHandler, owner))

View File

@ -98,22 +98,23 @@ class World():
return self.__PlayerHandCards
def getPlayer(self) -> Player:
return self.__player
return self.player
def getEnemy(self) -> Player:
return self.__enemy
def setPlayer(self, player:Player):
print(f"setting player {player}")
self.player = player
for label in self.__labels:
if label.getName() == "PlayerName":
label.setText(player.getName())
self.player = player
def setEnemy(self, player:Player):
self.enemy = player
for label in self.__labels:
if label.getName() == "EnemyName":
label.setText(player.getName())
self.enemy = player
def spawnCard(self, asset:str, pos:pygame.Vector2, inputHandler:InputHandler, owner:Player) -> Card:
card = Card(pos, asset, inputHandler, owner)

View File

@ -19,9 +19,10 @@ class TCPEventHandler:
LoginResponse(message, world)
pass
elif message["event"] == "startgame":
world.player.setMana(message["player"]["mana"])
world.player.setHp(message["player"]["hp"])
GameStart(world, message["player"]["hand"], inputHandler, world.getPlayer(), Player(message["enemy"]["hp"],message["enemy"]["mana"],message["enemy"]["name"], message["enemy"]["id"]))
print(world.player)
# world.player.setMana(message["player"]["mana"])
# world.player.setHp(message["player"]["hp"])
GameStart(world, message["player"]["hand"], inputHandler, world.getPlayer(), Player(message["enemy"]["hp"],0,message["enemy"]["name"], message["enemy"]["id"]))
pass
elif message["event"] == "placecard":
CardPlaced(world, message["card"], message["type"], message["owner"], pygame.Vector2(int(message["x"]), int(message["y"]), inputHandler))