Beispiel #1
0
    def modeSpawn(self):
        #make sure we have enough players to start a round
        if len(self.playermanager.getPlayerList()) < self.startCount:
            return
        
        utils.printGM("GameMaster: Spawning players")
        
        #respawn all players
        self.playermanager.respawnPlayers(self.AImanager)

        #tell threads to do spawn
        for thread in playerthreadlist:
            thread.runState = constant_class.game_spawn
        for thread in observerthreadlist:
            thread.sendState()
Beispiel #2
0
    def modeMain(self):
        global moveevent
        global moveevent2

        if self.roundIsValid():
            utils.printGM("GameMaster: Round started")
                
        while self.roundIsValid():
            #allow movement
            moveevent.clear()
            moveevent2.set()

            #slow the game down a bit
            time.sleep(constant_class.game_speed)

            #stop movement
            moveevent2.clear()
            moveevent.set()

            #update the positions
            self.playermanager.movePlayers()

            #deal out damage/death etc
            self.playermanager.attackPlayers()

            #check for round win
            if self.playermanager.getPlayingCount() < self.winCount:
                print "\033[32mGameMaster: End count ("+str(self.winCount)+") reached, starting new game!\033[37m"
                for thread in playerthreadlist:
                    thread.runState = constant_class.game_wait
                self.AImanager.set(self.playermanager.getLiveList())
                break

            time.sleep(0.1)

        moveevent.set()
        moveevent2.set()