from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class Introduction(Page): def is_displayed(self): return self.round_number == 1 class StartWaitPage(WaitPage): def is_displayed(self): return self.round_number == 1 body_text = "他の実験参加者が参加するまでお待ちください。" class Matching(Page): def is_displayed(self): return self.round_number == 1 timeout_seconds = 20 class NextWaitPage(WaitPage): body_text = "他の実験参加者が確認をしています。" after_all_players_arrive = 'compute' class InitialPoints(Page): timeout_seconds = 20 class Select(Page): timeout_seconds = 20 class RuleSelect_Group1(Page): def is_displayed(self): if self.player.id_in_group == 1 and self.group.is_select == 1: flag = True elif self.player.id_in_group == 2 and self.group.is_select == 2: flag = True else: flag = False return flag form_model = 'group' form_fields = ['group1_rule'] timeout_seconds = 120 class RuleCheck(Page): form_model = 'player' form_fields = ['rule_check'] timeout_seconds = 20 def is_displayed(self): if self.player.id_in_group == 1 and self.group.is_select == 1: flag = True elif self.player.id_in_group == 2 and self.group.is_select == 2: flag = True else: flag = False return flag class RuleReSelect_Group1(Page): def is_displayed(self): if self.player.id_in_group == 1 and self.group.is_select == 1 and self.player.rule_check == '0': flag = True elif self.player.id_in_group == 2 and self.group.is_select == 2 and self.player.rule_check == '0': flag = True else: flag = False return flag form_model = 'group' form_fields = ['group1_rule'] timeout_seconds = 30 class RuleSelectWaitPage(WaitPage): body_text = "勝利時(宝の獲得時)の宝の分配ルールを選択しています。しばらくお待ちください。" class RuleOpen(Page): timeout_seconds = 20 class Contribute(Page): form_model = 'player' form_fields = ['contribution'] timeout_seconds = 120 class ContributeCheck(Page): form_model = 'player' form_fields = ['contribution_check'] timeout_seconds = 20 class ContributeReSelect(Page): def is_displayed(self): return self.player.contribution_check == '0' form_model = 'player' form_fields = ['contribution'] timeout_seconds = 30 class ResultsWaitPage(WaitPage): body_text = "他の実験参加者が投資額を決定するまでお待ちください。" after_all_players_arrive = 'set_payoffs' class Results(Page): timeout_seconds = 30 class Fin(Page): pass page_sequence = [ Introduction, StartWaitPage, Matching, NextWaitPage, InitialPoints, Select, RuleSelect_Group1, RuleCheck, RuleReSelect_Group1, RuleSelectWaitPage,RuleOpen, Contribute, ContributeCheck, ContributeReSelect, ResultsWaitPage, Results, Fin] #確認用 #page_sequence = [ StartWaitPage, Start, Contribute, ResultsWaitPage, Results] #page_sequence = [Introduction]