from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import time class Start(Page): pass class Results(Page): def vars_for_template(self): return dict( player_in_rounds=self.player.in_all_rounds(), total_sliders_correct=sum([p.total_sliders_correct for p in self.player.in_all_rounds()]), total_payoff=sum([p.payoff for p in self.player.in_all_rounds()]), ) def before_next_page(self): self.group.score_in_stage1() class Sliders(Page): form_model = 'player' form_fields = ['slider1', 'slider2', 'slider3', 'slider4', 'slider5', 'slider6', 'slider7', 'slider8', 'slider9', 'slider10', 'slider11', 'slider12', 'slider13', 'slider14', 'slider15', 'slider16', 'slider17', 'slider18', 'slider19', 'slider20','slider21', 'slider22', 'slider23', 'slider24', 'slider25', 'slider26', 'slider27', 'slider28', 'slider29', 'slider30'] timer_text = 'Time left to complete the Sliders Task game:' timeout_seconds = 60 def vars_for_template(self): return dict( slider_goals_this_round=self.session.vars['slider_goals' + str(self.round_number)], ) class WaitePage(WaitPage): def after_all_players_arrive(self): self.group.set_slider_goals() self.group.ensure_random_goals() class ResultWaitPage(WaitPage): def after_all_players_arrive(self): self.group.check_slider_answers() page_sequence = [ Start, WaitePage, Sliders, ResultWaitPage, Results ]