from otree.api import ( models, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, ) import _random class Constants(BaseConstants): name_in_url = 'Partial_1' players_per_group = 2 num_rounds = 5 # Payoff values Row_Payoff = [[10, 5, 0], [6, 4, 2], [18, 12, 6]] Column_Payoff = [[10, 7, 4], [2, 8, 5], [0, 3, 6]] class Subsession(BaseSubsession): def creating_session(self): self.group_randomly(fixed_id_in_group = True) class Group(BaseGroup): # Player decision variables player1_decision = models.StringField(choices=['U', 'M', "D"],label="") player2_decision = models.StringField(choices=['L', 'N','R'],label="") class Player(BasePlayer): round_payoff = models.CurrencyField() other_payoff = models.CurrencyField() def role(self): if self.id_in_group == 1: return 'Row Player' else: return 'Column Player'