from ._builtin import Page, WaitPage from .models import Constants class Welcome(Page): def is_displayed(self): return self.subsession.round_number == 1 class PartOne(Page): def is_displayed(self): return self.subsession.round_number == 1 class Rounds(Page): def is_displayed(self): return self.subsession.round_number == 1 class Periods(Page): def is_displayed(self): return self.subsession.round_number == 1 class TypeWait(Page): pass class YourType(Page): def is_displayed(self): return self.subsession.round_number == 1 def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) class Match(Page): def is_displayed(self): return self.subsession.round_number == 1 def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) class Quiz1(Page): def is_displayed(self): return self.subsession.round_number == 1 def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) form_model = 'player' form_fields = ['level', 'level2', 'rounds', 'periods', 'typechange'] class Task(Page): def is_displayed(self): return self.subsession.round_number == 1 def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) form_model = 'player' form_fields = ['taska', 'taskb', 'guessa', 'guessb'] class ChanceToWin(Page): def is_displayed(self): return self.subsession.round_number == 1 class Chance1(Page): def is_displayed(self): return self.subsession.round_number == 1 class Chance2(Page): def is_displayed(self): return self.subsession.round_number == 1 class slider(Page): def is_displayed(self): return self.subsession.round_number == 1 def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) form_model = 'player' form_fields = ['slidera', 'sliderb'] class codepen(Page): def is_displayed(self): return self.subsession.round_number == 1 form_model = 'player' form_fields = ['codepena', 'codepenb', 'codepenc', 'codepend', 'codepene', 'codepenf'] class Practice(Page): def is_displayed(self): return self.subsession.round_number == 1 class PRp1(Page): def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) form_model = 'player' form_fields = ['investment', 'Perceived_investment'] class PRp1Wait(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs_1() class PRp2(Page): def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) form_model = 'player' form_fields = ['investment_2', 'Perceived_investment_2'] class PRp2Wait(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs_2() class Results(Page): def vars_for_template(self): return dict( other_player_investment=self.player.other_player().investment ) class Results2(Page): def vars_for_template(self): return dict( other_player_investment_2=self.player.other_player().investment_2 ) class ResultsWaitPageFinal(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs_total() class Final_Results(Page): def vars_for_template(self): return { 'player_in_all_rounds_rev': reversed(self.player.in_all_rounds()), } class ResultsWaitPageHistory(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() class Result_History(Page): def is_displayed(self): if self.subsession.round_number == Constants.num_rounds: return True else: return False def vars_for_template(self): return { 'round_number': self.subsession.round_number, 'paying_round_1': self.session.vars['paying_round_1'], 'playerpay1': self.player.in_round(self.session.vars['paying_round_1']), 'total_payoff': self.participant.payoff.to_real_world_currency(self.session), #'rounded': self.subsession.quarter(self.participant.payoff_plus_participation_fee()), } class ActualRound(Page): pass page_sequence = [Welcome, PartOne, Rounds, Periods, TypeWait, YourType, Match, Quiz1, Task, ChanceToWin, Chance1, Chance2, slider, codepen, Practice, PRp1, PRp1Wait, Results, PRp2, PRp2Wait, Results2, ResultsWaitPageFinal, Final_Results, ResultsWaitPageHistory, Result_History, ActualRound ]