from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Contribute1(Page): form_model = 'group' form_fields = ['contribution1'] timeout_seconds = 20 def is_displayed(self): return self.player.id_in_group == 1 def vars_for_template(self): return dict(Resultado=self.session.vars["Resultado2"]) class Contribute2(Page): form_model = 'group' form_fields = ['contribution2'] timeout_seconds = 20 def is_displayed(self): return self.player.id_in_group == 2 def vars_for_template(self): return dict(Resultado=self.session.vars["Resultado2"]) class Contribute3(Page): form_model = 'group' form_fields = ['contribution3'] timeout_seconds = 20 def is_displayed(self): return self.player.id_in_group == 3 def vars_for_template(self): return dict(Resultado=self.session.vars["Resultado2"]) class ResultsWaitPage(WaitPage): body_text = 'Waiting for other participants to contribute.' def after_all_players_arrive(self): self.group.set_payoffs() class Resultspage(Page): form_model = 'player' timeout_seconds = 12 def vars_for_template(self): if self.player.id_in_group == 1: return { "PagoA": self.group.contribution1 * 12, "PagoB": (12 - self.group.contribution1) * 5, "Banco": (12 - self.group.contribution1), "Ext": (self.group.contribution2 + self.group.contribution3), "Costo" : (self.group.contribution2 + self.group.contribution3) * 5 } if self.player.id_in_group == 2: return { "PagoA": self.group.contribution2 * 12, "PagoB": (9 - self.group.contribution2) * 5, "Banco": (9 - self.group.contribution2), "Ext": (self.group.contribution1 + self.group.contribution3), "Costo" : (self.group.contribution1 + self.group.contribution3) * 5 } if self.player.id_in_group == 3: return { "PagoA": self.group.contribution3 * 12, "PagoB": (6 - self.group.contribution3) * 5, "Banco":(6 - self.group.contribution3), "Ext": (self.group.contribution1 + self.group.contribution2), "Costo" : (self.group.contribution1 + self.group.contribution2) * 5 } def before_next_page(self): if self.round_number == 3: self.participant.vars["app4"]= self.player.payoff_app() self.player.payoff_app4 = str (self.participant.vars["app4"]) page_sequence = [Contribute1, Contribute2, Contribute3, ResultsWaitPage, Resultspage]