from otree.api import * from ._builtin import Page, WaitPage from .models import Constants class Instruction(Page): def is_displayed(self): return self.round_number == 1 class Guess(Page): form_model = 'player' form_fields = ['guess'] def before_next_page(self): self.player.result_calculator() class Results(Page): def is_displayed(self): return self.round_number == 6 def vars_for_template(self): def real_final_payoff(self): return self.player.in_round(Constants.paid_round).final_payoff if self.player.in_round(1).guess == 0: guess1 = '2 or lower' else: guess1 = '3 or higher' if self.player.in_round(2).guess == 0: guess2 = '2 or lower' else: guess2 = '3 or higher' if self.player.in_round(3).guess == 0: guess3 = '2 or lower' else: guess3 = '3 or higher' if self.player.in_round(4).guess == 0: guess4 = '2 or lower' else: guess4 = '3 or higher' if self.player.in_round(5).guess == 0: guess5 = '2 or lower' else: guess5 = '3 or higher' if self.player.in_round(6).guess == 0: guess6 = '2 or lower' else: guess6 = '3 or higher' return { 'guess_1': guess1, 'guess_2': guess2, 'guess_3': guess3, 'guess_4': guess4, 'guess_5': guess5, 'guess_6': guess6, 'Final_Payoff': real_final_payoff(self) } page_sequence = [Instruction, Guess, Results]