from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, Page, WaitPage ) cu = c doc = 'Otree version of stickman_walk' class Constants(BaseConstants): name_in_url = 'stickman_walk' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass def set_payoff(player): player.payoff = 5 - ((player.gap1 + player.gap2 + player.gap3 + player.gap4 + player.gap5 + 24) * 0.05) class Player(BasePlayer): consent_accept = models.StringField(blank=True) charity = models.StringField(blank=True) volunteer_match = models.StringField(blank=True) donation_reci = models.StringField(blank=True) money_after_donation = models.StringField(blank=True) time_to_pay = models.StringField(blank=True) unconditionp1_donate = models.FloatField(label='', max=5, min=0) PracticeCon0 = models.FloatField(label='If the Volunteer guessed $0', max=5, min=0) PracticeCon1 = models.FloatField(label='If the Volunteer guessed $1', max=5, min=0) PracticeCon2 = models.FloatField(label='If the Volunteer guessed $2', max=5, min=0) PracticeCon3 = models.FloatField(label='If the Volunteer guessed $3', max=5, min=0) PracticeCon4 = models.FloatField(label='If the Volunteer guessed $4', max=5, min=0) PracticeCon5 = models.FloatField(label='If the Volunteer guessed $5', max=5, min=0) what_asked_volunteer = models.StringField(blank=True) what_is_payment3 = models.StringField(blank=True) what_is_payment2 = models.StringField(blank=True) Con0 = models.FloatField(label='If the Volunteer guessed $0', max=5, min=0) Con1 = models.FloatField(label='If the Volunteer guessed $1', max=5, min=0) Con2 = models.FloatField(label='If the Volunteer guessed $2', max=5, min=0) Con3 = models.FloatField(label='If the Volunteer guessed $3', max=5, min=0) Con4 = models.FloatField(label='If the Volunteer guessed $4', max=5, min=0) Con5 = models.FloatField(label='If the Volunteer guessed $5', max=5, min=0) Preferred = models.StringField(blank=True) MTurkID = models.StringField(blank=True) Highest_edu = models.StringField(blank=True) Gender = models.StringField(blank=True) Age = models.StringField(blank=True) charity_donation = models.StringField(blank=True) accept_higher_bonus = models.StringField(blank=True) causes_believe_in = models.StringField(blank=True) unable_to_no = models.StringField(blank=True) favored_reason = models.LongStringField(blank=True) rating = models.StringField(blank=True) suggestion = models.LongStringField(blank=True) gap1 = models.IntegerField(blank=True) gap2 = models.IntegerField(blank=True) gap3 = models.IntegerField(blank=True) gap4 = models.IntegerField(blank=True) gap5 = models.IntegerField(blank=True) completion_code = models.StringField(blank=True) why_highlight = models.StringField(blank=True) set_payoff = set_payoff