from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import random # class FirstWaitPage(WaitPage): # group_by_arrival_time = True class Start(Page): def before_next_page(self): self.player.leader_nudge = random.randint(0,1) print('Leader nudge:', self.player.leader_nudge) class IntroVideoControl(Page): timeout_seconds = 120 def is_displayed(self): return self.player.leader_nudge == 0 def vars_for_template(self): return {"image_path": "global/background_trust.jpg", 'audio_no_nudge': 'global/trust1_noleadernudge.mp3', } class IntroVideoTreatment(Page): timeout_seconds = 120 def is_displayed(self): return self.player.leader_nudge == 1 def vars_for_template(self): return {"image_path": "global/background_trust.jpg", 'audio_leader_nudge': 'global/trust1_leadernudge.mp3' } class Send(Page): timeout_seconds = 120 def vars_for_template(self): return { 'audio_path': 'global/trust2.mp3' } form_model = "player" form_fields = ["sent_amount"] # id_in_group is random def before_next_page(self): random_number = random.randint(0,1) if random_number == 0: self.player.leader_nudge = 0 elif random_number == 1: self.player.leader_nudge = 1 print('Player', self.player.id_in_group, 'Nudge treatment', self.player.leader_nudge) class SendBack(Page): timeout_seconds = 180 def vars_for_template(self): return { 'audio_path': 'global/trust3.mp3' } form_model = "player" form_fields = [ "sent_back_amount1", "sent_back_amount2", "sent_back_amount3", "sent_back_amount4", "sent_back_amount5", "sent_back_amount6", "sent_back_amount7", "sent_back_amount8", "sent_back_amount9", "sent_back_amount10", ] # class SendBackWaitPage(WaitPage): # pass # class ResultsWaitPage(WaitPage): # # def after_all_players_arrive(self): # self.group.set_roles() # self.group.set_payoffs() page_sequence = [ Start, IntroVideoControl, IntroVideoTreatment, Send, SendBack, ]