from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Welcome(Page): pass class Part1_Instructions(Page): pass class Wait(WaitPage): def after_all_players_arrive(self): self.group.random_numbers() title_text = "请等待其他参与者完成任务决策" body_text = "" class Practice1(Page): form_model = 'player' form_fields = ['practice1_entered'] class Practice1_Feedback(Page): pass class Practice2(Page): form_model = 'player' form_fields = ['practice2_entered'] class Practice2_Feedback(Page): def is_displayed(self): return self.round_number == 1 def before_next_page(self): import time # user has 5 minutes to complete as many pages as possible self.participant.vars['expiry'] = time.time() + 10 * 60 class Table1(Page): form_model = 'player' form_fields = ['table1_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table2(Page): form_model = 'player' form_fields = ['table2_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table3(Page): form_model = 'player' form_fields = ['table3_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table4(Page): form_model = 'player' form_fields = ['table4_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table5(Page): form_model = 'player' form_fields = ['table5_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table6(Page): form_model = 'player' form_fields = ['table6_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table7(Page): form_model = 'player' form_fields = ['table7_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table8(Page): form_model = 'player' form_fields = ['table8_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table9(Page): form_model = 'player' form_fields = ['table9_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table10(Page): form_model = 'player' form_fields = ['table10_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table11(Page): form_model = 'player' form_fields = ['table11_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table12(Page): form_model = 'player' form_fields = ['table12_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table13(Page): form_model = 'player' form_fields = ['table13_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table14(Page): form_model = 'player' form_fields = ['table14_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table15(Page): form_model = 'player' form_fields = ['table15_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table16(Page): form_model = 'player' form_fields = ['table16_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table17(Page): form_model = 'player' form_fields = ['table17_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table18(Page): form_model = 'player' form_fields = ['table18_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table19(Page): form_model = 'player' form_fields = ['table19_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table20(Page): form_model = 'player' form_fields = ['table20_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table21(Page): form_model = 'player' form_fields = ['table21_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table22(Page): form_model = 'player' form_fields = ['table22_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table23(Page): form_model = 'player' form_fields = ['table23_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table24(Page): form_model = 'player' form_fields = ['table24_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table25(Page): form_model = 'player' form_fields = ['table25_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table26(Page): form_model = 'player' form_fields = ['table26_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table27(Page): form_model = 'player' form_fields = ['table27_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table28(Page): form_model = 'player' form_fields = ['table28_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table29(Page): form_model = 'player' form_fields = ['table29_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table30(Page): form_model = 'player' form_fields = ['table30_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table31(Page): form_model = 'player' form_fields = ['table31_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table32(Page): form_model = 'player' form_fields = ['table32_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table33(Page): form_model = 'player' form_fields = ['table33_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table34(Page): form_model = 'player' form_fields = ['table34_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table35(Page): form_model = 'player' form_fields = ['table35_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table36(Page): form_model = 'player' form_fields = ['table36_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table37(Page): form_model = 'player' form_fields = ['table37_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table38(Page): form_model = 'player' form_fields = ['table38_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table39(Page): form_model = 'player' form_fields = ['table39_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table40(Page): form_model = 'player' form_fields = ['table40_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table41(Page): form_model = 'player' form_fields = ['table41_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table42(Page): form_model = 'player' form_fields = ['table42_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table43(Page): form_model = 'player' form_fields = ['table43_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table44(Page): form_model = 'player' form_fields = ['table44_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class Table45(Page): form_model = 'player' form_fields = ['table45_entered'] timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class table_done(Page): pass timer_text = 'Remaining Time:' def get_timeout_seconds(self): import time return self.participant.vars['expiry'] - time.time() def is_displayed(self): import time return self.participant.vars['expiry'] - time.time() > 3 class AllGroupsWaitPage(WaitPage): wait_for_all_groups = True title_text = "请等待其他参与者完成任务决策" body_text = "" class ResultsWaitPage1(WaitPage): def after_all_players_arrive(self): for p in self.group.get_players(): p.random_number() p.set_payoff() title_text = "请等待其他参与者完成任务决策" body_text = "" class ResultsWaitPage2(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() title_text = "请等待其他参与者完成任务决策" body_text = "" class Part23(Page): pass class Part2(Page): pass class Part2_choice(Page): form_model = 'player' form_fields = ['share_amount'] class Part3(Page): form_model = 'player' form_fields = ['switching_point2'] def vars_for_template(self): return dict(left_side_amounts=range(0, 110, 10), scenario_numbers=range(1, 12, 1),) class ResultsWaitPage3(WaitPage): def after_all_players_arrive(self): self.group.set_final_payoffs() title_text = "请等待其他参与者完成任务决策" body_text = "" class Results(Page): pass page_sequence = [ Welcome, Part1_Instructions, Wait, Practice1, Practice1_Feedback, Practice2, Practice2_Feedback, Table1, Table2, Table3, Table4, Table5, Table6, Table7, Table8, Table9, Table10, Table11, Table12, Table13, Table14, Table15, Table16, Table17, Table18, Table19, Table20, Table21, Table22, Table23, Table24, Table25, Table26, Table27, Table28, Table29, Table30, Table31, Table32, Table33, Table34, Table35, Table36, Table37, Table38, Table39, Table40, Table41, Table42, Table43, Table44, Table45, table_done, ResultsWaitPage1, ResultsWaitPage2, Part23, AllGroupsWaitPage, Part2, Part2_choice, AllGroupsWaitPage, Part3, ResultsWaitPage3 ]