from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Instruction(Page): def is_displayed(self): #ラウンド一回目の時だけ表示 return self.subsession.round_number == 1 class ContributionWaitPage(WaitPage): pass class ChatWaitPage(WaitPage): pass class Chattime(Page): timeout_seconds = 120 #ページの時間制限 def is_displayed(self): #ラウンド一回目の時だけ表示 return self.subsession.round_number == Constants.num_rounds class Multiplier(Page): def is_displayed(self): #ラウンド真ん中の時だけ表示 return self.subsession.round_number == Constants.add_round class Contribute(Page): form_model = 'player' form_fields = ['contribution'] def vars_for_template(self): return dict( multiplier = self.group.multiplier ) class ResultsWaitPage(WaitPage): after_all_players_arrive = 'set_payoffs' class Results(Page): timeout_seconds = 60 #ページの時間制限 def is_displayed(self): return self.subsession.round_number < 100 class Questionnair(Page): form_model = 'player' form_fields = [ 'q_group', 'q_number', 'q_contribution1_way', 'q_contribution1_reason', 'q_contribution2_way', 'q_contribution2_reason', 'q_chat_active', 'q_chat_interest', 'q_chat_change', 'q_chat_lie', 'q_chat_way', 'q_chat_effect', ] def is_displayed(self): #ラウンド最後の時だけ表示 return self.subsession.round_number == Constants.num_rounds class End(Page): def is_displayed(self): #実験が終わったことを知らせるページもラウンドのみ表示 return self.subsession.round_number == Constants.num_rounds page_sequence = [Instruction, Multiplier, ContributionWaitPage, Contribute, ResultsWaitPage, Results, ChatWaitPage, Chattime, Questionnair, End]