from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'demographics2' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass def make_field(label): return models.IntegerField( choices=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], label=label, widget=widgets.RadioSelect, ) class Player(BasePlayer): q1 = models.IntegerField(label="1. Age in years: ", min=0) q2 = models.IntegerField(label="2. What gender do you identify with?", choices=[ [1, 'Male'], [2, 'Female'], [3, 'Non-binary'], [4, 'Other'], ], widget=widgets.RadioSelect ) q3 = models.BooleanField(label="3. Do you play videogames?") q4_choice1 = models.BooleanField(blank=True) q4_choice2 = models.BooleanField(blank=True) q4_choice3 = models.BooleanField(blank=True) q4_choice4 = models.BooleanField(blank=True) q5 = models.IntegerField(label="5. How many hours do you spend playing video games weekly? ", min=0) q6 = models.LongStringField(label="6. Please list the games you play the most often (2-3 games or more if applicable): ", blank=True) q7_task1 = make_field("Tower of London (Task 1)") q7_task2 = make_field("5 Minutes Math Challenge! (Task 2)") q7_task3 = make_field("Rocket Ship Game (Task 3)") q7_task4 = make_field("Travelling Salesperson Task (Task 4)") q7_task5 = make_field("Knapsack Problem (Task 5)") q8_task1 = make_field("Tower of London (Task 1)") q8_task2 = make_field("5 Minutes Math Challenge! (Task 2)") q8_task3 = make_field("Rocket Ship Game (Task 3)") q8_task4 = make_field("Travelling Salesperson Task (Task 4)") q8_task5 = make_field("Knapsack Problem (Task 5)") # PAGES class index(Page): form_model = 'player' form_fields = ['q1', 'q2', 'q3', 'q4_choice1', 'q4_choice2', 'q4_choice3', 'q4_choice4', 'q5', 'q6', 'q7_task1', 'q7_task2', 'q7_task3', 'q7_task4', 'q7_task5', 'q8_task1', 'q8_task2', 'q8_task3', 'q8_task4', 'q8_task5'] class endPage(Page): pass page_sequence = [index, endPage]