from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class EI(Page): def is_dispalyed(self): return self.round_number ==1 class Instructions(Page): def is_displayed(self): return self.round_number ==1 class Test(Page): """Test of understanding of the instructions""" def is_displayed(self): return self.round_number ==1 class Q1Test(Page): form_model = 'player' form_fields = ['Q1Test'] def is_displayed(self): return self.round_number ==1 def before_next_page(self): if self.player.Q1Test == "62, 80, 98": self.player.payoff = self.player.payoff + 2 self.player.introduction_payoff = self.player.introduction_payoff + 2 class Q1TestResult(Page): form_model = 'player' def is_displayed(self): return self.round_number ==1 class Q2Test(Page): form_model = 'player' form_fields = ['Q2Test'] def is_displayed(self): return self.round_number ==1 def before_next_page(self): if self.player.Q2Test == "50, 80, 110": self.player.payoff = self.player.payoff + 2 self.player.introduction_payoff = self.player.introduction_payoff + 2 class Q2TestResult(Page): form_model = 'player' def is_displayed(self): return self.round_number ==1 class Q3Test(Page): form_model = 'player' form_fields = ['Q3Test'] def is_displayed(self): return self.round_number ==1 def before_next_page(self): if self.player.Q3Test == "56, 80, 104": self.player.payoff = self.player.payoff + 2 self.player.introduction_payoff = self.player.introduction_payoff + 2 class Q3TestResult(Page): form_model = 'player' def is_displayed(self): return self.round_number ==1 class Q4Test(Page): form_model = 'player' form_fields = ['Q4Test'] def is_displayed(self): return self.round_number ==1 def before_next_page(self): if self.player.Q4Test == "80, 80, 80": self.player.payoff = self.player.payoff + 2 self.player.introduction_payoff = self.player.introduction_payoff + 2 class Q4TestResult(Page): form_model = 'player' def is_displayed(self): return self.round_number ==1 class Q5Test(Page): form_model = 'player' form_fields = ['Q5Test'] def is_displayed(self): return self.round_number ==1 def before_next_page(self): if self.player.Q5Test == "65, 80, 95": self.player.payoff = self.player.payoff + 2 self.player.introduction_payoff = self.player.introduction_payoff + 2 class Q5TestResult(Page): form_model = 'player' def is_displayed(self): return self.round_number ==1 class WarmUp(Page): """Warm up 90second math game""" def is_displayed(self): return self.round_number ==1 def before_next_page(self): import time self.participant.vars['expiry'] = time.time() + 10 class Q1Warm(Page): form_model = 'player' form_fields = ['Q1'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.round_number ==1 def before_next_page(self): if self.player.Q1 == 3: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q2Warm(Page): form_model = 'player' form_fields = ['Q2'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q2 == 3: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q3Warm(Page): form_model = 'player' form_fields = ['Q3'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q3 == 1: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q4Warm(Page): form_model = 'player' form_fields = ['Q4'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q4 == 3: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q5Warm(Page): form_model = 'player' form_fields = ['Q5'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q5 == 2: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q6Warm(Page): form_model = 'player' form_fields = ['Q6'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q6 == 2: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q7Warm(Page): form_model = 'player' form_fields = ['Q7'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q7 == 3: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q8Warm(Page): form_model = 'player' form_fields = ['Q8'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q8 == 1: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q9Warm(Page): form_model = 'player' form_fields = ['Q9'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q9 == 4: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q10Warm(Page): form_model = 'player' form_fields = ['Q10'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q10 == 1: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q11Warm(Page): form_model = 'player' form_fields = ['Q11'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q11 == 3: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q12Warm(Page): form_model = 'player' form_fields = ['Q12'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q12 == 4: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q13Warm(Page): form_model = 'player' form_fields = ['Q13'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q13 == 2: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q14Warm(Page): form_model = 'player' form_fields = ['Q14'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q14 == 3: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q15Warm(Page): form_model = 'player' form_fields = ['Q15'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q15 == 2: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q16Warm(Page): form_model = 'player' form_fields = ['Q16'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q16 == 2: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q17Warm(Page): form_model = 'player' form_fields = ['Q17'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q17 == 4: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q18Warm(Page): form_model = 'player' form_fields = ['Q18'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q18 == 1: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q19Warm(Page): form_model = 'player' form_fields = ['Q19'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q19 == 2: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class Q20Warm(Page): form_model = 'player' form_fields = ['Q20'] def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.round_number ==1 and self.get_timeout_seconds() > 1 def before_next_page(self): if self.player.Q20 == 2: self.player.payoff = self.player.payoff +1 self.player.Practicescore = self.player.Practicescore +1 self.player.introduction_payoff = self.player.introduction_payoff + 1 class WarmUpMathResults(Page): def is_displayed(self): return self.round_number ==1 def before_next_page(self): self.participant.vars['introduction_payoffs'] = self.player.introduction_payoff page_sequence = [ EI, Instructions, Test, Q1Test, Q1TestResult, Q2Test, Q2TestResult, Q3Test, Q3TestResult, Q4Test, Q4TestResult, Q5Test, Q5TestResult, WarmUp, Q1Warm, Q2Warm, Q3Warm, Q4Warm, Q5Warm, Q6Warm, Q7Warm, Q8Warm, Q9Warm, Q10Warm, Q11Warm, Q12Warm, Q13Warm, Q14Warm, Q15Warm, Q16Warm, Q17Warm, Q18Warm, Q19Warm, Q20Warm, WarmUpMathResults, ]