from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = '' class Constants(BaseConstants): name_in_url = 'fin' endowment = c(20) players_per_group = None num_rounds = 1 multiplier = 1.5 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): control_question_1a = models.CurrencyField(label='1. a) Kierroksen alussa jokainen ryhmän jäsen saa 20 pistettä. Oletetaan, että kukaan jäsenistä (sinä mukaan lukien) ei tee lahjoitusta. Mikä on sinun tuottosi?') control_question_1b = models.CurrencyField(label='1. b) Mikä on muiden ryhmäsi jäsenten tuotto?') control_question_2a = models.CurrencyField(label='2. a) Kierroksen alussa jokainen ryhmän jäsen saa 20 pistettä. Oletetaan, että kolme muuta ryhmäsi jäsentä lahjoittavat yhteensä 40 pistettä ryhmän projektiin. Oletetaan, että sinä lahjoitat 0 pistettä. Kuinka monta pistettä jokainen pelaaja saa ryhmän panoksesta?') control_question_2b = models.CurrencyField(label='2. b) Kuinka monta pistettä sinä saat koko kierroksella?') contribution = models.CurrencyField(label='Valitsen panokseksi _______ pistettä.', max=Constants.endowment, min=0) expectation = models.CurrencyField(label='Kuinka paljon uskot, että muut osallistujat ovat valinneet keskimäärin panostaa ryhmään?', max=Constants.endowment, min=0) conditional_0 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 0, Oma panos=', max=Constants.endowment, min=0) conditional_5 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 5, Oma panos=', max=Constants.endowment, min=0) conditional_10 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 10, Oma panos=', max=Constants.endowment, min=0) conditional_15 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 15, Oma panos=', max=Constants.endowment, min=0) conditional_20 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 20, Oma panos=', max=Constants.endowment, min=0) followup_question1 = models.CurrencyField(label='1. Henkilö, joka välittää vain omista tuotoistaan ja uskoo että muut lahjoittavat 0 pistettä ryhmälle, antaa … pistettä ryhmälle.', max=Constants.endowment, min=0) followup_question2 = models.CurrencyField(label='2. Henkilö, joka välittää vain omista tuotoistaan ja uskoo että muut lahjoittavat 10 pistettä ryhmälle, antaa … pistettä ryhmälle.', max=Constants.endowment, min=0) followup_question3 = models.CurrencyField(label='3. Henkilö, joka välittää vain omista tuotoistaan ja uskoo että muut lahjoittavat 20 pistettä ryhmälle, antaa … pistettä ryhmälle.', max=Constants.endowment, min=0) followup_question4 = models.CurrencyField(label='4. Henkilö, joka välittää vain ryhmän tuotosta ja uskoo että muut lahjoittavat 0 pistettä ryhmälle, antaa … pistettä ryhmälle.', max=Constants.endowment, min=0) followup_question5 = models.CurrencyField(label='5. Henkilö, joka välittää vain ryhmän tuotosta ja uskoo että muut lahjoittavat 10 pistettä ryhmälle, antaa … pistettä ryhmälle.', max=Constants.endowment, min=0) followup_question6 = models.CurrencyField(label='6. Henkilö, joka välittää vain ryhmän tuotosta ja uskoo että muut lahjoittavat 20 pistettä ryhmälle, antaa … pistettä ryhmälle.', max=Constants.endowment, min=0) finnish_skill = models.IntegerField(label='Suomi', max=10, min=0) english_skill = models.IntegerField(label='Englanti', max=10, min=0) def control_question_1a_error_message(self, value): if value != 20: return "Tarkista vastauksesi!" def control_question_1b_error_message(self, value): if value != 20: return "Tarkista vastauksesi!" def control_question_2a_error_message(self, value): if value != 15: return "Tarkista vastauksesi!" def control_question_2b_error_message(self, value): if value != 35: return "Tarkista vastauksesi!"