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)
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
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)
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
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 ]
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 }
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()