from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class Introduction1(Page): form_model = 'player' form_fields = ['message', 'generate'] class MessageWaitPage(WaitPage): pass class Guess3(Page): form_model = 'player' form_fields = ['guessp'] def is_displayed(self): return self.player.generate == 0 class Guess4(Page): form_model = 'player' form_fields = ['guessp'] def vars_for_template(self): return { 'other_player_message': self.player.other_player().message } def is_displayed(self): return self.player.generate == 1 class Decision(Page): form_model = 'player' form_fields = ['decision'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): for p in self.group.get_players(): p.set_guess_payoff() p.set_payoff() class Results(Page): def vars_for_template(self): me = self.player opponent = me.other_player() return { 'my_decision': me.decision, 'opponent_decision': opponent.decision, 'same_choice': me.decision == opponent.decision, } form_model = 'player' page_sequence = [ Introduction1, MessageWaitPage, Guess3, Guess4, Decision, ResultsWaitPage, Results ]