serverside gamemanager can start game but fails on nontype subscription error

This commit is contained in:
steev 2024-01-15 13:29:19 +01:00
parent 69881973a4
commit 588483ca2d
18 changed files with 31 additions and 219 deletions

2
.vscode/launch.json vendored
View File

@ -8,7 +8,7 @@
"name": "Python:app",
"type": "python",
"request": "launch",
"program": "Game Client/main.py",
"program": "main.py",
"console": "integratedTerminal",
"justMyCode": true
}

View File

@ -14,6 +14,7 @@ class Player:
self.__handCards = []
self.__deck = deck
self.__id = random.randint(3, 99999)
self.__mana = mana
def shuffleDeck(self):
self.__deck = random.shuffle(self.__deck)

View File

@ -43,31 +43,29 @@ class GameManager:
# this section mostly only used by the networking and event handling classes
# other parts should never need to interface with this unless really required
# =============================================================================
def startGame(self, tcpSocket:socket):
def startGame(self, tcpSocket: socket):
self.__state = "running"
players = list(self.__serverWorld.getPlayers)
players = list(self.__players.values())
print("game starts")
self.logger.info("game manager is starting the game")
for userAddr in self.__users.keys():
for userAddr, player_data in self.__players.items():
try:
user = self.__players[userAddr]["player"]
user = player_data["player"]
user.addMana(1000)
user.adjustHP(1000)
user.shuffleDeck()
cards = user.getDeck()
user.setHand(cards[:5])
enemy = players[0]["player"]
# iterates until the enemy player is not anymore equal to current player
enemy = next(player_data["player"] for player_data in players if player_data["player"] != user)
if enemy == user:
enemy = players[1]["player"]
payload = {
"event":"startgame",
"event": "startgame",
"player": {
"mana":user.getMana(),
"mana": user.getMana(),
"hp": user.getHP(),
"hand": user.getHand()
},
@ -82,8 +80,6 @@ class GameManager:
except Exception as e:
self.logger.error(f"failed to start game due to error: {e}")
break
# handles notifying all players that the game starts
pass
def stopGame(self):
# handles notifying all players that the game stops

View File

@ -15,6 +15,20 @@ class TCPEventHandler:
def handleTCPEvents(self, event, gameManager:GameManager, address):
gameManager.getLogger().info(f"incommingevent {event}")
if event["event"] == "PlaceCard":
gameManager.getLogger().info(f"player {event['user']} attempted to place card {event['card']}")
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
elif event["event"] == "MoveCard":
pass

View File

@ -93,6 +93,7 @@ class NetworkManager:
self.send({
"event": "loginresponse",
"status": "success",
"username": user[client_address]["player"].getName(),
"id": user[client_address]["player"].getID(),
}, client_address)

View File

@ -1,29 +0,0 @@
10:37:09,378 root INFO starting up server
10:37:09,379 root INFO starting up game manager
10:37:09,379 root INFO preparing to start server
10:37:09,379 root INFO starting up network manager
10:37:09,379 root INFO starting up network manager
10:37:09,379 root INFO starting up tcp server
10:37:09,380 root INFO starting up thread for client socket accepting
10:40:46,771 root INFO Connected with ('127.0.0.1', 51297)
10:40:46,771 root INFO starting client handler thread for client at address ('127.0.0.1', 51297)
10:40:46,773 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
10:40:46,773 root INFO user in message None
10:40:46,774 root INFO user logging in
10:40:46,774 root INFO task passed off to gameManager
10:40:46,774 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001A9DC7D2F00>>
10:40:46,774 root INFO new length of user dictionary: 1
10:40:46,774 root INFO connected users 1
10:40:46,775 root INFO confirming login for user
10:40:46,775 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
10:40:46,775 root INFO Received message from ('127.0.0.1', 51297): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
10:41:00,103 root INFO Connected with ('127.0.0.1', 51299)
10:41:00,103 root INFO starting client handler thread for client at address ('127.0.0.1', 51299)
10:41:00,104 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
10:41:00,104 root INFO user in message None
10:41:00,104 root INFO user logging in
10:41:00,104 root INFO task passed off to gameManager
10:41:00,104 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001A9DC7D32C0>>
10:41:00,104 root INFO new length of user dictionary: 2
10:41:00,105 root INFO 2 players have join game starts
10:41:28,589 root INFO Connection with ('127.0.0.1', 51297) closed.

View File

@ -1,83 +0,0 @@
07:54:39,940 root INFO starting up server
07:54:39,941 root INFO starting up game manager
07:54:39,941 root INFO preparing to start server
07:54:39,941 root INFO starting up network manager
07:54:39,941 root INFO starting up network manager
07:54:39,941 root INFO starting up tcp server
07:54:39,943 root INFO starting up thread for client socket accepting
07:54:53,468 root INFO Connected with ('127.0.0.1', 50377)
07:54:53,469 root INFO starting client handler thread for client at address ('127.0.0.1', 50377)
07:54:53,470 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:54:53,471 root INFO user in message None
07:54:53,471 root INFO user logging in
07:54:53,471 root INFO task passed off to gameManager
07:54:53,471 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001F5770D31A0>>
07:54:53,471 root INFO new length of user dictionary: 1
07:54:53,471 root INFO connected users 1
07:54:53,472 root INFO confirming login for user
07:54:53,472 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:54:53,472 root INFO Received message from ('127.0.0.1', 50377): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:55:54,122 root ERROR Connection with ('127.0.0.1', 50377) forcibly closed by remote host.
07:55:54,122 root INFO removing player with address '('127.0.0.1', 50377)' from players database
07:55:54,122 root INFO new player length 0
07:55:57,266 root INFO Connected with ('127.0.0.1', 50382)
07:55:57,266 root INFO starting client handler thread for client at address ('127.0.0.1', 50382)
07:55:57,267 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:55:57,267 root INFO user in message None
07:55:57,267 root INFO user logging in
07:55:57,268 root INFO task passed off to gameManager
07:55:57,269 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001F5770D3080>>
07:55:57,270 root INFO new length of user dictionary: 1
07:55:57,270 root INFO connected users 1
07:55:57,271 root INFO confirming login for user
07:55:57,271 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:55:57,272 root INFO Received message from ('127.0.0.1', 50382): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:56:20,208 root ERROR Connection with ('127.0.0.1', 50382) forcibly closed by remote host.
07:56:20,208 root INFO removing player with address '('127.0.0.1', 50382)' from players database
07:56:20,208 root INFO new player length 0
07:59:44,914 root INFO Connected with ('127.0.0.1', 50416)
07:59:44,915 root INFO starting client handler thread for client at address ('127.0.0.1', 50416)
07:59:44,921 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:59:44,922 root INFO user in message None
07:59:44,922 root INFO user logging in
07:59:44,922 root INFO task passed off to gameManager
07:59:44,923 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001F5770D3200>>
07:59:44,923 root INFO new length of user dictionary: 1
07:59:44,923 root INFO connected users 1
07:59:44,923 root INFO confirming login for user
07:59:44,924 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:59:44,925 root INFO Received message from ('127.0.0.1', 50416): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:59:47,51 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 422.0, 'y': 540.0}
07:59:47,52 root INFO user in message None
07:59:47,52 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 422.0, 'y': 540.0}
07:59:47,52 root INFO Received message from ('127.0.0.1', 50416): {"event": "placecard", "card": 1, "type": "MonsterCard", "x": 422.0, "y": 540.0}
07:59:48,65 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 422.0, 'y': 540.0}
07:59:48,65 root INFO user in message None
07:59:48,66 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 422.0, 'y': 540.0}
07:59:48,66 root INFO Received message from ('127.0.0.1', 50416): {"event": "placecard", "card": 1, "type": "MonsterCard", "x": 422.0, "y": 540.0}
08:08:21,501 root ERROR Connection with ('127.0.0.1', 50416) forcibly closed by remote host.
08:08:21,501 root INFO removing player with address '('127.0.0.1', 50416)' from players database
08:08:21,502 root INFO new player length 0
08:08:29,119 root INFO Connected with ('127.0.0.1', 50487)
08:08:29,120 root INFO starting client handler thread for client at address ('127.0.0.1', 50487)
08:08:29,129 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
08:08:29,129 root INFO user in message None
08:08:29,129 root INFO user logging in
08:08:29,129 root INFO task passed off to gameManager
08:08:29,130 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001F5770D3230>>
08:08:29,130 root INFO new length of user dictionary: 1
08:08:29,130 root INFO connected users 1
08:08:29,130 root INFO confirming login for user
08:08:29,130 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
08:08:29,131 root INFO Received message from ('127.0.0.1', 50487): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
08:08:39,319 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 411.0, 'y': 595.0}
08:08:39,320 root INFO user in message None
08:08:39,320 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 411.0, 'y': 595.0}
08:08:39,320 root INFO Received message from ('127.0.0.1', 50487): {"event": "placecard", "card": 1, "type": "MonsterCard", "x": 411.0, "y": 595.0}
08:08:39,697 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 411.0, 'y': 595.0}
08:08:39,698 root INFO user in message None
08:08:39,698 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'MonsterCard', 'x': 411.0, 'y': 595.0}
08:08:39,698 root INFO Received message from ('127.0.0.1', 50487): {"event": "placecard", "card": 1, "type": "MonsterCard", "x": 411.0, "y": 595.0}
08:10:00,576 root ERROR Connection with ('127.0.0.1', 50487) forcibly closed by remote host.
08:10:00,576 root INFO removing player with address '('127.0.0.1', 50487)' from players database
08:10:00,576 root INFO new player length 0

View File

@ -1,29 +0,0 @@
19:08:13,964 root INFO starting up server
19:08:13,964 root INFO starting up game manager
19:08:13,965 root INFO preparing to start server
19:08:13,965 root INFO starting up network manager
19:08:13,965 root INFO starting up network manager
19:08:13,965 root INFO starting up tcp server
19:08:13,967 root INFO starting up thread for client socket accepting
19:08:18,567 root INFO Connected with ('127.0.0.1', 54324)
19:08:18,567 root INFO starting client handler thread for client at address ('127.0.0.1', 54324)
19:08:18,580 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
19:08:18,588 root INFO user in message None
19:08:18,588 root INFO user logging in
19:08:18,589 root INFO task passed off to gameManager
19:08:18,589 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001E4CF425BD0>>
19:08:18,589 root INFO new length of user dictionary: 1
19:08:18,589 root INFO connected users 1
19:08:18,589 root INFO confirming login for user
19:08:18,590 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
19:08:18,590 root INFO Received message from ('127.0.0.1', 54324): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
19:10:33,867 root ERROR Connection with ('127.0.0.1', 54324) forcibly closed by remote host.
19:10:36,58 root INFO Connected with ('127.0.0.1', 54355)
19:10:36,58 root INFO starting client handler thread for client at address ('127.0.0.1', 54355)
19:10:36,60 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
19:10:36,60 root INFO user in message None
19:10:36,60 root INFO user logging in
19:10:36,62 root INFO task passed off to gameManager
19:10:36,63 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001E4CF425C10>>
19:10:36,63 root INFO new length of user dictionary: 2
19:10:36,63 root INFO 2 players have join game starts

View File

@ -1,30 +0,0 @@
07:50:55,550 root INFO starting up server
07:50:55,550 root INFO starting up game manager
07:50:55,551 root INFO preparing to start server
07:50:55,551 root INFO starting up network manager
07:50:55,551 root INFO starting up network manager
07:50:55,551 root INFO starting up tcp server
07:50:55,553 root INFO starting up thread for client socket accepting
07:51:04,118 root INFO Connected with ('127.0.0.1', 50258)
07:51:04,119 root INFO starting client handler thread for client at address ('127.0.0.1', 50258)
07:51:04,120 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:51:04,121 root INFO user in message None
07:51:04,121 root INFO user logging in
07:51:04,121 root INFO task passed off to gameManager
07:51:04,121 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001E4129C2CF0>>
07:51:04,121 root INFO new length of user dictionary: 1
07:51:04,121 root INFO connected users 1
07:51:04,122 root INFO confirming login for user
07:51:04,122 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:51:04,122 root INFO Received message from ('127.0.0.1', 50258): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:51:05,932 root ERROR Connection with ('127.0.0.1', 50258) forcibly closed by remote host.
07:51:05,933 root INFO new player length 1
07:51:25,370 root INFO Connected with ('127.0.0.1', 50263)
07:51:25,371 root INFO starting client handler thread for client at address ('127.0.0.1', 50263)
07:51:25,372 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:51:25,372 root INFO user in message None
07:51:25,372 root INFO user logging in
07:51:25,372 root INFO task passed off to gameManager
07:51:25,372 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x000001E4129C2BD0>>
07:51:25,372 root INFO new length of user dictionary: 2
07:51:25,372 root INFO 2 players have join game starts

View File

@ -1,30 +0,0 @@
07:48:23,537 root INFO starting up server
07:48:23,538 root INFO starting up game manager
07:48:23,538 root INFO preparing to start server
07:48:23,538 root INFO starting up network manager
07:48:23,538 root INFO starting up network manager
07:48:23,539 root INFO starting up tcp server
07:48:23,541 root INFO starting up thread for client socket accepting
07:48:36,336 root INFO Connected with ('127.0.0.1', 50229)
07:48:36,337 root INFO starting client handler thread for client at address ('127.0.0.1', 50229)
07:48:36,369 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:48:36,370 root INFO user in message None
07:48:36,371 root INFO user logging in
07:48:36,372 root INFO task passed off to gameManager
07:48:36,372 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x0000023BB01BAEA0>>
07:48:36,372 root INFO new length of user dictionary: 1
07:48:36,372 root INFO connected users 1
07:48:36,372 root INFO confirming login for user
07:48:36,374 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:48:36,374 root INFO Received message from ('127.0.0.1', 50229): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:48:47,859 root ERROR Connection with ('127.0.0.1', 50229) forcibly closed by remote host.
07:48:47,859 root INFO new player length 1
07:49:03,206 root INFO Connected with ('127.0.0.1', 50235)
07:49:03,207 root INFO starting client handler thread for client at address ('127.0.0.1', 50235)
07:49:03,207 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}
07:49:03,208 root INFO user in message None
07:49:03,208 root INFO user logging in
07:49:03,208 root INFO task passed off to gameManager
07:49:03,208 root INFO creating user with id: <bound method Player.getID of <Classes.Game.Player.Player object at 0x0000023BB01BAD80>>
07:49:03,208 root INFO new length of user dictionary: 2
07:49:03,208 root INFO 2 players have join game starts

View File

@ -55,11 +55,11 @@ class World():
pManaPos = pygame.Vector2(20, pRow2Height + 255)
# labeling
self.__labels.append(Label("PlayerHP", self.__screen, "1000 / 1000", pHPPos))
self.__labels.append(Label("PlayerName", self.__screen, "Player", pNamePos))
self.__labels.append(Label("PlayerName", self.__screen, "0", pManaPos))
self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos))
self.__labels.append(Label("EnemyName", self.__screen, "Enemy", eNamePos))
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("EnemyName", self.__screen, "Not Connected", eNamePos))
self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, "Assets/Cards/0/field.png", "e-deck"))
self.__boardFields.append(BoardField("EnemyGraveyard", "Enemy", "Grave", eGravePos, "Assets/Cards/0/field.png", "e-grave"))

View File

@ -19,6 +19,7 @@ class Label:
self.rect = pygame.Rect(self.__pos.x, self.__pos.y, w, h)
self.__screen = screen
self.__text = text
self.__name = name
def getText(self) -> str:
return self.__text