from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): pass class Game(Page): def is_displayed(self): return self.player.color == 'blue' class Form(Page): form_model = "player" form_fields = "outcome" class Survey(Page): form_model = "player" def is_displayed(self): return self.player.color == 'blue' def get_form_fields(self): if self.player.color == 'blue': return ['age', 'gender', 'level', 'semester', 'major', 'income', 'income_source', 'risk', 'physical', 'health', 'birth'] class Charity(Page): form_model = "player" form_fields = ["charity"] class Reporting(Page): form_model = "player" form_fields = ["outcome"] def is_displayed(self): return self.player.color == 'blue' def before_next_page(self): if self.player.outcome == 0: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 1: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 2: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 3: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 4: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 5: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 6: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 7: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 8: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 9: self.participant.payoff = self.player.outcome + 3 if self.player.outcome == 10: self.participant.payoff = self.player.outcome + 3 class Survey2(Page): form_model = "player" def is_displayed(self): return self.player.color == 'red' class Survey3(Page): form_model = "player" def is_displayed(self): return self.player.color == 'yellow' class Survey4(Page): form_model = "player" def is_displayed(self): return self.player.color == 'green' class Survey5(Page): form_model = "player" def is_displayed(self): return self.player.color == 'orange' class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): pass class Results(Page): def is_displayed(self): return self.player.color == 'blue' class End(Page): form_model = "player" form_fields = ["HEXACO1", "HEXACO2", "HEXACO3", "HEXACO4", "HEXACO5", "HEXACO6", "HEXACO7", "HEXACO8", "HEXACO9"] page_sequence = [Introduction, Survey, Survey2, Survey3, Survey4, Survey5, Game, Reporting, End, Charity]