from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import random class Start(Page): def is_displayed(self): return True def before_next_page(self): import time # user has 5 minutes to complete as many pages as possible self.participant.vars['expiry'] = time.time() + 5*60 class Q1(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q1'] class Q2(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q2'] class Q3(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q3'] class Q4(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q4'] class Q5(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q5'] class Q6(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q6'] class Q7(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q7'] class Q8(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q8'] class Q9(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q9'] class Q10(Page): def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): return self.get_timeout_seconds() > 3 form_model = 'player' form_fields = ['q10'] def before_next_page(self): import time # user has 5 minutes to complete as many pages as possible self.participant.vars['expiry'] = time.time() + 5*60 class Results(Page): def is_displayed(self): players = [p for p in self.group.get_players()] for i in players: i.correctnumbers = 0 if i.q1 == 3: i.correctnumbers +=1 if i.q2 == 2: i.correctnumbers +=1 if i.q3 == 4: i.correctnumbers +=1 if i.q4 == 5: i.correctnumbers +=1 if i.q5 == 1: i.correctnumbers +=1 if i.q6 == 5: i.correctnumbers +=1 if i.q7 == 1: i.correctnumbers +=1 if i.q8 == 2: i.correctnumbers +=1 if i.q9 == 5: i.correctnumbers +=1 if i.q10 == 6: i.correctnumbers +=1 return True form_model = 'player' form_field = ['correctnumbers'] page_sequence = [ Start, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Results, ]