from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = '' class Constants(BaseConstants): name_in_url = 'VotacionAlease' players_per_group = 3 num_rounds = 1 Endowment1 = 12 Endowment2 = 9 Endowment3 = 12 class Subsession(BaseSubsession): Tratamiento = models.StringField() def creating_session(self): import random if self.round_number == 1: for group in self.get_groups(): self.Tratamiento = random.choice (["igualdad","Aricos", "Apobres", "Amedia"]) self.session.vars["Tratamiento"]=self.Tratamiento def my_method(self): pass class Group(BaseGroup): Voto1 = models.IntegerField(choices=[[5, '5'], [8, '8'], [11, '11']], label='¿Cuál deberá ser la cuota de máxima inversión posible en el proyecto extractivo?', widget=widgets.RadioSelect) Voto2 = models.IntegerField(choices=[[5, '5'], [8, '8'], [11, '11']], label='¿Cuál deberá ser la cuota de máxima inversión posible en el proyecto extractivo?', widget=widgets.RadioSelect) Voto3 = models.IntegerField(choices=[[5, '5'], [8, '8'], [11, '11']], label='¿Cuál deberá ser la cuota de máxima inversión posible en el proyecto extractivo?', widget=widgets.RadioSelect) cuota_grupo = models.LongStringField() def cuota(self): votos = [self.Voto1,self.Voto2,self.Voto3] votosR = [self.Voto1,self.Voto1,self.Voto1,self.Voto1,self.Voto1,self.Voto1,self.Voto1,self.Voto2,self.Voto3] votosP = [self.Voto3,self.Voto3,self.Voto3,self.Voto3,self.Voto3,self.Voto3,self.Voto3, self.Voto1,self.Voto2] votosM = [self.Voto2,self.Voto2,self.Voto2,self.Voto2,self.Voto2,self.Voto2,self.Voto2, self.Voto1,self.Voto3] import random if self.subsession.Tratamiento == "igualdad": return random.choice(votos) elif self.subsession.Tratamiento == "Aricos": return random.choice(votosR) elif self.subsession.Tratamiento == "Apobres": return random.choice(votosP) elif self.subsession.Tratamiento == "Amedia": return random.choice(votosM) def cuota_esc(self): self.session.vars["Resultado"]= self.cuota() self.cuota_grupo = str (self.session.vars["Resultado"]) class Player(BasePlayer): def role(self): if self.id_in_group == 1: return "rol1" if self.id_in_group == 2: return "rol2" if self.id_in_group == 3: return "rol3" def cuota(self): self.session.config["cuota"] = self.group.Resultado