from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Welcome(Page): def is_displayed(self): return self.round_number == 1 class Wait(WaitPage): def after_all_players_arrive(self): self.group.random_numbers() class Round(Page): pass class P1(Page): form_model = 'group' form_fields = ['color_green'] def is_displayed(self): return self.player.id_in_group == 1 and self.round_number <= 16 class WaitForP1(WaitPage): body_text = "Waiting for Player 1 to color the tiles." class P2(Page): form_model = 'group' form_fields = ['look_choice'] def is_displayed(self): return self.player.id_in_group == 2 and self.round_number <= 16 class WaitForP2(WaitPage): body_text = "Waiting for Player 2 to make a choice." class P3(Page): form_model = 'group' form_fields = ['color_green'] def is_displayed(self): return self.player.id_in_group == 2 and self.round_number > 16 class P4(Page): form_model = 'group' form_fields = ['look_choice'] def is_displayed(self): return self.player.id_in_group == 1 and self.round_number > 16 class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() body_text = "Waiting for result." class Results(Page): pass class Payment(Page): def is_displayed(self): return self.round_number ==Constants.num_rounds page_sequence = [ Welcome, Wait, P1, WaitForP1, P2, WaitForP2, P3, WaitForP1, P4, WaitForP2, ResultsWaitPage, Results, ]