from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random from random import randrange author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'random_payment' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): def creating_session(self): for g in self.get_groups(): g.random_payment = randrange(1, 6) class Group(BaseGroup): random_payment = models.IntegerField() class Player(BasePlayer): final_payment = models.IntegerField() mpl_payoff = models.IntegerField() payment_1 = models.IntegerField() a_payoff = models.IntegerField() payment_2 = models.IntegerField() d_payoff = models.IntegerField() payment_3 = models.IntegerField() ult_payoff = models.IntegerField() payment_4 = models.IntegerField() pgg_payoff = models.IntegerField() payment_5 = models.IntegerField() trust_payoff = models.IntegerField() payment_6 = models.IntegerField() def random_pay(self): self.final_payment = getattr(self, 'payment_{}'.format(int(self.group.random_payment)))