Exemplo n.º 1
0
    def endRound(self):
        # Wait for all the active players buttons to be pressed (by waiting for their threads to finish)
        if self.PlayerStatus["red"] == True:
            self.tRed.join()
            self.determineOrder(self.redTime - self.startTime, "red")

        if self.PlayerStatus["green"] == True:
            self.tGreen.join()
            self.determineOrder(self.greenTime - self.startTime, "green")

        if self.PlayerStatus["blue"] == True:
            self.tBlue.join()
            self.determineOrder(self.blueTime - self.startTime, "blue")

        if self.PlayerStatus["yellow"] == True:
            self.tYellow.join()
            self.determineOrder(self.yellowTime - self.startTime, "yellow")

        # Eliminate the slowest player (which will be the last player in the ordered player list)
        self.PlayerStatus[self.orderedPlayers[len(self.orderedPlayers) -
                                              1]] = False
        #        print( "Eliminated: {}".format(self.orderedPlayers[ len( self.orderedPlayers ) - 1]), file=sys.stderr )
        #        print( self.PlayerStatus, file=sys.stderr )

        console.movePlayer(self.orderedPlayers[len(self.orderedPlayers) - 1],
                           -console.Third)
Exemplo n.º 2
0
    def correctAnswer(self):
        gameOver = False
        self.playerScores[self.AnswerPlayer] += 1
        console.movePlayer(self.AnswerPlayer, console.Third)

        if self.playerScores[self.AnswerPlayer] == 3:
            gameOver = True

        return gameOver
Exemplo n.º 3
0
    def endRound(self):
        self.MusicPlaying = False
        self.pt.join()

        self.lastPlayer = self.currentPlayer
        self.ActivePlayers.remove(self.lastPlayer)

        console.movePlayer(self.currentPlayer,
                           -console.Third - self.pototoHeight)
Exemplo n.º 4
0
    def test(self):
        console.RedCount = console.GreenCount = console.BlueCount = console.YellowCount = 0
        self.ActualSequence.clear()

        passed = True
        count = 0
        RedPrevious = GreenPrevious = BluePrevious = YellowPrevious = 0
        #        motorIncrement = console.Full / 10 / self.CurrentLevel
        motorIncrement = console.Full / 50

        #
        # Loop to test that the next button pressed matches the expected colour.
        # Will stop once all the colours are matched, or if the button is incorrect.
        #
        while count < self.CurrentLevel and passed == True:
            time.sleep(0.1)
            if console.RedCount > RedPrevious:
                RedPrevious += 1
                self.ActualSequence.append("red")
                if self.Sequence[count] == "red":
                    count += 1
                    console.movePlayer(console.RedPlayer, motorIncrement)
                else:
                    passed = False

            if console.GreenCount > GreenPrevious:
                GreenPrevious += 1
                self.ActualSequence.append("green")
                if self.Sequence[count] == "green":
                    count += 1
                    console.movePlayer(console.GreenPlayer, motorIncrement)
                else:
                    passed = False

            if console.BlueCount > BluePrevious:
                BluePrevious += 1
                self.ActualSequence.append("blue")
                if self.Sequence[count] == "blue":
                    count += 1
                    console.movePlayer(console.BluePlayer, motorIncrement)
                else:
                    passed = False

            if console.YellowCount > YellowPrevious:
                YellowPrevious += 1
                self.ActualSequence.append("yellow")
                if self.Sequence[count] == "yellow":
                    count += 1
                    console.movePlayer(console.YellowPlayer, motorIncrement)
                else:
                    passed = False

        # Increment the level count and add another random colour to the colour sequence.
        self.CurrentLevel += 1
        self.Sequence.append(random.choice(["red", "green", "blue", "yellow"]))

        return passed
Exemplo n.º 5
0
    def startGame(self, inMin, inMax):
        self.minMusicTime = inMin
        self.maxMusicTime = inMax
        self.MusicPlaying = False
        self.lastPlayer = ""
        self.currentPlayer = ""

        console.movePlayer(console.RedPlayer, console.Third)
        console.movePlayer(console.GreenPlayer, console.Third)
        console.movePlayer(console.BluePlayer, console.Third)
        console.movePlayer(console.YellowPlayer, console.Third)
        console.waitForPlayers()

        self.ActivePlayers = [
            console.RedPlayer, console.GreenPlayer, console.BluePlayer,
            console.YellowPlayer
        ]
Exemplo n.º 6
0
    def startGame(self, inMin, inMax):
        self.minMusicTime = inMin
        self.maxMusicTime = inMax

        self.orderedPlayers = []
        self.orderedTimes = []

        console.movePlayer(console.RedPlayer, console.Third)
        console.movePlayer(console.GreenPlayer, console.Third)
        console.movePlayer(console.BluePlayer, console.Third)
        console.movePlayer(console.YellowPlayer, console.Third)
        console.waitForPlayers()

        self.PlayerStatus = {
            "red": True,
            "green": True,
            "blue": True,
            "yellow": True
        }
Exemplo n.º 7
0
    def passingThread(self):
        console.movePlayer(self.currentPlayer, self.pototoHeight)
        console.waitForPlayers()

        while self.MusicPlaying == True:
            console.waitForButton(self.currentPlayer)

            if self.MusicPlaying:
                console.movePlayer(self.currentPlayer, -self.pototoHeight)
                self.currentPlayer = self.nextPlayer(self.currentPlayer)
                console.movePlayer(self.currentPlayer, self.pototoHeight)
                console.waitForPlayers()