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','5','6','7','8','9','10'] num_rounds = len(tasks) class Subsession(BaseSubsession): 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() birthplace = models.CharField() parts = models.CharField() 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)