from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Task(Page): form_model = "player" form_fields = ["task_choice"] class Task1(Page): form_model = "player" def is_displayed(self): return self.player.task_choice == 2 def before_next_page(self): self.player.payout = self.player.payout + 7 self.player.payoff = self.player.payoff + 7 class Task2_Treatment1(Page): form_model = "player" def is_displayed(self): return self.player.task_choice == 1 and ( self.player.id_in_group == 1 or self.player.id_in_group == 5 or self.player.id_in_group == 9 or self.player.id_in_group == 13 or self.player.id_in_group == 17 or self.player.id_in_group == 21 or self.player.id_in_group == 25 or self.player.id_in_group == 29 or self.player.id_in_group == 33 or self.player.id_in_group == 37 or self.player.id_in_group == 41 or self.player.id_in_group == 45 or self.player.id_in_group == 49 or self.player.id_in_group == 53 or self.player.id_in_group == 57 or self.player.id_in_group == 61 or self.player.id_in_group == 65 or self.player.id_in_group == 69 or self.player.id_in_group == 73 or self.player.id_in_group == 77 or self.player.id_in_group == 81 or self.player.id_in_group == 85 or self.player.id_in_group == 89 or self.player.id_in_group == 93 or self.player.id_in_group == 97 or self.player.id_in_group == 101 or self.player.id_in_group == 105 or self.player.id_in_group == 109 or self.player.id_in_group == 113 or self.player.id_in_group == 117 ) def before_next_page(self): if self.subsession.round_number == 1: self.player.payoff = self.player.payoff + 6 if self.subsession.round_number == 2: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 3: self.player.payoff = self.player.payoff + 8 if self.subsession.round_number == 4: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 5: self.player.payoff = self.player.payoff + 6 if self.subsession.round_number == 6: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 7: self.player.payoff = self.player.payoff + 8 if self.subsession.round_number == 8: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 9: self.player.payoff = self.player.payoff + 6 if self.subsession.round_number == 10: self.player.payoff = self.player.payoff + 7 class Task2_Treatment2(Page): form_model = "player" def is_displayed(self): return self.player.task_choice == 1 and ( self.player.id_in_group == 2 or self.player.id_in_group == 6 or self.player.id_in_group == 10 or self.player.id_in_group == 14 or self.player.id_in_group == 18 or self.player.id_in_group == 22 or self.player.id_in_group == 26 or self.player.id_in_group == 30 or self.player.id_in_group == 34 or self.player.id_in_group == 38 or self.player.id_in_group == 42 or self.player.id_in_group == 46 or self.player.id_in_group == 50 or self.player.id_in_group == 54 or self.player.id_in_group == 58 or self.player.id_in_group == 62 or self.player.id_in_group == 66 or self.player.id_in_group == 70 or self.player.id_in_group == 74 or self.player.id_in_group == 78 or self.player.id_in_group == 82 or self.player.id_in_group == 86 or self.player.id_in_group == 90 or self.player.id_in_group == 94 or self.player.id_in_group == 98 or self.player.id_in_group == 102 or self.player.id_in_group == 106 or self.player.id_in_group == 110 or self.player.id_in_group == 114 or self.player.id_in_group == 118 ) def before_next_page(self): if self.subsession.round_number == 1: self.player.payoff = self.player.payoff + 8 if self.subsession.round_number == 2: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 3: self.player.payoff = self.player.payoff + 6 if self.subsession.round_number == 4: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 5: self.player.payoff = self.player.payoff + 8 if self.subsession.round_number == 6: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 7: self.player.payoff = self.player.payoff + 6 if self.subsession.round_number == 8: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 9: self.player.payoff = self.player.payoff + 8 if self.subsession.round_number == 10: self.player.payoff = self.player.payoff + 7 class Task2_Treatment3(Page): form_model = "player" def is_displayed(self): return self.player.task_choice == 1 and ( self.player.id_in_group == 3 or self.player.id_in_group == 7 or self.player.id_in_group == 11 or self.player.id_in_group == 15 or self.player.id_in_group == 19 or self.player.id_in_group == 23 or self.player.id_in_group == 27 or self.player.id_in_group == 31 or self.player.id_in_group == 35 or self.player.id_in_group == 39 or self.player.id_in_group == 43 or self.player.id_in_group == 47 or self.player.id_in_group == 51 or self.player.id_in_group == 55 or self.player.id_in_group == 59 or self.player.id_in_group == 63 or self.player.id_in_group == 67 or self.player.id_in_group == 71 or self.player.id_in_group == 75 or self.player.id_in_group == 79 or self.player.id_in_group == 83 or self.player.id_in_group == 87 or self.player.id_in_group == 91 or self.player.id_in_group == 95 or self.player.id_in_group == 99 or self.player.id_in_group == 103 or self.player.id_in_group == 107 or self.player.id_in_group == 111 or self.player.id_in_group == 115 or self.player.id_in_group == 119 ) def before_next_page(self): if self.subsession.round_number == 1: self.player.payoff = self.player.payoff + 10 if self.subsession.round_number == 2: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 3: self.player.payoff = self.player.payoff + 4 if self.subsession.round_number == 4: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 5: self.player.payoff = self.player.payoff + 10 if self.subsession.round_number == 6: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 7: self.player.payoff = self.player.payoff + 4 if self.subsession.round_number == 8: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 9: self.player.payoff = self.player.payoff + 10 if self.subsession.round_number == 10: self.player.payoff = self.player.payoff + 7 class Task2_Treatment4(Page): form_model = "player" def is_displayed(self): return self.player.task_choice == 1 and ( self.player.id_in_group == 4 or self.player.id_in_group == 8 or self.player.id_in_group == 12 or self.player.id_in_group == 16 or self.player.id_in_group == 20 or self.player.id_in_group == 24 or self.player.id_in_group == 28 or self.player.id_in_group == 32 or self.player.id_in_group == 36 or self.player.id_in_group == 40 or self.player.id_in_group == 44 or self.player.id_in_group == 48 or self.player.id_in_group == 52 or self.player.id_in_group == 56 or self.player.id_in_group == 60 or self.player.id_in_group == 64 or self.player.id_in_group == 68 or self.player.id_in_group == 72 or self.player.id_in_group == 76 or self.player.id_in_group == 80 or self.player.id_in_group == 84 or self.player.id_in_group == 88 or self.player.id_in_group == 92 or self.player.id_in_group == 96 or self.player.id_in_group == 100 or self.player.id_in_group == 104 or self.player.id_in_group == 108 or self.player.id_in_group == 112 or self.player.id_in_group == 116 or self.player.id_in_group == 120 ) def before_next_page(self): if self.subsession.round_number == 1: self.player.payoff = self.player.payoff + 4 if self.subsession.round_number == 2: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 3: self.player.payoff = self.player.payoff + 10 if self.subsession.round_number == 4: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 5: self.player.payoff = self.player.payoff + 4 if self.subsession.round_number == 6: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 7: self.player.payoff = self.player.payoff + 10 if self.subsession.round_number == 8: self.player.payoff = self.player.payoff + 7 if self.subsession.round_number == 9: self.player.payoff = self.player.payoff + 4 if self.subsession.round_number == 10: self.player.payoff = self.player.payoff + 7 page_sequence = [ Task, Task1, Task2_Treatment1, Task2_Treatment2, Task2_Treatment3, Task2_Treatment4, ]