from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) author = 'Chanjoo Lee' doc = """ Ultimatum Game """ class Constants(BaseConstants): name_in_url = 'ultimatum_game' players_per_group = 2 num_rounds = 1 endowment=100 class Subsession(BaseSubsession): def creating_session(self): groups=self.get_groups() for group in groups: p1=group.get_player_by_id(1) p2=group.get_player_by_id(2) p1.proposer=1 p2.proposer=0 class Group(BaseGroup): offer=models.IntegerField() accept=models.IntegerField() def results_calculator(self): proposer=self.get_player_by_id(1) responder=self.get_player_by_id(2) if self.accept: proposer.final_payoff=Constants.endowment-self.offer responder.final_payoff=self.offer else: proposer.final_payoff=0 responder.final_payoff=0 class Player(BasePlayer): proposer=models.IntegerField() final_payoff=models.IntegerField()