from ._builtin import Page, WaitPage from .models import Constants class WaitAllPage(WaitPage): wait_for_all_groups = True def after_all_players_arrive(self): self.subsession.do_my_shuffle() # def is_displayed(self): # return (self.player.is_alive()) #class FastPage(Page): # timeout_seconds = 0 # def before_next_page(self): # if (self.player.participant.id_in_session == 1): # self.subsession.do_my_shuffle() # def is_displayed(self): # return (self.player.is_alive()) #class WaitAllPage2(WaitPage): # wait_for_all_groups = True # def is_displayed(self): # return (self.player.is_alive()) class Introduction(Page): timeout_seconds = 100 def is_displayed(self): return (self.round_number == 1) and(self.player.is_alive()) class Decide(Page): form_model = 'player' form_fields = ['units'] def is_displayed(self): return self.player.is_played() class ResultsWaitPage(WaitPage): title_text = "Пожалуйста, подождите" body_text = "Ожидайте пока Ваш оппонент примет решение." def after_all_players_arrive(self): self.group.set_payoffs() def is_displayed(self): return self.player.is_played() class Results(Page): timeout_seconds = 60 def vars_for_template(self): return dict(other_player_units=self.player.other_player().units) def is_displayed(self): return self.player.is_played() class LastRaundWait(WaitPage): title_text = "Пожалуйста, подождите финальных результатов" body_text = "" wait_for_all_groups = True def is_displayed(self): return (self.round_number == Constants.num_rounds) class TotalResult(Page): def vars_for_template(self): return self.subsession.vars_for_admin_report() def is_displayed(self): return (self.round_number == Constants.num_rounds) and self.player.is_alive() page_sequence = [ WaitAllPage, # FastPage, # WaitAllPage2, Introduction, Decide, ResultsWaitPage, Results, LastRaundWait, TotalResult ]