def run_all(server, dt): global gridUpdates if gameData["waitingToStart"]: if "players" in gameData: numberOfPlayersReady = 0 for player in gameData["players"]: if gameData["players"][player]["isReady"]: numberOfPlayersReady += 1 if numberOfPlayersReady == len( gameData["players"]) and numberOfPlayersReady >= 1: gameData["waitingToStart"] = False gameData["isGameFinished"] = False gameData["scores"]["pacteam"] = 0 gameData["scores"]["ghostteam"] = 0 for player in gameData["players"]: gameData["players"][player]["score"] = 0 else: safeData = copy.deepcopy(gameData) gridChanges = [] for player in safeData['players']: updater = Updater(player, dt, dt) gameData["players"][player], gridChange = updater.run( safeData["players"][player], server.getGame()) if gridChange is not None: gridChanges.append(gridChange) safeData = copy.deepcopy(gameData) gameData["players"] = playerDefeat(safeData["players"]) gameData["gumCount"] = server.getGumCount() if gameData["gumCount"] == 0: gameData["waitingToStart"] = True gameData["isGameFinished"] = True gridUpdates.clear() gridChanges.clear() server.reloadGrid() for player in gameData["players"]: if gameData["players"][player]["isPacman"]: gameData["scores"]["pacteam"] += gameData["players"][ player]["score"] else: gameData["scores"]["ghostteam"] += gameData["players"][ player]["score"] gameData["players"][player]["isReady"] = False gameData["players"][player]["speed"] = [0, 0] gameData["players"][player]["inputs"] = [0, 0] gameData["players"][player]["idleMove"] = True gameData["players"][player]["respawn"] = True return gridChanges return []
def run_all(self, dt): input_delta_time = time.time() - self.last_input_change_time if "executionTimes" in self.gameData: if self.gameData["executionTimes"][-1] != 0: loops = dt / self.gameData["executionTimes"][-1] else: loops = 1 print("Client delta time : ", dt, " server last delta time :", self.gameData["executionTimes"][-1], " loops to do : ", loops) else: loops = 1 for i in range(round(loops)): if "players" in self.gameData: safeData = copy.deepcopy(self.gameData) for player in safeData['players']: updater = Updater(player, self.gameData["executionTimes"][-1], self.gameData["executionTimes"][-1]) self.gameData["players"][player], gridChange = updater.run( safeData["players"][player], self.game)