from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, safe_json ) from django import forms from django.forms import widgets as django_widgets import math import random author = 'Nikolas Kirk' doc = """ Collect demographic info and calculate payoff """ class Constants(BaseConstants): name_in_url = 'anchor_rp_goodbye' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): bonus_amount = models.CurrencyField() def set_payoff(self): if self.participant.vars['failed_comprehension']: self.payoff = self.session.config['participation_fee'] self.bonus_amount = 0 else: fixed_payment = self.session.config['participation_fee'] + self.session.config['fixed_bonus'] + self.participant.vars['correct_bonus'] self.payoff = fixed_payment + self.participant.vars['lottery_pay'] self.bonus_amount = self.payoff - self.session.config['participation_fee'] if self.participant.vars['failed_comprehension_dots'] or self.participant.vars['failed_answer']: delta = self.session.config['fixed_bonus'] - self.session.config['partial_fixed_bonus'] self.payoff -= delta self.bonus_amount -= delta