Compare commits
No commits in common. "854959da59f2397402604318cedc68d68baebe03" and "18dcd6cc42f1f23e221702147a36f650f6aae6ac" have entirely different histories.
854959da59
...
18dcd6cc42
@ -56,17 +56,10 @@ class World():
|
|||||||
pManaPos = pygame.Vector2(20, pRow2Height + 255)
|
pManaPos = pygame.Vector2(20, pRow2Height + 255)
|
||||||
|
|
||||||
# labeling
|
# labeling
|
||||||
<<<<<<< HEAD:Game_Client/Classes/Game/World.py
|
|
||||||
self.__labels.append(Label("PlayerHP", self.__screen, "0 / 0", pHPPos))
|
|
||||||
self.__labels.append(Label("PlayerName", self.__screen, "Not Connected", pNamePos))
|
|
||||||
self.__labels.append(Label("PlayerMana", self.__screen, "0", pManaPos))
|
|
||||||
self.__labels.append(Label("EnemyHP", self.__screen, "0 / 0", eHPPos))
|
|
||||||
=======
|
|
||||||
self.__labels.append(Label("PlayerHP", self.__screen, "1000 / 1000", pHPPos))
|
self.__labels.append(Label("PlayerHP", self.__screen, "1000 / 1000", pHPPos))
|
||||||
self.__labels.append(Label("PlayerName", self.__screen, "Not Connected", pNamePos))
|
self.__labels.append(Label("PlayerName", self.__screen, "Not Connected", pNamePos))
|
||||||
self.__labels.append(Label("PlayerName", self.__screen, "0", pManaPos))
|
self.__labels.append(Label("PlayerName", self.__screen, "0", pManaPos))
|
||||||
self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos))
|
self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos))
|
||||||
>>>>>>> 18dcd6cc42f1f23e221702147a36f650f6aae6ac:Client/Classes/Game/World.py
|
|
||||||
self.__labels.append(Label("EnemyName", self.__screen, "Not Connected", eNamePos))
|
self.__labels.append(Label("EnemyName", self.__screen, "Not Connected", eNamePos))
|
||||||
|
|
||||||
self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "e-deck"))
|
self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "e-deck"))
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -13,15 +13,9 @@ class TCPEventHandler:
|
|||||||
def __init__(self, socket:socket):
|
def __init__(self, socket:socket):
|
||||||
self.tcp_socket = socket
|
self.tcp_socket = socket
|
||||||
|
|
||||||
<<<<<<< HEAD:Game_Client/Classes/System/Network/EventHandler.py
|
|
||||||
def handleEvents(self, message:dict, inputHandler:InputHandler, world:World):
|
|
||||||
if message["event"] == "loginresponse":
|
|
||||||
# todo: handle login response here
|
|
||||||
=======
|
|
||||||
def handleEvents(self, message, inputHandler:InputHandler, world:World):
|
def handleEvents(self, message, inputHandler:InputHandler, world:World):
|
||||||
print(message)
|
print(message)
|
||||||
if message["event"] == "loginresponse":
|
if message["event"] == "loginresponse":
|
||||||
>>>>>>> 18dcd6cc42f1f23e221702147a36f650f6aae6ac:Client/Classes/System/Network/EventHandler.py
|
|
||||||
LoginResponse(message, world)
|
LoginResponse(message, world)
|
||||||
pass
|
pass
|
||||||
elif message["event"] == "startgame":
|
elif message["event"] == "startgame":
|
||||||
@ -34,17 +28,6 @@ class TCPEventHandler:
|
|||||||
CardPlaced(world, message["card"], message["type"], message["owner"], pygame.Vector2(int(message["x"]), int(message["y"]), inputHandler))
|
CardPlaced(world, message["card"], message["type"], message["owner"], pygame.Vector2(int(message["x"]), int(message["y"]), inputHandler))
|
||||||
pass
|
pass
|
||||||
elif message["event"] == "MoveCard":
|
elif message["event"] == "MoveCard":
|
||||||
<<<<<<< HEAD:Game_Client/Classes/System/Network/EventHandler.py
|
|
||||||
# CardMoved(
|
|
||||||
# world,
|
|
||||||
# message["card"],
|
|
||||||
# message["type"],
|
|
||||||
# message["owner"],
|
|
||||||
# pygame.Vector2(int(message["old_x"]), int(message["old_y"])),
|
|
||||||
# pygame.Vector2(int(message["new_x"]), int(message["new_y"])),
|
|
||||||
# inputHandler, world)
|
|
||||||
=======
|
|
||||||
>>>>>>> 18dcd6cc42f1f23e221702147a36f650f6aae6ac:Client/Classes/System/Network/EventHandler.py
|
|
||||||
pass
|
pass
|
||||||
elif message["event"] == "RemoveCard":
|
elif message["event"] == "RemoveCard":
|
||||||
pass
|
pass
|
||||||
|
Binary file not shown.
@ -19,7 +19,6 @@ class Label:
|
|||||||
self.rect = pygame.Rect(self.__pos.x, self.__pos.y, w, h)
|
self.rect = pygame.Rect(self.__pos.x, self.__pos.y, w, h)
|
||||||
self.__screen = screen
|
self.__screen = screen
|
||||||
self.__text = text
|
self.__text = text
|
||||||
self.__name = name
|
|
||||||
|
|
||||||
def getText(self) -> str:
|
def getText(self) -> str:
|
||||||
return self.__text
|
return self.__text
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -7,10 +7,10 @@ from Classes.Engine.InputHandler import InputHandler
|
|||||||
|
|
||||||
# send from the server to tell the player the game starts
|
# send from the server to tell the player the game starts
|
||||||
# gives the client its and the opponents stats (not cards!!)
|
# gives the client its and the opponents stats (not cards!!)
|
||||||
def GameStart(world: World, handCards:list, inputHandler:InputHandler, opponent:Player):
|
def GameStart(world: World, handCards:list, inputHandler:InputHandler, owner:Player, opponent:Player):
|
||||||
index:int = 0
|
index:int = 0
|
||||||
world.setEnemy(opponent)
|
world.setEnemy(opponent)
|
||||||
|
|
||||||
for card in handCards:
|
for card in handCards:
|
||||||
world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), f"Assets/Cards/{card}/", inputHandler, world.getPlayer()))
|
world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), f"Assets/Cards/{card}/", inputHandler, owner))
|
||||||
|
|
@ -15,9 +15,8 @@ def Login(tcpClient):
|
|||||||
tcpClient.send(payload)
|
tcpClient.send(payload)
|
||||||
|
|
||||||
# server response for login event
|
# server response for login event
|
||||||
def LoginResponse(message:dict, world:World):
|
def LoginResponse(message:dict):
|
||||||
# checks if the response on the login request is successfull
|
# checks if the response on the login request is successfull
|
||||||
if message["status"] != "success":
|
if message["status"] != "success":
|
||||||
print("login failed")
|
print("login failed")
|
||||||
else:
|
pass
|
||||||
world.setPlayer(Player(0,0, message["username"], message["id"]))
|
|
@ -3,7 +3,7 @@ from Classes.Game.World import World
|
|||||||
from Classes.Engine.InputHandler import InputHandler
|
from Classes.Engine.InputHandler import InputHandler
|
||||||
|
|
||||||
# the event the client sends to the server when it places a card
|
# the event the client sends to the server when it places a card
|
||||||
def PlaceCard(tcpClient, card, id):
|
def PlaceCard(tcpClient, card):
|
||||||
# todo: send card information to the server
|
# todo: send card information to the server
|
||||||
# todo: required info is:
|
# todo: required info is:
|
||||||
# - position
|
# - position
|
||||||
@ -13,7 +13,6 @@ def PlaceCard(tcpClient, card, id):
|
|||||||
"event":"placecard",
|
"event":"placecard",
|
||||||
"card": card.getID(),
|
"card": card.getID(),
|
||||||
"type": card.getType(),
|
"type": card.getType(),
|
||||||
"user": id,
|
|
||||||
"x": card.getPos().x,
|
"x": card.getPos().x,
|
||||||
"y": card.getPos().y,
|
"y": card.getPos().y,
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,11 +7,10 @@ class Player:
|
|||||||
__name:str
|
__name:str
|
||||||
__handCards:pygame.sprite.Group
|
__handCards:pygame.sprite.Group
|
||||||
|
|
||||||
def __init__(self, hp:int, mana:int, name:str, id:int):
|
def __init__(self, hp:int, mana:int, name:str):
|
||||||
self.__hp = hp
|
self.__hp = hp
|
||||||
self.__mana = mana
|
self.__mana = mana
|
||||||
self.__name = name
|
self.__name = name
|
||||||
self.__id = id
|
|
||||||
|
|
||||||
def setID(self, id:int):
|
def setID(self, id:int):
|
||||||
self.__id = id
|
self.__id = id
|
||||||
|
BIN
New_Client/Classes/Game/__pycache__/Player.cpython-311.pyc
Normal file
BIN
New_Client/Classes/Game/__pycache__/Player.cpython-311.pyc
Normal file
Binary file not shown.
BIN
New_Client/Classes/Game/__pycache__/World.cpython-311.pyc
Normal file
BIN
New_Client/Classes/Game/__pycache__/World.cpython-311.pyc
Normal file
Binary file not shown.
@ -1,5 +1,6 @@
|
|||||||
import random
|
import random
|
||||||
|
|
||||||
|
|
||||||
class Player:
|
class Player:
|
||||||
__id:int
|
__id:int
|
||||||
__hp:int
|
__hp:int
|
||||||
@ -15,7 +16,6 @@ class Player:
|
|||||||
self.__handCards = []
|
self.__handCards = []
|
||||||
self.__deck = deck
|
self.__deck = deck
|
||||||
self.__id = random.randint(3, 99999)
|
self.__id = random.randint(3, 99999)
|
||||||
self.__mana = mana
|
|
||||||
|
|
||||||
def shuffleDeck(self):
|
def shuffleDeck(self):
|
||||||
self.__deck = random.shuffle(self.__deck)
|
self.__deck = random.shuffle(self.__deck)
|
||||||
|
Binary file not shown.
@ -68,7 +68,7 @@ class GameManager:
|
|||||||
# this section mostly only used by the networking and event handling classes
|
# this section mostly only used by the networking and event handling classes
|
||||||
# other parts should never need to interface with this unless really required
|
# other parts should never need to interface with this unless really required
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
def startGame(self, tcpSocket: socket):
|
def startGame(self):
|
||||||
self.__state = "running"
|
self.__state = "running"
|
||||||
|
|
||||||
players = list(self.__players.values())
|
players = list(self.__players.values())
|
||||||
@ -77,7 +77,7 @@ class GameManager:
|
|||||||
self.logger.info("game manager is starting the game")
|
self.logger.info("game manager is starting the game")
|
||||||
for userAddr, player_data in self.__players.items():
|
for userAddr, player_data in self.__players.items():
|
||||||
try:
|
try:
|
||||||
user = player_data["player"]
|
user = self.__players[userAddr]["player"]
|
||||||
user.addMana(1000)
|
user.addMana(1000)
|
||||||
user.adjustHP(1000)
|
user.adjustHP(1000)
|
||||||
user.shuffleDeck()
|
user.shuffleDeck()
|
||||||
@ -105,7 +105,9 @@ class GameManager:
|
|||||||
player_data["socket"].send(json.dumps(payload).encode())
|
player_data["socket"].send(json.dumps(payload).encode())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error(f"failed to start game due to error: {e}")
|
self.logger.error(f"failed to start game due to error: {e}")
|
||||||
break
|
pass
|
||||||
|
# handles notifying all players that the game starts
|
||||||
|
pass
|
||||||
|
|
||||||
def stopGame(self):
|
def stopGame(self):
|
||||||
# handles notifying all players that the game stops
|
# handles notifying all players that the game stops
|
||||||
@ -148,8 +150,4 @@ class GameManager:
|
|||||||
self.logger.info("2 players have join game starts")
|
self.logger.info("2 players have join game starts")
|
||||||
self.startGame()
|
self.startGame()
|
||||||
|
|
||||||
return self.__players
|
return self.__players
|
||||||
|
|
||||||
def removePlayers(self, clientAddr):
|
|
||||||
self.logger.info(f"removing player with address '{clientAddr}' from players database")
|
|
||||||
del self.__players[clientAddr]
|
|
@ -14,21 +14,8 @@ class TCPEventHandler:
|
|||||||
# handles passing of event data to the right functions
|
# handles passing of event data to the right functions
|
||||||
def handleTCPEvents(self, event, gameManager:GameManager, address):
|
def handleTCPEvents(self, event, gameManager:GameManager, address):
|
||||||
gameManager.getLogger().info(f"incommingevent {event}")
|
gameManager.getLogger().info(f"incommingevent {event}")
|
||||||
if event["event"] == "PlaceCard":
|
if event["event"] == "placecard":
|
||||||
gameManager.getLogger().info(f"player {event['user']} attempted to place card {event['card']}")
|
gameManager.spawnCard(event["card"], event["user"], event["x"], event["y"])
|
||||||
for playerKey in gameManager.getPlayers().keys():
|
|
||||||
player = gameManager.getPlayers()[playerKey]
|
|
||||||
if int(event["user"]) != player["player"].getID():
|
|
||||||
payload = {
|
|
||||||
"event":"cardPlaced",
|
|
||||||
"card": {
|
|
||||||
"card":event["card"],
|
|
||||||
"owner": event["user"],
|
|
||||||
"x": event["x"],
|
|
||||||
"y": event["y"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
player["socket"].send(payload)
|
|
||||||
pass
|
pass
|
||||||
elif event["event"] == "MoveCard":
|
elif event["event"] == "MoveCard":
|
||||||
pass
|
pass
|
||||||
|
@ -90,12 +90,6 @@ class NetworkManager:
|
|||||||
self.__gameManager.getLogger().info(f"connected users {len(self.__gameManager.getPlayers())}")
|
self.__gameManager.getLogger().info(f"connected users {len(self.__gameManager.getPlayers())}")
|
||||||
|
|
||||||
self.__gameManager.getLogger().info(f"confirming login for user")
|
self.__gameManager.getLogger().info(f"confirming login for user")
|
||||||
self.send({
|
|
||||||
"event": "loginresponse",
|
|
||||||
"status": "success",
|
|
||||||
"username": user[client_address]["player"].getName(),
|
|
||||||
"id": user[client_address]["player"].getID(),
|
|
||||||
}, client_address)
|
|
||||||
|
|
||||||
self.__eventHandler[client_address].handleTCPEvents(messageJson, self.__gameManager, client_address)
|
self.__eventHandler[client_address].handleTCPEvents(messageJson, self.__gameManager, client_address)
|
||||||
self.__gameManager.getLogger().info(f"Received message from {client_address}: {message}")
|
self.__gameManager.getLogger().info(f"Received message from {client_address}: {message}")
|
||||||
@ -104,9 +98,6 @@ class NetworkManager:
|
|||||||
|
|
||||||
if e.errno == 10054:
|
if e.errno == 10054:
|
||||||
self.__gameManager.getLogger().error(f"Connection with {client_address} forcibly closed by remote host.")
|
self.__gameManager.getLogger().error(f"Connection with {client_address} forcibly closed by remote host.")
|
||||||
players = self.__gameManager.getPlayers()
|
|
||||||
self.__gameManager.removePlayers(client_address)
|
|
||||||
self.__gameManager.getLogger().info(f"new player length {len(players)}")
|
|
||||||
break
|
break
|
||||||
|
|
||||||
self.__gameManager.getLogger().error(f"Socket error receiving data from {client_address}: {e}")
|
self.__gameManager.getLogger().error(f"Socket error receiving data from {client_address}: {e}")
|
||||||
|
BIN
OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-311.pyc
Normal file
BIN
OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-311.pyc
Normal file
Binary file not shown.
BIN
OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-312.pyc
Normal file
BIN
OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user