def connectToGame(self, ide): HOST, PORT = "localhost", 9999 data = networking.DataFrame(networking.Header(1, "testConnectToGame"), {"playerID" : ide}).toString() # Create a socket (SOCK_STREAM means a TCP socket) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(data + "\n") # Receive data from the server and shut down received = sock.recv(4096) print received finally: sock.close() print received received = ast.literal_eval(received) if received["header"]["reqtype"] == "success": p = party.Party(player.Player(received["data"]["playerID"], "Opponent", None)) for h in received["data"]["heroes"]: p.addHero(hero.createFromJSON(ast.literal_eval(h))) b = networkedbattlescene.NetworkedBattleScene(received["data"]["gameID"], self.surface, self.player, player.Player(received["data"]["playerID"], "Opponent", p), self.party, p) return 1 else: return 0
def challenge(self, ide): HOST, PORT = "localhost", 9999 data = networking.DataFrame(networking.Header(1, "challenge"), { "id": self.player.getID(), "lobby": ide }).toString() # Create a socket (SOCK_STREAM means a TCP socket) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(data + "\n") # Receive data from the server and shut down received = sock.recv(4096) finally: sock.close() received = ast.literal_eval(received) if received["header"]["reqtype"] == "heroes": p = party.Party(self.player) for h in received["data"]["heroes"]: p.addHero(hero.createFromJSON(ast.literal_eval(h))) print self.player.getID() self.createGame(ide, received["data"]["playerID"], self.player.getID()) b = networkedbattlescene.NetworkedBattleScene( ide, self.surface, self.player, player.Player(received["data"]["playerID"], "Opponent", p), self.party, p) self.error = False else: self.error = True
def challenge(self, ide): HOST, PORT = "localhost", 9999 data = networking.DataFrame(networking.Header(1, "challenge"), {"id" : self.player.getID(), "lobby" : ide}).toString() # Create a socket (SOCK_STREAM means a TCP socket) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(data + "\n") # Receive data from the server and shut down received = sock.recv(4096) finally: sock.close() received = ast.literal_eval(received) if received["header"]["reqtype"] == "heroes": p = party.Party(self.player) for h in received["data"]["heroes"]: p.addHero(hero.createFromJSON(ast.literal_eval(h))) print self.player.getID() self.createGame(ide, received["data"]["playerID"], self.player.getID()) b = networkedbattlescene.NetworkedBattleScene(ide, self.surface, self.player, player.Player(received["data"]["playerID"], "Opponent", p), self.party, p) self.error = False else: self.error = True
def determineHeroOrder(self, gameID): heroes = self.getHeroesInGame({"gameID" : gameID})["heroes"] actualHeroes = [] for x in heroes: h = hero.createFromJSON(ast.literal_eval(x)) actualHeroes.append(h) return sorted(actualHeroes, key=lambda her: her.getInitiative())
def connectToGame(self, ide): HOST, PORT = "localhost", 9999 data = networking.DataFrame(networking.Header(1, "testConnectToGame"), { "playerID": ide }).toString() # Create a socket (SOCK_STREAM means a TCP socket) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(data + "\n") # Receive data from the server and shut down received = sock.recv(4096) print received finally: sock.close() print received received = ast.literal_eval(received) if received["header"]["reqtype"] == "success": p = party.Party( player.Player(received["data"]["playerID"], "Opponent", None)) for h in received["data"]["heroes"]: p.addHero(hero.createFromJSON(ast.literal_eval(h))) b = networkedbattlescene.NetworkedBattleScene( received["data"]["gameID"], self.surface, self.player, player.Player(received["data"]["playerID"], "Opponent", p), self.party, p) return 1 else: return 0
def getAllHeroes(self): HOST, PORT = "localhost", 9999 data = networking.DataFrame(networking.Header(1, "getHeroes"), { "playerID": str(self.player.getID()) }).toString() # Create a socket (SOCK_STREAM means a TCP socket) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(data + "\n") # Receive data from the server and shut down received = sock.recv(4096) finally: sock.close() received = ast.literal_eval(received) if received["header"]["reqtype"] == "heroes": for heroJSON in received["data"]["heroes"]: j = ast.literal_eval(heroJSON) self.party.addHero(hero.createFromJSON(j)) self.error = False else: self.error = True
def determineHeroOrder(self, gameID): heroes = self.getHeroesInGame({"gameID": gameID})["heroes"] actualHeroes = [] for x in heroes: h = hero.createFromJSON(ast.literal_eval(x)) actualHeroes.append(h) return sorted(actualHeroes, key=lambda her: her.getInitiative())
def initVars(self): self.partyManager = battlepartymanager.BattlePartyManager( self.party1, self.party2, self.player.getID(), self.networkedplayer.getID()) self.heroes = [ hero.createFromJSON(ast.literal_eval(x)) for x in self.getHeroesInGame() ]
def determineInitiative(self): heroID = int( self.sendToServer( self.DataFrameFactory("getCurrentHeroTurn", {"gameID": self.ide}))["heroID"]) self.order = [ hero.createFromJSON(ast.literal_eval(x)) for x in self.sendToServer( self.DataFrameFactory("getHeroesInOrder", {"gameID": self.ide}))["heroes"] ] for x in self.order: if x.getID() == heroID: self.activeHero = x
def getAllHeroes(self): HOST, PORT = "localhost", 9999 data = networking.DataFrame(networking.Header(1, "getHeroes"), {"playerID" : str(self.player.getID())}).toString() # Create a socket (SOCK_STREAM means a TCP socket) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(data + "\n") # Receive data from the server and shut down received = sock.recv(4096) finally: sock.close() received = ast.literal_eval(received) if received["header"]["reqtype"] == "heroes": for heroJSON in received["data"]["heroes"]: j = ast.literal_eval(heroJSON) self.party.addHero(hero.createFromJSON(j)) self.error = False else: self.error = True
def netUpdate(self): self.netUpdate() self.heroes = [hero.createFromJSON(x) for x in self.getHeroesInGame()] self.askServerForBoard()
def initVars(self): self.partyManager = battlepartymanager.BattlePartyManager(self.party1, self.party2, self.player.getID(), self.networkedplayer.getID()) self.heroes = [hero.createFromJSON(ast.literal_eval(x)) for x in self.getHeroesInGame()]
def determineInitiative(self): heroID = int(self.sendToServer(self.DataFrameFactory("getCurrentHeroTurn", {"gameID" : self.ide}))["heroID"]) self.order = [hero.createFromJSON(ast.literal_eval(x)) for x in self.sendToServer(self.DataFrameFactory("getHeroesInOrder", {"gameID" : self.ide}))["heroes"]] for x in self.order: if x.getID() == heroID: self.activeHero = x