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): players = [p for p in self.group.get_players()] for i in players: i.rand2 = str(38) i.rand3 = str(702) i.rand4 = str(7203) i.rand5 = str(67210) i.rand6 = str(514768) i.rand7 = str(6792548) i.rand8 = str(75208256) i.rand9 = str(728347831) i.rand10 = str(5034647862) i.rand11 = str(84528932306) i.rand12 = str(420150949736) i.rand13 = str(4763968085053) i.rand14 = str(74076145783937) i.stop = 1 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): timeout_seconds = 3 def is_displayed(self): return True class Ans1(Page): timeout_seconds = 10 def is_displayed(self): return True def before_next_page(self): if self.player.rand2 != self.player.ans2: self.player.stop = 0 self.player.length = 0 else: self.player.length = 2 form_model = "player" form_fields = ["ans2"] class Q2(Page): timeout_seconds = 4 def is_displayed(self): return self.player.stop == 1 class Ans2(Page): timeout_seconds = 10 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand3 != self.player.ans3: self.player.stop = 0 self.player.length = 2 else: self.player.length = 3 form_model = "player" form_fields = ["ans3"] class Q3(Page): timeout_seconds = 5 def is_displayed(self): return self.player.stop == 1 class Ans3(Page): timeout_seconds = 10 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand4 != self.player.ans4: self.player.stop = 0 self.player.length = 3 else: self.player.length = 4 form_model = 'player' form_fields = ['ans4'] class Q4(Page): timeout_seconds = 6 def is_displayed(self): return self.player.stop == 1 class Ans4(Page): timeout_seconds = 10 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand5 != self.player.ans5: self.player.stop = 0 self.player.length = 4 else: self.player.length = 5 form_model = 'player' form_fields = ['ans5'] class Q5(Page): timeout_seconds = 7 def is_displayed(self): return self.player.stop == 1 class Ans5(Page): timeout_seconds = 12 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand6 != self.player.ans6: self.player.stop = 0 self.player.length = 5 else: self.player.length = 6 form_model = 'player' form_fields = ['ans6'] class Q6(Page): timeout_seconds = 8 def is_displayed(self): return self.player.stop == 1 class Ans6(Page): timeout_seconds = 14 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand7 != self.player.ans7: self.player.stop = 0 self.player.length = 6 else: self.player.length = 7 form_model = 'player' form_fields = ['ans7'] class Q7(Page): timeout_seconds = 9 def is_displayed(self): return self.player.stop == 1 class Ans7(Page): timeout_seconds = 16 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand8 != self.player.ans8: self.player.stop = 0 self.player.length = 7 else: self.player.length = 8 form_model = 'player' form_fields = ['ans8'] class Q8(Page): timeout_seconds = 10 def is_displayed(self): return self.player.stop == 1 class Ans8(Page): timeout_seconds = 18 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand9 != self.player.ans9: self.player.stop = 0 self.player.length = 8 else: self.player.length = 9 form_model = 'player' form_fields = ['ans9'] class Q9(Page): timeout_seconds = 11 def is_displayed(self): return self.player.stop == 1 class Ans9(Page): timeout_seconds = 20 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand10 != self.player.ans10: self.player.stop = 0 self.player.length = 9 else: self.player.length = 10 form_model = 'player' form_fields = ['ans10'] class Q10(Page): timeout_seconds = 12 def is_displayed(self): return self.player.stop == 1 class Ans10(Page): timeout_seconds = 22 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand11 != self.player.ans11: self.player.stop = 0 self.player.length = 10 else: self.player.length = 11 form_model = 'player' form_fields = ['ans11'] class Q11(Page): timeout_seconds = 13 def is_displayed(self): return self.player.stop == 1 class Ans11(Page): timeout_seconds = 24 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand12 != self.player.ans12: self.player.stop = 0 self.player.length = 11 else: self.player.length = 12 form_model = 'player' form_fields = ['ans12'] class Q12(Page): timeout_seconds = 14 def is_displayed(self): return self.player.stop == 1 class Ans12(Page): timeout_seconds = 26 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand13 != self.player.ans13: self.player.stop = 0 self.player.length = 12 else: self.player.length = 13 form_model = 'player' form_fields = ['ans13'] class Q13(Page): timeout_seconds = 15 def is_displayed(self): return self.player.stop == 1 class Ans13(Page): timeout_seconds = 28 def is_displayed(self): return self.player.stop == 1 def before_next_page(self): if self.player.rand14 != self.player.ans14: self.player.stop = 0 self.player.length = 13 else: self.player.length = 14 form_model = 'player' form_fields = ['ans14'] class Results(Page): def is_displayed(self): return True form_model = 'player' form_field = ['length'] page_sequence = [ Start, Q1, Ans1, Q2, Ans2, Q3, Ans3, Q4, Ans4, Q5, Ans5, Q6, Ans6, Q7, Ans7, Q8, Ans8, Q9, Ans9, Q10, Ans10, Q11, Ans11, Q12, Ans12, Q13, Ans13, Results, ]