from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants def check_timeout(self): if self.timeout_happened: self.participant.PARTNER_ALIVE = False def is_displayed(self): return (self.participant.PARTNER_ALIVE == True) def isnot_displayed(self): return (self.participant.PARTNER_ALIVE == False) class Welcome(Page): timeout_seconds = Constants.time_waiting before_next_page = check_timeout class Instructions(Page): is_displayed = is_displayed timeout_seconds = Constants.time_waiting before_next_page = check_timeout class Start(Page): is_displayed=is_displayed timeout_seconds = 20 before_next_page = check_timeout class SecondWait(WaitPage): is_displayed=is_displayed after_all_players_arrive = 'check_partner_status' class Countdown(Page): is_displayed = is_displayed timeout_seconds = 3 class Task1(Page): is_displayed = is_displayed timeout_seconds = Constants.task_time form_model = 'player' form_fields = ['zeros1'] class Task2(Page): is_displayed = is_displayed timeout_seconds = Constants.task_time form_model = 'player' form_fields = ['zeros2'] class Task3(Page): is_displayed = is_displayed timeout_seconds = Constants.task_time form_model = 'player' form_fields = ['zeros3'] class Task4(Page): is_displayed = is_displayed timeout_seconds = Constants.task_time form_model = 'player' form_fields = ['zeros4'] class ResultsWaitPage(WaitPage): is_displayed = is_displayed after_all_players_arrive = 'set_payoffs' class Wait(WaitPage): # group_by_arrival_time = True after_all_players_arrive = 'check_partner_status' body_text = "waiting for the other participant" class Results(Page): is_displayed = is_displayed timeout_seconds = Constants.time_waiting before_next_page = check_timeout def before_next_page(self): group_id=self.group.id_in_subsession self.participant.vars['group_id']=group_id class Failed(Page): is_displayed=isnot_displayed form_model='player' form_fields=['OpenQ1'] class Thanks(Page): is_displayed=isnot_displayed page_sequence = [Welcome, Instructions, Wait, Countdown, Task1, Task2, Task3, Task4, ResultsWaitPage, Results,Failed, Thanks]