from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = '' class Constants(BaseConstants): name_in_url = 'thesis_public_goods_finnish' 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)\tKierroksen 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) followup_question_1a = models.CurrencyField(label='1. a) Kierroksen alussa, jokainen ryhmän jäsen saa 20 pistettä. Oletetaan, että sinä lahjoitat 20 pistettä projektiin. Kaikki muut ryhmän jäsenet lahjoittavat 20 pistettä. Mikä on sinun tuottosi? ') followup_question_1b = models.CurrencyField(label='1. b) Mikä on muiden ryhmäsi jäsenten tuotto? ') followup_question_2a = models.FloatField(label='2. a)\tKierroksen alussa, jokainen ryhmän jäsen saa 20 pistettä. Oletetaan, että kolme muuta ryhmän jäsentä lahjoittavat yhteensä 40 pistettä projektiin. Oletetaan, että sinä lahjoitat 10 pistettä projektiin. Kuinka monta pistettä jokainen ryhmän jäsen saa ryhmän panoksesta?') followup_question_2b = models.FloatField(label='2. b) Kuinka monta pistettä sinä saat koko kierroksella?') conditional_0 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 0, Oma panos=', max=Constants.endowment, min=0) conditional_1 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 1, Oma panos=', max=Constants.endowment, min=0) conditional_2 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 2, Oma panos=', max=Constants.endowment, min=0) conditional_3 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 3, Oma panos=', max=Constants.endowment, min=0) conditional_4 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 4, 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_6 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 6, Oma panos=', max=Constants.endowment, min=0) conditional_7 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 7, Oma panos=', max=Constants.endowment, min=0) conditional_8 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 8, Oma panos=', max=Constants.endowment, min=0) conditional_9 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 9, 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_11 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 11, Oma panos=', max=Constants.endowment, min=0) conditional_12 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 12, Oma panos=', max=Constants.endowment, min=0) conditional_13 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 13, Oma panos=', max=Constants.endowment, min=0) conditional_14 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 14, 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_16 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 16, Oma panos=', max=Constants.endowment, min=0) conditional_17 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 17, Oma panos=', max=Constants.endowment, min=0) conditional_18 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 18, Oma panos=', max=Constants.endowment, min=0) conditional_19 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 19, Oma panos=', max=Constants.endowment, min=0) conditional_20 = models.CurrencyField(label='Ryhmän panoksen keskiarvo = 20, Oma panos=', max=Constants.endowment, 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!"