def __init__(self, cr):
     try:
         self.DistributedMinigame_initialized
         return
     except:
         self.DistributedMinigame_initialized = 1
     DistributedObject.DistributedObject.__init__(self, cr)
     Timer.Timer.__init__(self)
     self.headPanels = HeadPanels()
     self.finalScoreUI = FinalScoreGUI()
     self.fsm = ClassicFSM('DistributedMinigame', [
         State('start', self.enterStart, self.exitStart, ['waitForOthers']),
         State('waitForOthers', self.enterWaitForOthers,
               self.exitWaitForOthers, ['play']),
         State('play', self.enterPlay, self.exitPlay, ['gameOver']),
         State('gameOver', self.enterGameOver, self.exitGameOver, ['off']),
         State('off', self.enterOff, self.exitOff)
     ], 'off', 'off')
     self.fsm.enterInitialState()
     self.cr = cr
     self.localAv = base.localAvatar
     self.localAvId = self.localAv.doId
     self.musicPath = "phase_4/audio/bgm/trolley_song.ogg"
     self.winSfx = base.loadSfx("phase_4/audio/sfx/MG_win.ogg")
     self.loseSfx = base.loadSfx("phase_4/audio/sfx/MG_lose.ogg")
     self.prizeHigh = base.loadSfx("phase_6/audio/sfx/KART_Applause_1.ogg")
     self.prizeLow = base.loadSfx("phase_6/audio/sfx/KART_Applause_4.ogg")
     self.music = None
     self.description = ""
     self.descDialog = None
     self.winnerPrize = 0
     self.loserPrize = 0
     self.round = 0
     self.numPlayers = 0
     self.winnerMsg = "Winner!\nYou have earned: %s Jellybeans"
     self.loserMsg = "Loser!\nYou have earned: %s Jellybeans"
     self.allWinnerMsgs = [
         "Nice try!\nYou have earned: %s", "Good job!\nYou have earned: %s",
         "Way to go!\nYou have earned: %s", "Awesome!\nYou have earned: %s"
     ]
     self.timer = None
     self.timeLbl = None
     self.alertText = None
     self.alertPulse = None
     self.popupSound = None
     self.gameOverLbl = OnscreenText(text="TIME'S\nUP!",
                                     scale=0.25,
                                     font=CIGlobals.getMickeyFont(),
                                     fg=(1, 0, 0, 1))
     self.gameOverLbl.setBin('gui-popup', 60)
     self.gameOverLbl.hide()
     return