from typing import Any from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) class Constants(BaseConstants): name_in_url = 'trust' players_per_group = None num_rounds = 1 endowment = 10 multiplier = 3 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): is_p1 = models.BooleanField() partner_id = models.IntegerField() # for p1 offer = models.CurrencyField(max = Constants.endowment) # for p2 response = models.CurrencyField() def get_partner(self): return self.group.get_player_by_id(self.partner_id)