from otree.api import Currency as c, currency_range 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 Chance(Page): def is_displayed(self): return self.subsession.round_number == 1 class Questions(Page): def is_displayed(self): return self.subsession.round_number == 1 class Start(WaitPage): 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 Payment(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']), 'currency_payoff': self.participant.payoff.to_real_world_currency(self.session), #'rounded': self.subsession.quarter(self.participant.payoff_plus_participation_fee()), } page_sequence = [Welcome, PartOne, Rounds, TypeWait, YourType, Match, Task, ChanceToWin, Chance, Questions, Start, PRp1, PRp1Wait, Results, PRp2, PRp2Wait, Results2, ResultsWaitPageFinal, Final_Results, ResultsWaitPageHistory, Payment]