from otree.api import * c = cu doc = '' class C(BaseConstants): NAME_IN_URL = 'puzzle' PLAYERS_PER_GROUP = None NUM_ROUNDS = 20 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): moveon = models.BooleanField(choices=[[True, 'Yes'], [False, 'No']], label='Do you want to continue to the round?') round_pay = models.CurrencyField(label='Payment Earned if Round is Completed') c_pay = models.CurrencyField(label='Cumulative Payment Earned (So Far)') done = models.StringField(initial='Done', widget=widgets.RadioSelect) def my_function(player: Player): pass class Round_start(Page): form_model = 'player' form_fields = ['moveon', 'round_pay', 'c_pay'] class Build(Page): form_model = 'player' form_fields = ['done'] class EC(Page): form_model = 'player' class Round_quit(Page): form_model = 'player' form_fields = ['c_pay'] page_sequence = [Round_start, Build, EC, Round_quit]