from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = '' class Constants(BaseConstants): name_in_url = 'ultimatum' players_per_group = 2 num_rounds = 1 Endowment = c(100) class Subsession(BaseSubsession): pass class Group(BaseGroup): Offer = models.CurrencyField(label='What do you offer?', max=Constants.Endowment, min=0) Reply = models.BooleanField(choices=[[True, 'Yes'], [False, 'No']], label='Do you accept the offer?') def set_payoffs(self): p1 = self.get_player_by_id(1) p2 = self.get_player_by_id(2) if self.Reply==True: p1.payoff = Constants.Endowment - self.Offer p2.payoff = self.Offer else: p1.payoff=0 p2.payoff=0 class Player(BasePlayer): pass