from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants import random class finish_game(Page): form_model = 'player' form_fields = ['final_final_payoff'] def vars_for_template(self): if self.participant.vars['paying_round'] == 1: self.player.payoff_final = self.participant.vars['payoff_round1'] if self.participant.vars['paying_round'] == 2: self.player.payoff_final = self.participant.vars['payoff_round2'] if self.participant.vars['paying_round'] == 3: self.player.payoff_final = self.participant.vars['payoff_round3'] if self.participant.vars['paying_round'] == 4: self.player.payoff_final = self.participant.vars['payoff_round4'] if self.participant.vars['paying_round'] == 5: self.player.payoff_final = self.participant.vars['payoff_round5'] if self.round_number == 1: self.participant.vars['payoff_final'] = self.player.payoff_final self.player.final_final_payoff = self.participant.vars['lottery_payoff'] + self.participant.vars['payoff_final'] + 4 self.participant.vars['final_final_payoff'] = self.player.final_final_payoff return dict( final_final_payoff=self.participant.vars['final_final_payoff'], lottery_payoff=self.participant.vars['lottery_payoff'], paying_round=self.participant.vars['paying_round'], payoff_final=self.participant.vars['payoff_final'], payoff_round1=self.participant.vars['payoff_round1'], payoff_round2=self.participant.vars['payoff_round2'], payoff_round3=self.participant.vars['payoff_round3'], payoff_round4=self.participant.vars['payoff_round4'], payoff_round5=self.participant.vars['payoff_round5'], ) def js_vars(self): return { 'final_final_payoff': self.participant.vars['final_final_payoff'], 'lottery_payoff': self.participant.vars['lottery_payoff'], 'paying_round': self.participant.vars['paying_round'], 'payoff_final': self.participant.vars['payoff_final'], 'payoff_round1': self.participant.vars['payoff_round1'], 'payoff_round2': self.participant.vars['payoff_round2'], 'payoff_round3': self.participant.vars['payoff_round3'], 'payoff_round4': self.participant.vars['payoff_round4'], 'payoff_round5': self.participant.vars['payoff_round5'], } class PaymentInfo(Page): form_model = 'player' form_fields = ['paying_round', 'payoff_final'] def vars_for_template(self): if self.participant.vars['paying_round'] == 1: self.player.payoff_final = self.participant.vars['payoff_round1'] if self.participant.vars['paying_round'] == 2: self.player.payoff_final = self.participant.vars['payoff_round2'] if self.participant.vars['paying_round'] == 3: self.player.payoff_final = self.participant.vars['payoff_round3'] if self.participant.vars['paying_round'] == 4: self.player.payoff_final = self.participant.vars['payoff_round4'] if self.participant.vars['paying_round'] == 5: self.player.payoff_final = self.participant.vars['payoff_round5'] if self.round_number == 1: self.participant.vars['payoff_final'] = self.player.payoff_final return dict( final_final_payoff=self.participant.vars['final_final_payoff'], lottery_payoff=self.participant.vars['lottery_payoff'], paying_round=self.participant.vars['paying_round'], payoff_final=self.participant.vars['payoff_final'], payoff_round1=self.participant.vars['payoff_round1'], payoff_round2=self.participant.vars['payoff_round2'], payoff_round3=self.participant.vars['payoff_round3'], payoff_round4=self.participant.vars['payoff_round4'], payoff_round5=self.participant.vars['payoff_round5'], ) def js_vars(self): return { 'final_final_payoff': self.participant.vars['final_final_payoff'], 'lottery_payoff': self.participant.vars['lottery_payoff'], 'paying_round': self.participant.vars['paying_round'], 'payoff_final': self.participant.vars['payoff_final'], 'payoff_round1': self.participant.vars['payoff_round1'], 'payoff_round2': self.participant.vars['payoff_round2'], 'payoff_round3': self.participant.vars['payoff_round3'], 'payoff_round4': self.participant.vars['payoff_round4'], 'payoff_round5': self.participant.vars['payoff_round5'], } class last_page(Page): form_model = 'player' form_fields = ['final_final_payoff'] def vars_for_template(self): self.player.final_final_payoff = self.participant.vars['lottery_payoff'] + self.participant.vars['payoff_final'] + 4 self.participant.vars['final_final_payoff'] = self.player.final_final_payoff return dict( final_final_payoff = self.participant.vars['final_final_payoff'] ) def js_vars(self): return { 'final_final_payoff': self.participant.vars['final_final_payoff'] } page_sequence = [finish_game, PaymentInfo]