from otree.api import Currency as c, currency_range from . import models from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): def is_displayed(self): return self.subsession.round_number == 1 class FirstChoice(Page): def is_displayed(self): return self.player.color == 'red' form_model = models.Player form_fields = ['Choice_1'] class SecondChoice(Page): form_model = models.Player form_fields = ['Choice_2'] class ThirdChoice(Page): def is_displayed(self): return self.player.color == 'blue' form_model = models.Player form_fields = ['Choice_1'] class WaitForStats(WaitPage): wait_for_all_groups = True class Results(Page): def vars_for_template(self): everyone = [ { 'Option A': 0, 'Option B': 0 } for i in range(2) ] for participant in self.session.get_participants(): for player in participant.get_players(): everyone[0][player.get_Choice_1_display()] += 1 everyone[1][player.get_Choice_2_display()] += 1 you = [ self.player.get_Choice_1_display(), self.player.get_Choice_2_display(), ] return { 'everyone': everyone, 'you': you } page_sequence = [ Introduction, FirstChoice, SecondChoice, ThirdChoice, WaitForStats, Results ]