# drEffects from __future__ import division import otree.models from otree.db import models from otree import widgets from otree.common import Currency as c, currency_range, safe_json from otree.constants import BaseConstants from otree.models import BaseSubsession, BaseGroup, BasePlayer from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random from django import forms from decimal import Decimal author = '' doc = """ """ class Constants(BaseConstants): name_in_url = 'payoffs' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): def creating_session(self): for p in self.get_players(): p.participant.vars['payoff_task'] = random.randint(1, 3) p.payoff_task = p.participant.vars['payoff_task'] class Group(BaseGroup): pass class Player(BasePlayer): payoff_task = models.PositiveIntegerField() task_A_score = models.PositiveIntegerField() task_B_score = models.FloatField() task_C_score = models.PositiveIntegerField() task_A_belief = models.PositiveIntegerField() task_B_belief = models.PositiveIntegerField() task_A_belief_payoffs = models.CurrencyField() task_B_belief_payoffs = models.CurrencyField() count_other_players = models.PositiveIntegerField() percentage_lower_A = models.FloatField() count_lower_task_A = models.PositiveIntegerField() percentage_lower_B = models.FloatField() count_lower_task_B = models.PositiveIntegerField() chosen_score = models.FloatField() correct_answers = models.PositiveIntegerField() chosen_belief_score = models.FloatField()