from otree.api import * class C(BaseConstants): NAME_IN_URL = 'Studie' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): dictator1 = models.IntegerField( choices=[['3', '3€ behalten - 0€ an Kindergarten meines Kindes geben'], ['2', '2€ behalten - 1€ an Kindergarten meines Kindes geben'], ['1', '1€ behalten - 2€ an Kindergarten meines Kindes geben'], ['0', '0€ behalten - 3€ an Kindergarten meines Kindes geben'], ], label='Es stehen 3€ zur Verfügung. Wie viel Geld möchten Sie behalten und wie viel wollen Sie dem Kindergarten Ihres Kindes geben?', widget=widgets.RadioSelect, ) dictator2 = models.IntegerField( choices=[['3', '3€ behalten - 0€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ['2', '2€ behalten - 1€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ['1', '1€ behalten - 2€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ['0', '0€ behalten - 3€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ], label='Es stehen 3€ zur Verfügung. Wie viel Geld möchten Sie behalten und wie viel wollen Sie einem anderen Kindergarten, der an dieser Studie teilnimmt, geben?', widget=widgets.RadioSelect, ) dictator3 = models.IntegerField( choices=[['3', '3€ an Kindergarten meines Kindes geben - 0€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ['2', '2€ an Kindergarten meines Kindes geben - 1€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ['1', '1€ an Kindergarten meines Kindes geben - 2€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ['0', '0€ an Kindergarten meines Kindes geben - 3€ an anderen Kindergarten, der an dieser Studie teilnimmt'], ], label='Es stehen 3€ zur Verfügung. Wie viel Geld möchten Sie dem Kindergarten Ihres Kindes geben und wie viel wollen Sie einem anderen Kindergarten, der an dieser Studie teilnimmt, geben?', widget=widgets.RadioSelect, ) age = models.IntegerField(label='Wie alt bist du?', min=13, max=125) gender = models.StringField( choices=[['Female', 'Weiblich'], ['Male', 'Männlich'], ['Divers', 'Divers']], label='Bist du...?', widget=widgets.RadioSelect, ) own_birth = models.StringField( label=''' In welcher/m Stadt/Ort bist du geboren?''' ) school_grad = models.StringField( label=''' In welcher/m Stadt/Ort hast du die Schule abgeschlossen? ''' ) home_now = models.StringField( label=''' In welcher/m Stadt/Ort wohnst du aktuell? ''' ) mother_birth = models.StringField( label=''' In welcher/m Stadt/Ort/Region ist Ihre Mutter aufgewachsen?''' ) father_birth = models.StringField( label=''' In welcher/m Stadt/Ort/Region ist Ihr Vater aufgewachsen?''' ) siblings = models.IntegerField(label='Wie viele Geschwister haben Sie?', min=0, max=15) educ_mother = models.StringField( choices=[['1', 'Keinen Abschluss'], ['2', 'Volks-/Hauptschule'], ['3', 'Mittlere Reife/Realschulsabschluss'], ['4', 'Abitur/Fachhochschulreife'], ['5', 'Fachhochschule/Universität']], label='Was ist der höchste Bildungsabschluss Ihrer Mutter?', widget=widgets.RadioSelect, ) educ_father = models.StringField( choices=[['1', 'Keinen Abschluss'], ['2', 'Volks-/Hauptschule'], ['3', 'Mittlere Reife/Realschulsabschluss'], ['4', 'Abitur/Fachhochschulreife'], ['5', 'Fachhochschule/Universität']], label='Was ist der höchste Bildungsabschluss Ihres Vaters?', widget=widgets.RadioSelect, ) # socialnetwork commute_min = models.IntegerField(label='Wie lange brauchen Sie in etwa von Zuhause an die Uni (in Minuten)?', min=0, max=5000) closer_uni = models.StringField( choices=[['1', 'Ja'], ['2', 'Nein']], label='Würden Sie gerne näher an der Uni wohnen?', widget=widgets.RadioSelect, ) search_flat = models.StringField( choices=[['1', 'Ja'], ['2', 'Nein']], label='Suchen Sie aktiv nach einer Wohnung/WG, die näher an der Uni ist?', widget=widgets.RadioSelect, ) days_uni = models.IntegerField( label='Wie viele Tage die Woche haben Sie vor während des Semesters an die Uni zu kommen?', min=0, max=7) live_with = models.StringField( choices=[['1', 'Alleine'], ['2', 'in einer WG'], ['3', 'mit einer/m Partner/in'], ['4', 'bei Ihren Eltern'], ['5', 'anderes Wohnverhältnis']], label='Wohnen Sie...?', widget=widgets.RadioSelect, ) friends_around = models.StringField( choices=[['1', 'Fast niemand'], ['2', 'wenige'], ['3', 'einige'], ['4', 'viele'], ['5', 'die meisten']], label='Wie viele Ihrer Freunde wohnen in der Nähe?', widget=widgets.RadioSelect, ) meeting_friends = models.StringField( choices=[['0', 'auschlieslich mit einzelnen Freunden'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7','7'], ['8', '8'], ['9', '9'], ['10', 'ausschlieslich mit mehreren Freunden gleichzeitig']], label='Wenn sie mit ihren Freunden Zeit verbringen, verbringen Sie mehr Zeit mit ' 'einzelnen Freunden oder mit mehreren Freunden gleichzeitig? ', widget=widgets.RadioSelectHorizontal, ) # Abroad school_abroad = models.StringField( choices=[['1', 'Ja'], ['2', 'Nein']], label='Haben Sie während der Schulzeit eine längere Zeit im Ausland verbracht?', widget=widgets.RadioSelect, ) semester_abroad = models.StringField( choices=[['1', 'Ja'], ['2', 'Nein']], label='Haben Sie ein Semester oder mehr im Ausland studiert?', widget=widgets.RadioSelect, ) semester_abroad_future = models.StringField( choices=[['0', 'Nein, auf keinen Fall'], ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7','7'], ['8', '8'], ['9', '9'], ['10', 'Ja, definitiv']], label='Haben Sie vor für ein Semester oder mehr im Ausland zu studieren?', widget=widgets.RadioSelectHorizontal, ) internship = models.StringField( choices=[['0', 'Nein, auf keinen Fall'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Ja, definitiv']], label='Haben Sie vor ein Praktikum zu machen?', widget=widgets.RadioSelectHorizontal, ) internship_abroad = models.StringField( choices=[['0', 'Nein, auf keinen Fall'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Ja, definitiv']], label='Haben Sie vor ein Praktikum im Ausland zu machen?', widget=widgets.RadioSelectHorizontal, ) # Study study_type = models.IntegerField( choices=[['0', 'Ich lerne immmer alleine'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Ich lerne immer mit anderen gemeinsam']], label='Lernen Sie lieber alleine oder mit anderen gemeinsam?', widget=widgets.RadioSelectHorizontal, ) study_with = models.IntegerField( choices=[['0', 'Immer die gleiche Person'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Immer unterschiedliche Personen']], label='Wenn Sie mit anderen gemeinsam lernen, sind es die immmer die' 'gleichen Personen oder unterschiedliche Personen mit denen Sie lernen?', widget=widgets.RadioSelectHorizontal, ) fellow_students = models.IntegerField(label='Wie viele Kommilitonen kennen Sie ungefähr?', min=0, max=500) lectures_present = models.IntegerField( choices=[['0%', 'Nie'], ['10%', '10%'], ['20%', '20%'], ['30%', '30%'], ['40%', '40%'], ['50%', '50%'], ['60%', '60%'], ['70%', '70%'], ['80%', '80%'], ['90%', '90%'], ['100%', 'Immer']], label='Wie oft wollen Sie dieses Semester in Vorlesungen anwesend sein?', widget=widgets.RadioSelectHorizontal, ) tutorials_present = models.IntegerField( choices=[['0%', 'Nie'], ['10%', '10%'], ['20%', '20%'], ['30%', '30%'], ['40%', '40%'], ['50%', '50%'], ['60%', '60%'], ['70%', '70%'], ['80%', '80%'], ['90%', '90%'], ['100%', 'Immer']], label='Wie oft wollen Sie dieses Semester in Übungen anwesend sein?', widget=widgets.RadioSelectHorizontal, ) # friends # university study = models.StringField( label=''' Was studieren Sie zur Zeit?''' ) fach_semester = models.IntegerField(label='Seit wie vielen Semestern studieren ' 'Sie ihr aktuelles Fach (Fachsemester)?', min=0, max=100) studien_semester = models.IntegerField(label= 'Seit wie vielen Semestern studieren Sie an der Uni (Studiensemester)?', min=0, max=100) degree = models.StringField( choices=[['1', 'Bachelor'], ['2', 'Master'], ['3', 'Promotion']], label='Welchen Abschluss streben Sie an?', widget=widgets.RadioSelect, ) # Job career_vs_sociallife = models.IntegerField( choices=[['0', 'Karriere machen'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Zeit für Freunde und Familie haben']], label='Was ist Ihnen relativ wichtiger? ', widget=widgets.RadioSelectHorizontal, ) move_for_job = models.IntegerField( choices=[['0', 'Nein, auf keinen Fall'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Ja, definitiv']], label='Wären Sie bereit für Job in eine andere Stadt zu ziehen? ', widget=widgets.RadioSelectHorizontal, ) job_near_sociallife = models.IntegerField( choices=[['0', 'Überhaupt nicht wichtig'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Sehr wichtig']], label='Wie wichtig ist es Ihnen einen Job in der Nähe Ihrer Freunde und Familie zu haben? ', widget=widgets.RadioSelectHorizontal, ) commute_willingness = models.IntegerField( label='Bis zu wie vielen Minuten wären Sie bereit für einen Job täglich zu pendeln? ' 'Bitte rechnen Sie Hin-und Rückweg zusammen. Bis zu...', min=0, max=180) # lifesatisfaction satisfaction_overall = models.IntegerField( choices=[['0', 'Ganz und gar unzufrieden'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Ganz und gar zufrieden']], label='Wie zufrieden sind Sie gegenwärtig, alles in allem, mit Ihrem Leben? ', widget=widgets.RadioSelectHorizontal, ) satisfaction_future = models.IntegerField( choices=[['0', 'Ganz und gar unzufrieden'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Ganz und gar zufrieden']], label='Was glauben Sie, wie es Ihnen in einem Jahr geht? ', widget=widgets.RadioSelectHorizontal, ) satisfaction_farfuture = models.IntegerField( choices=[['0', 'Ganz und gar unzufrieden'], ['1', '1'], ['2','2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7'], ['8', '8'], ['9', '9'], ['10', 'Ganz und gar zufrieden']], label='Was glauben Sie, wie es Ihnen in fünf Jahren geht? ', widget=widgets.RadioSelectHorizontal, ) # FUNCTIONS # PAGES class dictator(Page): form_model = 'player' form_fields = ['dictator1', 'dictator2', 'dictator3'] class payoff(Page): form_model = 'player' form_fields = ['total_payoff'] class Demographics(Page): form_model = 'player' form_fields = ['age', 'gender', 'own_birth', 'school_grad', 'home_now'] class Family(Page): form_model = 'player' form_fields = ['mother_birth', 'father_birth', 'siblings', 'educ_mother', 'educ_father'] class Socialnetwork(Page): form_model = 'player' form_fields = ['commute_min', 'closer_uni', 'search_flat', 'days_uni', 'live_with', 'friends_around', 'meeting_friends'] class Abroad(Page): form_model = 'player' form_fields = ['school_abroad', 'semester_abroad', 'semester_abroad_future', 'internship', 'internship_abroad'] class Study(Page): form_model = 'player' form_fields = ['study_type', 'study_with', 'fellow_students', 'lectures_present', 'tutorials_present'] class University(Page): form_model = 'player' form_fields = ['study', 'fach_semester', 'studien_semester', 'degree'] class Job(Page): form_model = 'player' form_fields = ['career_vs_sociallife', 'move_for_job', 'job_near_sociallife'] class Satisfaction(Page): form_model = 'player' form_fields = ['satisfaction_overall', 'satisfaction_future', 'satisfaction_farfuture'] page_sequence = [dictator, Demographics, Family, Socialnetwork, Abroad, University, Satisfaction, Job]