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 Part3(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 Types(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 TypeWait(Page): def is_displayed(self): return self.subsession.round_number == 1 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 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 ) 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 def vars_for_template(self): return dict( other_player_role=self.player.other_player().role ) class Try1(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 Chance2(Page): def is_displayed(self): return self.subsession.round_number == 1 class Try2(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 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 class Payoff(Page): def is_displayed(self): return self.subsession.round_number == 1 class Start(Page): def is_displayed(self): return self.subsession.round_number == 1 class StartWait(WaitPage): def is_displayed(self): return self.subsession.round_number == 1 class R1(Page): def vars_for_template(self): return dict( other_player_role=self.player.other_player().role, actual_round_number=self.subsession.round_number - 3, ) form_model = 'player' form_fields = ['investment', 'Perceived_investment'] class PRp1Wait(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs_1() class Results(Page): def vars_for_template(self): return dict( other_player_investment=self.player.other_player().investment, actual_round_number=self.subsession.round_number - 3, ) class R2(Page): def vars_for_template(self): return dict( other_player_role=self.player.other_player().role, actual_round_number=self.subsession.round_number - 3, ) 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 Results2(Page): def vars_for_template(self): return dict( other_player_investment_2=self.player.other_player().investment_2, actual_round_number=self.subsession.round_number - 3, ) 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 Payment(Page): def is_displayed(self): return self.subsession.round_number == Constants.num_rounds def vars_for_template(self): return { 'playerpay1': self.player.in_round(7).payoff_total, 'currencypay1': self.player.in_round(7).payoff_total.to_real_world_currency(self.session), 'x' : self.participant.payoff } page_sequence = [ Welcome, Part3, Rounds, Task, ChanceToWin, Types, TypeWait, YourType, Chance1, Try1, Chance2, Try2, codepen, Payoff, Start, StartWait, R1, PRp1Wait, Results, R2, PRp2Wait, Results2, ResultsWaitPageFinal, Final_Results, Payment ]