from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): def is_displayed(self): return self.round_number == 1 class Question_1(Page): form_model = 'player' form_fields = ['Question1'] def is_displayed(self): return self.round_number == 1 def before_next_page(self): other = self.player.get_others_in_group() if self.player.Question1 == 1: self.player.payoff += 85/3 for o in other: o.payoff += 85/3 elif self.player.Question1 == 2: self.player.payoff += 85/3 for o in other: o.payoff += 76/3 elif self.player.Question1 == 3: self.player.payoff += 85/3 for o in other: o.payoff += 68/3 elif self.player.Question1 == 4: self.player.payoff += 85/3 for o in other: o.payoff += 59/3 elif self.player.Question1 == 5: self.player.payoff += 85/3 for o in other: o.payoff += 50/3 elif self.player.Question1 == 6: self.player.payoff += 85/3 for o in other: o.payoff += 41/3 elif self.player.Question1 == 7: self.player.payoff += 85/3 for o in other: o.payoff += 33/3 elif self.player.Question1 == 8: self.player.payoff += 85/3 for o in other: o.payoff += 24/3 elif self.player.Question1 == 9: self.player.payoff += 85/3 for o in other: o.payoff += 15/3 else: pass class Question_2(Page): form_model = 'player' form_fields = ['Question2'] def is_displayed(self): return self.round_number == 2 def before_next_page(self): other = self.player.get_others_in_group() if self.player.Question2 == 1: self.player.payoff += 85/3 for o in other: o.payoff += 15/3 elif self.player.Question2 == 2: self.player.payoff += 87/3 for o in other: o.payoff += 19/3 elif self.player.Question2 == 3: self.player.payoff += 89/3 for o in other: o.payoff += 24/3 elif self.player.Question2 == 4: self.player.payoff += 91/3 for o in other: o.payoff += 28/3 elif self.player.Question2 == 5: self.player.payoff += 93/3 for o in other: o.payoff += 33/3 elif self.player.Question2 == 6: self.player.payoff += 94/3 for o in other: o.payoff += 37/3 elif self.player.Question2 == 7: self.player.payoff += 96/3 for o in other: o.payoff += 41/3 elif self.player.Question2 == 8: self.player.payoff += 98/3 for o in other: o.payoff += 46/3 elif self.player.Question2 == 9: self.player.payoff += 100/3 for o in other: o.payoff += 50/3 else: pass class Question_3(Page): form_model = 'player' form_fields = ['Question3'] def is_displayed(self): return self.round_number == 3 def before_next_page(self): other = self.player.get_others_in_group() if self.player.Question3 == 1: self.player.payoff += 50/3 for o in other: o.payoff += 100/3 elif self.player.Question3 == 2: self.player.payoff += 54/3 for o in other: o.payoff += 98/3 elif self.player.Question3 == 3: self.player.payoff += 59/3 for o in other: o.payoff += 96/3 elif self.player.Question3 == 4: self.player.payoff += 63/3 for o in other: o.payoff += 94/3 elif self.player.Question3 == 5: self.player.payoff += 68/3 for o in other: o.payoff += 93/3 elif self.player.Question3 == 6: self.player.payoff += 72/3 for o in other: o.payoff += 91/3 elif self.player.Question3 == 7: self.player.payoff += 76/3 for o in other: o.payoff += 89/3 elif self.player.Question3 == 8: self.player.payoff += 81/3 for o in other: o.payoff += 87/3 elif self.player.Question3 == 9: self.player.payoff += 85/3 for o in other: o.payoff += 85/3 else: pass class Question_4(Page): form_model = 'player' form_fields = ['Question4'] def is_displayed(self): return self.round_number == 4 def before_next_page(self): other = self.player.get_others_in_group() if self.player.Question4 == 1: self.player.payoff += 50/3 for o in other: o.payoff += 100/3 elif self.player.Question4 == 2: self.player.payoff += 54/3 for o in other: o.payoff += 89/3 elif self.player.Question4 == 3: self.player.payoff += 59/3 for o in other: o.payoff += 79/3 elif self.player.Question4 == 4: self.player.payoff += 63/3 for o in other: o.payoff += 68/3 elif self.player.Question4 == 5: self.player.payoff += 68/3 for o in other: o.payoff += 58/3 elif self.player.Question4 == 6: self.player.payoff += 72/3 for o in other: o.payoff += 47/3 elif self.player.Question4 == 7: self.player.payoff += 76/3 for o in other: o.payoff += 36/3 elif self.player.Question4 == 8: self.player.payoff += 81/3 for o in other: o.payoff += 26/3 elif self.player.Question4 == 9: self.player.payoff += 85/3 for o in other: o.payoff += 15/3 else: pass class Question_5(Page): form_model = 'player' form_fields = ['Question5'] def is_displayed(self): return self.round_number == 5 def before_next_page(self): other = self.player.get_others_in_group() if self.player.Question5 == 1: self.player.payoff += 100/3 for o in other: o.payoff += 50/3 elif self.player.Question5 == 2: self.player.payoff += 94/3 for o in other: o.payoff += 56/3 elif self.player.Question5 == 3: self.player.payoff += 88/3 for o in other: o.payoff += 63/3 elif self.player.Question5 == 4: self.player.payoff += 81/3 for o in other: o.payoff += 69/3 elif self.player.Question5 == 5: self.player.payoff += 75/3 for o in other: o.payoff += 75/3 elif self.player.Question5 == 6: self.player.payoff += 69/3 for o in other: o.payoff += 81/3 elif self.player.Question5 == 7: self.player.payoff += 63/3 for o in other: o.payoff += 88/3 elif self.player.Question5 == 8: self.player.payoff += 56/3 for o in other: o.payoff += 94/3 elif self.player.Question5 == 9: self.player.payoff += 50/3 for o in other: o.payoff += 100/3 else: pass class Question_6(Page): form_model = 'player' form_fields = ['Question6'] def is_displayed(self): return self.round_number == 6 def before_next_page(self): other = self.player.get_others_in_group() if self.player.Question6 == 1: self.player.payoff += 100/3 for o in other: o.payoff += 50/3 elif self.player.Question6 == 2: self.player.payoff += 98/3 for o in other: o.payoff += 54/3 elif self.player.Question6 == 3: self.player.payoff += 96/3 for o in other: o.payoff += 59/3 elif self.player.Question6 == 4: self.player.payoff += 94/3 for o in other: o.payoff += 63/3 elif self.player.Question6 == 5: self.player.payoff += 93/3 for o in other: o.payoff += 68/3 elif self.player.Question6 == 6: self.player.payoff += 91/3 for o in other: o.payoff += 72/3 elif self.player.Question6 == 7: self.player.payoff += 89/3 for o in other: o.payoff += 76/3 elif self.player.Question6 == 8: self.player.payoff += 87/3 for o in other: o.payoff += 81/3 elif self.player.Question6 == 9: self.player.payoff += 85/3 for o in other: o.payoff += 85/3 else: pass class QuestionWaitPage(WaitPage): def after_all_players_arrive(self): pass class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): pass class Results(Page): pass page_sequence = [ Introduction, Question_1, QuestionWaitPage, Question_2, QuestionWaitPage, Question_3, QuestionWaitPage, Question_4, QuestionWaitPage, Question_5, QuestionWaitPage, Question_6, ResultsWaitPage, ]