from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import statistics from random import * doc = """ Survey 1 """ class Constants(BaseConstants): name_in_url = 'willkommen' players_per_group = None num_rounds = 1 instructions_template = 'public_goods/instructions.html' class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): f1 = models.StringField( choices=[['0', '0%'], ['0', '25%'], ['0', '50%'], ['0', '75%'], ['1', '100%']], label='Angenommen, die Gruppe als Ganzes hat 45 Cashcoins beigesteuert. Wie hoch ist die Wahrscheinlichkeit, ' 'dass der Verlust eintritt?', widget=widgets.RadioSelectHorizontal, ) f2 = models.StringField( choices=[['0', '0%'], ['0', '25%'], ['1', '50%'], ['0', '75%'], ['0', '100%']], label='Angenommen, die Gruppe als Ganzes hat 75 Cashcoins beigesteuert. Wie hoch ist die Wahrscheinlichkeit, ' 'dass der Verlust eintritt?', widget=widgets.RadioSelectHorizontal, ) f3 = models.StringField( choices=[['0', '0'], ['0', '25'], ['1', '66'], ['0', '78'], ['0', '97']], label='Gehen Sie davon aus, dass die fünf Spieler:innen folgende Vorschläge für das Gruppenziel gemacht ' 'haben: 0, 25, 66, 78, 97. Was ist das endgültige Gruppenziel?', widget=widgets.RadioSelectHorizontal, ) f4 = models.BooleanField( choices=[[True, 'Richtig'], [False, 'Falsch']], label='Richtig oder falsch? Bevor die Spielerinnen und Spieler ihre tatsächlichen Beiträge auswählen, ' 'geben sie Ankündigungen für ihre beabsichtigten Beiträge ab. Diese Ankündigungen sind unverbindlich.', widget=widgets.RadioSelectHorizontal ) f5 = models.BooleanField( choices=[[True, '₡ 29,00'], [False, '₡ 49,00']], label='Angenommen Sie haben 20 Cashcoins investiert. Die Gruppe insgesamt hat 80 Cashcoins beigesteuert.' ' Der Schwellenwert liegt bei 70, die Katastrophe tritt also nicht ein. Wie hoch ist Ihr Endvermögen?', widget=widgets.RadioSelectHorizontal ) fc5 = models.BooleanField( choices=[[True, '₡ 29,50'], [False, '₡ 44,00']], label='Angenommen Sie sind zu viert in einem Club. Sie haben automatisch 20 Cashcoins investiert.' ' Insgesamt wurden 80 Cashcoins beigesteuert. ' ' Der Schwellenwert liegt bei 70, die Katastrophe tritt also nicht ein. Das eine Nicht-Mitglied' ' verhängt eine Gegenstrafe. (Hilfestellung: Unterm Strich verdienen Sie in diesem Fall durch Strafen ₡ 0,50.) Wie hoch ist Ihr Endvermögen?', widget=widgets.RadioSelectHorizontal ) f6 = models.BooleanField( choices=[[True, '₡ 49,00'], [False, '₡ 29,00']], label='Nehmen Sie die gleiche Situation an mit dem Unterschied, ' ' dass Sie 0 Cashcoins investiert haben (Gruppenbeitrag=80 ; Schwellenwert=70).' ' Wie hoch ist Ihr Endvermögen?', widget=widgets.RadioSelectHorizontal ) fc6 = models.BooleanField( choices=[[True, '₡ 44,00'], [False, '₡ 29,50']], label='Nehmen Sie nun an, Sie wären das Nicht-Mitglied in der vorherigen Situation.' ' Sie haben 0 Cashcoins investiert, die Anderen insgesamt 80. Die Katastrophe tritt nicht ein.' ' Sie müssen eine Strafe an vier Clubmitglieder zahlen, aber verhängen im Gegenzug' ' eine Gegenstrafe gegen jedes Mitglied. (Hilfestellung: Unterm Strich verlieren Sie in diesem Fall durch Strafen ₡ 5,00.)' ' Wie hoch ist Ihr Endvermögen?', widget=widgets.RadioSelectHorizontal )