from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random author = 'Laura' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'pre_quiz' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): def creating_session(self): import itertools if self.round_number == 1: change_group = itertools.cycle(['group1', 'group2', 'group3', 'group4']) for p in self.get_players(): p.participant.vars['groups'] = next(change_group) if((p.participant.vars['groups']=='group1') | (p.participant.vars['groups']=='group3')): p.participant.vars['articles_left'] = 4 p.participant.vars['end'] = 0 if((p.participant.vars['groups']=='group2') | (p.participant.vars['groups']=='group4')): p.participant.vars['articles_left'] = 2 p.participant.vars['end'] = 0 if((p.participant.vars['groups']=='group3') | (p.participant.vars['groups']=='group4')): p.participant.vars['num_articles'] = p.participant.vars['articles_left'] class Group(BaseGroup): pass class Player(BasePlayer): groups = models.StringField() date = models.StringField() time_start = models.StringField() aufbau = models.IntegerField( choices=[ [1, ''], [2, ''], [3, ''], [4, ''], [5, ''], [6, ''], [7, ''], ], widget=widgets.RadioSelect ) kategorien = models.IntegerField( choices=[16, 8, 12, 4], widget=widgets.RadioSelect ) menge = models.IntegerField( choices=[12, 4, 20, 16], widget=widgets.RadioSelect )