from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'examples' players_per_group = 4 num_rounds = 1 endowment = c(10) multiplication_factor = 3 class Subsession(BaseSubsession): def creating_session(self): if self.round_number == 1: self.group_randomly() else: self.group_like_round(1) class Group(BaseGroup): def set_payoff(self): sender = self.get_player_by_role('sender') distributor = self.get_player_by_role('distributor') sent_back_amount = models.CurrencyField() sent_amount = models.CurrencyField( choices=currency_range(0, Constants.endowment, c(1)), widget=widgets.RadioSelect) total_allocations = models.CurrencyField() individual_share = models.CurrencyField() class Player(BasePlayer): def role(self): if self.id_in_group == 1: return 'distributor' else: return 'sender'