from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): form_model = 'player' form_fields = [] def is_displayed(self): return self.player.round_number == 1 class Decision1(Page): form_model = 'player' form_fields = ['Choice_B'] def is_displayed(self): return self.player.round_number == 1 class ResultsWaitPage(WaitPage): body_text = "Waiting for the other participant to decide." after_all_players_arrive = 'set_payoffs' def is_displayed(self): return self.player.round_number == 1 class Results1(Page): def is_displayed(self): return self.player.round_number == 1 def vars_for_template(self): return dict(other_player_choice_B=self.player.other_player().Choice_B ) class Decision2(Page): form_model = 'player' form_fields = ['Choice_M'] def is_displayed(self): return self.player.round_number == 2 class ResultsWaitPage2(WaitPage): body_text = "Waiting for the other participant to decide." after_all_players_arrive = 'set_payoffs' def is_displayed(self): return self.player.round_number == 2 class Results2(Page): def is_displayed(self): return self.player.round_number == 2 def vars_for_template(self): return dict(other_player_choice_M=self.player.other_player().Choice_M ) class Decision3(Page): form_model = 'player' form_fields = ['Choice_E'] def is_displayed(self): return self.player.round_number == 3 class ResultsWaitPage3(WaitPage): body_text = "Waiting for the other participant to decide." after_all_players_arrive = 'set_payoffs' def is_displayed(self): return self.player.round_number == 3 def before_next_page(self): self.player.gain_final = self.player.in_round(1).gain_1 + self.player.in_round(2).gain_2+ self.player.in_round(3).gain_3 class Results3(Page): def is_displayed(self): return self.player.round_number == 3 def vars_for_template(self): return dict(other_player_choice_M=self.player.other_player().Choice_E ) class Results(Page): form_model = 'player' form_fields = [] def is_displayed(self): return self.player.round_number == 3 def vars_for_template(self): return dict(Gain_1=self.player.in_round(1).gain_1, Gain_2=self.player.in_round(2).gain_2, Gain_3=self.player.in_round(3).gain_3, Choice_1=self.player.in_round(1).Choice_B, Choice_2=self.player.in_round(2).Choice_M, Choice_3=self.player.in_round(3).Choice_E, other_player_choice_1=self.player.other_player().in_round(1).Choice_B, other_player_choice_2=self.player.other_player().in_round(2).Choice_M, other_player_choice_3=self.player.other_player().in_round(3).Choice_E, Gain_final=self.player.gain_final) page_sequence = [Introduction, Decision1, ResultsWaitPage, Decision2, ResultsWaitPage2, Decision3, ResultsWaitPage3, Results]