from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Grouping(WaitPage): def after_all_players_arrive(self): self.subsession.creating_new_rounds() class WaitPage0(WaitPage): body_text = "다른 그룹멤버들이 거래를 진행하는 동안 기다려주십시오." def is_displayed(self): return (self.player.is_playing ==0) and (self.player.round_played <=3) class Offer3players(Page): form_model = "player" form_fields = ["choose_target", "offer_amount"] def is_displayed(self): return (self.group.is_finished == 0) and (self.player.is_playing == 1) and (self.group.two_players_remain ==0) class Offer2players(Page): #########내용 수정하기 form_model = "player" form_fields = ["offer_amount"] def is_displayed(self): return (self.group.is_finished == 0) and (self.player.is_playing == 1) and (self.group.two_players_remain ==1) class WaitPage1(WaitPage): def after_all_players_arrive(self): self.group.set_proposer() def is_displayed(self): return self.player.round_played <=3 class Decision(Page): def is_displayed(self): return self.player.is_target == 1 form_model = "player" form_fields = ["accept"] class WaitPage2(WaitPage): def after_all_players_arrive(self): self.group.deer_random() if self.group.deer_remain ==1: self.group.item_update() self.group.set_payoffs() def is_displayed(self): return self.player.round_played <=3 class ResultsDeerRemains(Page): def is_displayed(self): return (self.group.deer_remain == 1) and (self.player.round_played <=3) class ResultsDeerDisappears(Page): def is_displayed(self): return (self.group.deer_remain == 0) and (self.player.round_played <=3) class Results(Page): def is_displayed(self): return self.round_number == Constants.num_rounds page_sequence = [ Grouping, Offer3players, Offer2players, WaitPage1, Decision, WaitPage2, ResultsDeerRemains, ResultsDeerDisappears, Results ]