from otree.api import * from random import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'loterie_bis' PLAYERS_PER_GROUP = None NUM_ROUNDS = 2 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): Relancer=models.BooleanField() # PAGES class MyPage(Page): form_model = "player" form_fields = ["Relancer"] @staticmethod def before_next_page(player: Player, timeout_happened): if player.Relancer==True: player.payoff=randint(0,100) @staticmethod def app_after_this_page(player, upcoming_apps): if player.round_number==2: prev_player = player.in_round(player.round_number) player.participant.argent = prev_player.payoff elif player.round_number>1: prev_player = player.in_round(player.round_number-1) player.participant.argent = prev_player.payoff if player.Relancer==False: if player.round_number!=1: prev_player = player.in_round(player.round_number - 1) player.participant.argent = prev_player.payoff return upcoming_apps[0] class ResultsWaitPage(WaitPage): pass class Results(Page): pass page_sequence = [MyPage, Results]