from otree.api import * c = cu doc = '' class Constants(BaseConstants): name_in_url = 'VotacionRicos3' players_per_group = 3 num_rounds = 1 Endowment1 = 12 Endowment2 = 9 Endowment3 = 6 instructiones_template = 'VotacionRicos3/instructiones.html' def creating_session(subsession): session = subsession.session if subsession.round_number == 1: for group in subsession.get_groups(): subsession.Tratamiento = "Aricos" session.vars["Tratamiento"]=subsession.Tratamiento def my_method(subsession): pass class Subsession(BaseSubsession): Tratamiento = models.StringField() creating_session = creating_session my_method = my_method def cuota(group): votosR = [group.Voto1,group.Voto1,group.Voto1,group.Voto1,group.Voto1,group.Voto1,group.Voto1,group.Voto2,group.Voto3] import random cuota = random.choice(votosR) if cuota != 0: return cuota elif cuota == 0: return 11 def cuota_esc(group): session = group.session session.vars["Resultado3"]= group.cuota() group.cuota_grupo = str (session.vars["Resultado3"]) class Group(BaseGroup): Voto1 = models.IntegerField(choices=[[5, '5 fichas.'], [8, '8 fichas.'], [11, '11 fichas.']], initial=11, label='¿Cuál deberá ser la cuota máxima de inversión en la actividad extractiva?', widget=widgets.RadioSelect) Voto2 = models.IntegerField(choices=[[5, '5 fichas.'], [8, '8 fichas.'], [11, '11 fichas.']], initial=11, label='¿Cuál deberá ser la cuota máxima de inversión en la actividad extractiva?', widget=widgets.RadioSelect) Voto3 = models.IntegerField(choices=[[5, '5 fichas.'], [8, '8 fichas.'], [11, '11 fichas.']], initial=11, label='¿Cuál deberá ser la cuota máxima de inversión en la actividad extractiva?', widget=widgets.RadioSelect) cuota_grupo = models.LongStringField() cuota = cuota cuota_esc = cuota_esc def role(player): group = player.group if player.id_in_group == 1: return "Jugador X" if player.id_in_group == 2: return "Jugador Y" if player.id_in_group == 3: return "Jugador Z" def cuota(player): session = player.session group = player.group session.config["cuota"] = group.Resultado class Player(BasePlayer): role = role cuota = cuota class Instruccionesvotacion(Page): form_model = 'player' timeout_seconds = 20 @staticmethod def vars_for_template(player): return dict(rol =player.role()) class Votacion1(Page): form_model = 'group' form_fields = ['Voto1'] timeout_seconds = 20 @staticmethod def is_displayed(player): group = player.group return player.id_in_group == 1 class Votacion2(Page): form_model = 'group' form_fields = ['Voto2'] timeout_seconds = 20 @staticmethod def is_displayed(player): group = player.group return player.id_in_group == 2 class Votacion3(Page): form_model = 'group' form_fields = ['Voto3'] timeout_seconds = 20 @staticmethod def is_displayed(player): group = player.group return player.id_in_group == 3 class MyWaitPage(WaitPage): after_all_players_arrive = 'cuota' class MyWaitPage2(WaitPage): after_all_players_arrive = 'cuota_esc' class Resultado(Page): form_model = 'player' timeout_seconds = 12 page_sequence = [Instruccionesvotacion, Votacion1, Votacion2, Votacion3, MyWaitPage, MyWaitPage2, Resultado]