from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Consent_form(Page): form_model = "player" form_fields = ["sign", "sign2", "year", "month", "day"] class Introduction0_1(Page): pass class Introduction0_2(Page): pass class Introduction0_3(Page): pass class Introduction0_4(Page): pass class Introduction0_5(Page): pass class Introduction0_6(Page): pass class Practice1(Page): form_model = "player" form_fields = [] for i in range(8): form_fields.append("p1_" +str(i+1)) #form_fields = ["p1_1","p1_2","p1_3","p1_4","p1_5","p1_6","p1_7","p1_8"] def before_next_page(self): self.player.practice1_calc() self.player.practice_point += self.player.practice1_point class Practice2(Page): form_model = "player" form_fields = [] for i in range(1): for j in range(4): form_fields.append("p2_" + str(i + 1) +"_" + str(j+1)) """ form_fields = ["p2_1_1","p2_1_2","p2_1_3","p2_1_4", "p2_2_1","p2_2_2","p2_2_3","p2_2_4",] """ def before_next_page(self): self.player.practice2_calc() self.player.practice_point += self.player.practice2_point class Result0(Page): pass # Stage1 class Introduction1(Page): pass class Stage1_1(Page): form_model = "player" form_fields = [] for i in range(10): for j in range(2): form_fields.append("s1_s1_" + str(i + 1) +"_" + str(j+1)) def before_next_page(self): self.player.stage1_s1_calc() self.player.stage1_point += self.player.stage1_s1_point class Stage1_2_1(Page): form_model = "player" form_fields = [] for i in range(6): for j in range(3): form_fields.append("s1_s2_" + str(i + 1) +"_" + str(j+1)) class Stage1_2_2(Page): form_model = "player" form_fields = [] for i in range(6): for j in range(3): form_fields.append("s1_s2_" + str(i + 7) +"_" + str(j+1)) def before_next_page(self): self.player.stage1_s2_calc() self.player.stage1_point += self.player.stage1_s2_point class Result1(Page): pass class Thanks1(Page): form_model = "player" form_fields = ["choice2"] # Stage2 (Same) class Stage2_same1(Page): form_model = "player" form_fields = [] for i in range(10): for j in range(2): form_fields.append("s2_s1_" + str(i + 1) +"_" + str(j+1)) def before_next_page(self): self.player.stage2_s1_calc() self.player.stage2_point += self.player.stage2_s1_point def is_displayed(self): return self.player.choice2 == 2 class Stage2_same2_1(Page): form_model = "player" form_fields = [] for i in range(6): for j in range(3): form_fields.append("s2_s2_" + str(i + 1) +"_" + str(j+1)) def is_displayed(self): return self.player.choice2 == 2 class Stage2_same2_2(Page): form_model = "player" form_fields = [] for i in range(6): for j in range(3): form_fields.append("s2_s2_" + str(i + 7) +"_" + str(j+1)) def is_displayed(self): return self.player.choice2 == 2 def before_next_page(self): self.player.stage2_s2_calc() self.player.stage2_point += self.player.stage2_s2_point class Result2_same(Page): def is_displayed(self): return self.player.choice2 == 2 # Stage2 (Diffirent) class Stage2_different1(Page): form_model = "player" form_fields = [] for i in range(2): for j in range(11): form_fields.append("s2_d1_" + str(i + 1) +"_" + str(j+1)) """ form_fields = ["s1_s1_1_1", "s1_s1_1_2", "s1_s1_1_3", "s1_s1_1_4", "s1_s1_1_5", "s1_s1_1_6", "s1_s1_1_7", "s1_s1_1_8", "s1_s1_1_9", "s1_s1_1_10", "s1_s1_1_11", "s1_s1_2_1", "s1_s1_2_2", "s1_s1_2_3", "s1_s1_2_4", "s1_s1_2_5", "s1_s1_2_6", "s1_s1_2_7", "s1_s1_2_8", "s1_s1_2_9", "s1_s1_2_10", "s1_s1_2_11"] """ def before_next_page(self): self.player.stage2_d1_calc() self.player.stage2_point += self.player.stage2_d1_point def is_displayed(self): return self.player.choice2 == 1 class Stage2_different2_1(Page): form_model = "player" form_fields = ["s2_d2_1_1", "s2_d2_1_2", "s2_d2_1_3", "s2_d2_2_1", "s2_d2_2_2", "s2_d2_2_3", "s2_d2_3_1", "s2_d2_3_2", "s2_d2_3_3", "s2_d2_4_1", "s2_d2_4_2", "s2_d2_4_3", "s2_d2_5_1", "s2_d2_5_2", "s2_d2_5_3" ] def is_displayed(self): return self.player.choice2 == 1 class Stage2_different2_2(Page): form_model = "player" form_fields = ["s2_d2_6_1", "s2_d2_6_2", "s2_d2_6_3", "s2_d2_6_4", "s2_d2_6_5", "s2_d2_6_6", "s2_d2_6_7", "s2_d2_6_8", "s2_d2_7_1", "s2_d2_7_2", "s2_d2_7_3", "s2_d2_7_4", "s2_d2_7_5", "s2_d2_7_6", "s2_d2_7_7", "s2_d2_7_8", "s2_d2_8_1", "s2_d2_8_2", "s2_d2_8_3", "s2_d2_8_4", "s2_d2_8_5", "s2_d2_8_6", "s2_d2_8_7", "s2_d2_8_8", "s2_d2_9_1", "s2_d2_9_2", "s2_d2_9_3", "s2_d2_9_4", "s2_d2_9_5", "s2_d2_9_6", "s2_d2_9_7", "s2_d2_9_8", "s2_d2_10_1", "s2_d2_10_2", "s2_d2_10_3", "s2_d2_10_4", "s2_d2_10_5", "s2_d2_10_6", "s2_d2_10_7", "s2_d2_10_8", ] def is_displayed(self): return self.player.choice2 == 1 def before_next_page(self): self.player.stage2_d2_calc() self.player.stage2_point += self.player.stage2_d2_point class Result2_different(Page): def is_displayed(self): return self.player.choice2 == 1 class Thanks2_same(Page): form_model = "player" form_fields = ["choice3"] def is_displayed(self): return self.player.choice2 == 2 class Thanks2_different(Page): form_model = "player" form_fields = ["choice3"] def is_displayed(self): return self.player.choice2 == 1 # Stage3 (same) class Stage3_same1(Page): form_model = "player" form_fields = [] for i in range(10): for j in range(2): form_fields.append("s3_s1_" + str(i + 1) + "_" + str(j + 1)) def is_displayed(self): return self.player.choice3 == 3 def before_next_page(self): self.player.stage3_s1_calc() self.player.stage3_point += self.player.stage3_s1_point class Stage3_same2_1(Page): form_model = "player" form_fields = [] for i in range(6): for j in range(3): form_fields.append("s3_s2_" + str(i + 1) + "_" + str(j + 1)) def is_displayed(self): return self.player.choice3 == 3 class Stage3_same2_2(Page): form_model = "player" form_fields = [] for i in range(6): for j in range(3): form_fields.append("s3_s2_" + str(i + 7) + "_" + str(j + 1)) def is_displayed(self): return self.player.choice3 == 3 def before_next_page(self): self.player.stage3_s2_calc() self.player.stage3_point += self.player.stage3_s2_point class Result3_same(Page): def is_displayed(self): return self.player.choice3 == 3 # Stage3 (Diffirent) class Stage3_different1_1(Page): form_model = "player" form_fields = [] for i in range(5): for j in range(3): form_fields.append("s3_d1_" + str(i + 1) +"_" + str(j+1)) def is_displayed(self): return self.player.choice3 == 2 class Stage3_different1_2(Page): form_model = "player" form_fields = [] for i in range(5): for j in range(3): form_fields.append("s3_d1_" + str(i + 16) +"_" + str(j+1)) def before_next_page(self): self.player.stage3_d1_calc() self.player.stage3_point += self.player.stage3_d1_point def is_displayed(self): return self.player.choice3 == 2 class Stage3_different2(Page): form_model = "player" form_fields = [] for i in range(1): for j in range(4): form_fields.append("s3_d2_" + str(i + 1) +"_" + str(j+1)) def before_next_page(self): self.player.stage3_d2_calc() self.player.stage3_point += self.player.stage3_d2_point def is_displayed(self): return self.player.choice3 == 2 class Result3_different(Page): def is_displayed(self): return self.player.choice3 == 2 # Stage3 (Hard) class Stage3_hard1_1(Page): form_model = "player" form_fields = [] for i in range(3): for j in range(8): form_fields.append("s3_h1_" + str(i + 1) +"_" + str(j+1)) def is_displayed(self): return self.player.choice3 == 1 class Stage3_hard1_2(Page): form_model = "player" form_fields = [] for i in range(3): for j in range(8): form_fields.append("s3_h1_" + str(i + 4) +"_" + str(j+1)) def is_displayed(self): return self.player.choice3 == 1 def before_next_page(self): self.player.stage3_h1_calc() self.player.stage3_point += self.player.stage3_h1_point class Result3_hard(Page): def is_displayed(self): return self.player.choice3 == 1 class Last(Page): pass page_sequence = [Consent_form, Introduction0_1, Introduction0_2, Introduction0_3, Introduction0_4, Introduction0_5, Introduction0_6, Practice1, Practice2, Result0, Introduction1, Stage1_1, Stage1_2_1, Stage1_2_2, Result1, Thanks1, Stage2_same1, Stage2_same2_1, Stage2_same2_2, Result2_same, Thanks2_same, Stage2_different1, Stage2_different2_1, Stage2_different2_2, Result2_different, Thanks2_different, Stage3_same1, Stage3_same2_1, Stage3_same2_2, Result3_same, Stage3_different1_1, Stage3_different1_2, Stage3_different2, Result3_different, Stage3_hard1_1, Stage3_hard1_2, Result3_hard, Last]