from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random import itertools import numpy as np from django import forms from django.forms import widgets as django_widgets import math author = 'Jindi Huang' doc = """ WTA-WTP Gap """ class Constants(BaseConstants): name_in_url = 'instructions' players_per_group = None num_rounds = 1 list1 = np.arange(1 * 20, - 1, -1) list2 = [] list2.append(0) for x in range(20): list2.append((x+1)*5) class Subsession(BaseSubsession): def creating_session(self): if self.round_number == 1: for p in self.get_players(): p.participant.vars['failed_comprehension'] = False class Group(BaseGroup): pass class Player(BasePlayer): choice_name = models.StringField() switching_point = models.FloatField() confidence = models.FloatField() lottery_min = models.FloatField() lottery_max = models.FloatField() step_size = models.FloatField() choice_num = models.IntegerField() prolific_id = models.StringField() consent = models.BooleanField() confidence_hidden = models.IntegerField() question_failed = models.IntegerField() failed_comprehension = models.BooleanField(initial=False) qn_payoff_got_wrong = models.BooleanField(initial=False) qn_confidence_got_wrong = models.BooleanField(initial=False) qn_payoff = models.IntegerField( choices=[ [1, '$20'], [0, '$25'], [0, '$15'], ], widget=widgets.RadioSelect, blank=False, label="" ) qn_confidence = models.FloatField( blank=False, label="" )