from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) class Constants(BaseConstants): name_in_url = 'real_effort_numbers' players_per_group = 6 num_groups = 6 num_rounds = 20 payment_per_correct_answer = c(5) endowment_1 = c(100) endowment_2 = c(0) endowment_3 = c(-100) payment_round_control = c(0) payment_round_treatment = c(5) class Subsession(BaseSubsession): pass class Group(BaseGroup): @staticmethod def creating_session(subsession): if subsession.round_number == 1: for player in subsession.get_groups(): participant = player.participant participant.groups = random.choice([False]) class Player(BasePlayer): tran = models.BooleanField(default=1) number_entered = models.IntegerField() sum_of_of_numbers = models.IntegerField()