def __init__(self): settings.init() self.gameMode = None self.gameModeSelect = GameModeSelect() self.Hardware = Hardware() self.running = False self.startButtonPressed = False self.leftFlipperButtonPressed = False self.rightFlipperButtonPressed = False # This loop runs always and has 2 states game selection state and a game running state. while (True): triggeredRelayElements = [] # If running is true than the programm enters the game state. if (self.running): activeSensorElements = self.Hardware.checkSensorElements() triggeredRelayElements = self.gameMode.checkRules( activeSensorElements) self.Hardware.activateRelayElements(triggeredRelayElements) if (self.gameMode.gameStatus == False): self.running = False self.gameModeSelect = GameModeSelect() else: triggeredRelayElements = self.Hardware.checkSensorElements() if settings.startButton in triggeredRelayElements: # startbutton W.I.P if (self.startButtonPressed == False): self.startButtonPressed = True if (self.gameModeSelect.nextStep()): selectedGame = self.gameModeSelect.getSelectedGameMode( ) self.gameMode = GameMode(settings.generalGameRules, selectedGame[0], selectedGame[1]) self.running = True else: self.startButtonPressed = False if settings.leftFlipperButton in triggeredRelayElements: if (self.leftFlipperButtonPressed == False): self.gameModeSelect.decrementField() self.leftFlipperButtonPressed = True else: self.leftFlipperButtonPressed = False if settings.rightFlipperButton in triggeredRelayElements: if (self.rightFlipperButtonPressed == False): self.gameModeSelect.incrementField() self.rightFlipperButtonPressed = True else: self.rightFlipperButtonPressed = False
def appStarted(mode): mode.offsetChangeOn = True mode.drawGuideOn = False mode.trackerOn = False mode.wallsOn = False mode.dataOn = False mode.tailOn = True mode.shadowOn = True mode.handleOn = True mode.diff = 2 mode.scores = [] with open('scoreboard.txt') as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') for row in csv_reader: mode.scores.append([row[0], int(row[1])]) mode.splashScreenMode = SplashScreenMode() mode.gameMode = GameMode() mode.helpMode = HelpMode() mode.settingsMode = SettingsMode() mode.setActiveMode(mode.splashScreenMode) mode.timerDelay = 50
def appStarted(app): app.splashScreenMode=SplashScreenMode() app.loadFileMode=LoadFileMode() app.gameMode=GameMode() app.setActiveMode(app.splashScreenMode)
def keyPressed(mode, event): mode.app.gameMode=GameMode() if event.key=="Space": mode.app.setActiveMode(mode.app.gameMode) if event.key=="r": mode.app.setActiveMode(mode.app.splashScreenMode)
def appStarted(mode): mode.app.gameMode=GameMode()