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' def vars_for_template(self): #self.participant.vars['payoff_round4'] = self.participant.vars['final_payoff_choice'] if self.participant.vars['treatment_order'][0] == 1 and self.participant.vars['treatment_order'][1] == 2 and self.participant.vars['treatment_order'][2] == 3: self.participant.vars['payoff_round1'] = self.participant.vars['final_payoff_no_distraction'] self.participant.vars['payoff_round2'] = self.participant.vars['final_payoff_podcast'] self.participant.vars['payoff_round3'] = self.participant.vars['final_payoff_forced'] if self.participant.vars['treatment_order'][0] == 1 and self.participant.vars['treatment_order'][1] == 3 and self.participant.vars['treatment_order'][2] == 2: self.participant.vars['payoff_round1'] = self.participant.vars['final_payoff_no_distraction'] self.participant.vars['payoff_round2'] = self.participant.vars['final_payoff_forced'] self.participant.vars['payoff_round3'] = self.participant.vars['final_payoff_podcast'] if self.participant.vars['treatment_order'][0] == 2 and self.participant.vars['treatment_order'][1] == 3 and self.participant.vars['treatment_order'][2] == 1: self.participant.vars['payoff_round1'] = self.participant.vars['final_payoff_podcast'] self.participant.vars['payoff_round2'] = self.participant.vars['final_payoff_forced'] self.participant.vars['payoff_round3'] = self.participant.vars['final_payoff_no_distraction'] if self.participant.vars['treatment_order'][0] == 2 and self.participant.vars['treatment_order'][1] == 1 and self.participant.vars['treatment_order'][2] == 3: self.participant.vars['payoff_round1'] = self.participant.vars['final_payoff_podcast'] self.participant.vars['payoff_round2'] = self.participant.vars['final_payoff_no_distraction'] self.participant.vars['payoff_round3'] = self.participant.vars['final_payoff_forced'] if self.participant.vars['treatment_order'][0] == 3 and self.participant.vars['treatment_order'][1] == 2 and self.participant.vars['treatment_order'][2] == 1: self.participant.vars['payoff_round1'] = self.participant.vars['final_payoff_forced'] self.participant.vars['payoff_round2'] = self.participant.vars['final_payoff_podcast'] self.participant.vars['payoff_round3'] = self.participant.vars['final_payoff_no_distraction'] if self.participant.vars['treatment_order'][0] == 3 and self.participant.vars['treatment_order'][1] == 1 and self.participant.vars['treatment_order'][2] == 2: self.participant.vars['payoff_round1'] = self.participant.vars['final_payoff_forced'] self.participant.vars['payoff_round2'] = self.participant.vars['final_payoff_no_distraction'] self.participant.vars['payoff_round3'] = self.participant.vars['final_payoff_podcast'] 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['final_payoff_choice'] 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'] + 7 self.participant.vars['final_final_payoff'] = self.player.final_final_payoff class PaymentInfo(Page): form_model = 'player' def vars_for_template(self): 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['final_payoff_choice'], ) 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['final_payoff_choice'], } page_sequence = [finish_game, PaymentInfo]