# -*- coding: utf-8 -*- from __future__ import division from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) from . import models from ._builtin import Page, WaitPage from .models import Constants from django.utils.safestring import mark_safe class Introduction(Page): def is_displayed(self): return self.subsession.round_number == 1 class Treatment2(Page): def is_displayed(self): return self.subsession.round_number == 10 class Treatment3(Page): def is_displayed(self): return self.subsession.round_number == 19 class Decision(Page): form_model = models.Player form_fields = ['withdraw'] def vars_for_template(self): return { 'round_number':self.subsession.round_number } class ResultsWaitPage(WaitPage): body_text = "Waiting for other participants." #def after_all_players_arrive(self): #self.group.set_payoffs() class Results(Page): def vars_for_template(self): self.group.set_payoffs() return { 'num_runs': len([ p for p in self.group.get_players() if p.withdraw]), 'total_runs': self.group.total_runs, 'run_percentage': (self.group.total_runs*100)/Constants.players_per_group, 'round_number': self.subsession.round_number } page_sequence = [Introduction, Treatment2, Treatment3, Decision, ResultsWaitPage, Results ]