from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'my_survey' players_per_group = None tasks = ['1','2','3','4'] num_rounds = len(tasks) class Subsession(BaseSubsession): pass # def creating_session(self): # if self.round_number == 1: # for p in self.get_players(): # round_numbers = list(range(1, C.NUM_ROUNDS+1)) # random.shuffle(round_numbers) # p.participant.vars['task_rounds'] = dict(zip(C.TASKS, round_numbers)) class Group(BaseGroup): pass class Player(BasePlayer): name = models.CharField() age = models.PositiveIntegerField() choice1 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice2 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice3 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice4 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice5 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice6 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice7 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice8 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice9 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice10 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice11 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice12 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice13 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice14 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice15 = models.BooleanField(widget=widgets.RadioSelectHorizontal) choice16 = models.BooleanField(widget=widgets.RadioSelectHorizontal)