from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random class Constants(BaseConstants): name_in_url = 'payment_info' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): def creating_session(self): if self.round_number == 1: self.session.vars["payment_f"] = 999999 class Group(BaseGroup): pass class Player(BasePlayer): mon_p1 = models.FloatField() mon_p2 = models.FloatField() total_not_rounded = models.FloatField() total_payment = models.FloatField() def monetary_payoff(self): self.mon_p1 = self.participant.vars['payoff1'] self.mon_p2 = self.participant.vars['payoff2'] self.total_not_rounded = round((self.mon_p1 + self.mon_p2)/2, 2) self.total_payment = round(self.total_not_rounded * 4)/4 self.participant.vars["final_payment"] = self.total_payment