from otree.api import * import random doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'result_eval' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): pay_info1 = models.FloatField() pay_info2 = models.FloatField() pay_task = models.IntegerField() pay_name = models.StringField() race1 = models.IntegerField( label = 'How many applicants (out of 12) do you think are White?' ) race2 = models.IntegerField( label='How many applicants (out of 12) do you think are Black?' ) race3 = models.IntegerField( label='How many applicants (out of 12) do you think are Asian?' ) # PAGES class MyPage(Page): form_model = 'player' form_fields = ['race1', 'race2', 'race3'] def before_next_page(player: Player, timeout_happened): player.pay_info1 = player.participant.pay_info1 player.pay_info2 = player.participant.pay_info2 player.pay_name = player.participant.pay_name player.pay_task= player.participant.pay_task tmp = 20 * abs(player.pay_info1 - player.pay_info2) player.payoff = max(0, 10 * cu(350 - tmp)) class Results(Page): pass class ResultsLab(Page): pass page_sequence = [MyPage, Results]