Esempio n. 1
0
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 []
Esempio n. 2
0
 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)