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 = 'my_trust' players_per_group = 2 num_rounds = 1 wealth = c(10) salvage = c(4) productivity = 3 instructions_template = 'Collateral_Game/Specific_instructions.html' class Subsession(BaseSubsession): pass class Group(BaseGroup): package_accepted = models.BooleanField(initial=False) satisfied = models.BooleanField(initial=False) rate_of_return = models.FloatField(min=0, max=Constants.productivity) collateral = models.CurrencyField(min=0, max=Constants.wealth) investment = models.CurrencyField(min=0, max=Constants.wealth) lender_return = models.CurrencyField(min=0) seize_collateral = models.BooleanField(initial=False) def lender_return_max(self): max_return = int(self.investment) * Constants.productivity return max_return class Player(BasePlayer): money = models.CurrencyField(initial=Constants.wealth)