from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): pass class Offer(Page): form_model = 'player' form_fields = ['kept'] class ResultsWaitPage(WaitPage): after_all_players_arrive = 'set_payoffs' class Results(Page): def vars_for_template(self): me = self.player opponent = me.other_player() return dict( my_decision=me.kept, opponent_decision=opponent.kept, offer=Constants.endowment - opponent.kept, ) def before_next_page(self): pay_d = self.player.payoff self.player.participant.vars['d_payoff'] = pay_d page_sequence = [Introduction, Offer, ResultsWaitPage, Results]