from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'rocket_ship_S6' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): startTimes = models.LongStringField(initial='') gameOverTimes = models.LongStringField(initial='') pauseTimes = models.LongStringField(initial='') countSpacePressed = models.IntegerField(initial=0) highScore = models.IntegerField(initial=0) pass # PAGES class instructions(Page): pass class rocket_ship(Page): timeout_seconds = 3600 @staticmethod def live_method(player: Player, data): start_event = "start" game_over_event = "game_over" score_event = "score" pause_event = "pause" space_event = "space" event = data['event'] value = data['value'] if event == start_event: player.startTimes += f'{value},' if event == game_over_event: player.gameOverTimes += f'{value},' elif event == pause_event: player.pauseTimes += f'{value},' elif event == space_event: player.countSpacePressed += 1 elif event == score_event: if value > player.highScore: player.highScore = value # print(f'starts: {player.startTimes}', end=' | ') # print(f'game overs: {player.gameOverTimes}', end=' | ') # print(f'count pause pressed: {player.pauseTimes}', end=' | ') # print(f'count space pressed: {player.countSpacePressed}', end=' | ') # print(f'high score: {player.highScore}') class End(Page): pass page_sequence = [instructions, rocket_ship, End]