from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'dohme_lotterie' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 A_HIGH_MONEY = 10 A_LOW_MONEY = 8 B_HIGH_MONEY = 19.75 B_LOW_MONEY = 0.5 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass def generate_question_scale(id = 1,percentage = 10, a_high = C.A_HIGH_MONEY, a_low = C.A_LOW_MONEY, b_high = C.B_HIGH_MONEY, b_low = C.B_LOW_MONEY): choices = [ [False, f'Lotterie A: mit {percentage}% Wahrscheinlichkeit {a_high}€ und mit {100-percentage}% Wahrscheinlichkeit {a_low}€'], [True, f'Lotterie B: mit {percentage}% Wahrscheinlichkeit {b_high}€ und mit {100-percentage}% Wahrscheinlichkeit {b_low}€.'] ] return models.BooleanField(label=f"{id}.",choices=choices, widget=widgets.RadioSelectHorizontal) class Player(BasePlayer): ten = generate_question_scale(1, 10) twenty = generate_question_scale(2, 20) thirty = generate_question_scale(3, 30) fourty = generate_question_scale(4, 40) fifty = generate_question_scale(5, 50) sixty = generate_question_scale(6, 60) seventy = generate_question_scale(7, 70) eighty = generate_question_scale(8, 80) ninety = generate_question_scale(9, 90) hundred = generate_question_scale(10, 100) class IntroPart1(Page): pass class Part1(Page): form_model = 'player' form_fields = ['ten','twenty','thirty','fourty','fifty','sixty','seventy','eighty','ninety','hundred'] class ResultsWaitPage(WaitPage): pass class Results(Page): pass page_sequence = [IntroPart1, Part1,ResultsWaitPage, Results]