from otree.api import * c = cu doc = 'Verständnisfragen Durchschnittsregel' class C(BaseConstants): NAME_IN_URL = 'P_D' PLAYERS_PER_GROUP = 4 NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): Proberunde1 = models.IntegerField(label='Was ist das Ergebnis, wenn Sie sich für eine Stimmabgabe von 0 entscheiden?', max=100) Proberunde2 = models.IntegerField(label='Was ist das Ergebnis, wenn Sie sich für eine Stimmabgabe von 30 entscheiden?', max=100) Proberunde3 = models.IntegerField(label='Was ist das Ergebnis, wenn Sie sich für eine Stimmabgabe von 90 entscheiden?', max=100) Auszahlungskontrolle1 = models.IntegerField(max=110) Auszahlungskontrolle2 = models.IntegerField(max=110) Ergebnisse_Auszahlungskontrolle = models.CurrencyField(initial=0) class Verstaendniskontrolle1(Page): form_model = 'player' form_fields = ['Proberunde1', 'Proberunde2', 'Proberunde3'] @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group participant = player.participant if player.id_in_group == 1: spieler1 = group.get_player_by_id(1) spieler1.participant.richtige_antworten = 0 if spieler1.Proberunde1 == 30: spieler1.payoff = spieler1.payoff +5 spieler1.participant.richtige_antworten = spieler1.participant.richtige_antworten +1 if spieler1.Proberunde2 == 40: spieler1.payoff = spieler1.payoff +5 spieler1.participant.richtige_antworten = spieler1.participant.richtige_antworten +1 if spieler1.Proberunde3 == 60: spieler1.payoff = spieler1.payoff +5 spieler1.participant.richtige_antworten = spieler1.participant.richtige_antworten +1 if player.id_in_group == 2: spieler2 = group.get_player_by_id(2) spieler2.participant.richtige_antworten = 0 if spieler2.Proberunde1 == 30: spieler2.payoff = spieler2.payoff +5 spieler2.participant.richtige_antworten = spieler2.participant.richtige_antworten +1 if spieler2.Proberunde2 == 40: spieler2.payoff = spieler2.payoff +5 spieler2.participant.richtige_antworten = spieler2.participant.richtige_antworten +1 if spieler2.Proberunde3 == 60: spieler2.payoff = spieler2.payoff +5 spieler2.participant.richtige_antworten = spieler2.participant.richtige_antworten +1 if player.id_in_group == 3: spieler3 = group.get_player_by_id(3) spieler3.participant.richtige_antworten = 0 if spieler3.Proberunde1 == 30: spieler3.payoff = spieler3.payoff +5 spieler3.participant.richtige_antworten = spieler3.participant.richtige_antworten +1 if spieler3.Proberunde2 == 40: spieler3.payoff = spieler3.payoff +5 spieler3.participant.richtige_antworten = spieler3.participant.richtige_antworten +1 if spieler3.Proberunde3 == 60: spieler3.payoff = spieler3.payoff +5 spieler3.participant.richtige_antworten = spieler3.participant.richtige_antworten +1 if player.id_in_group == 4: spieler4 = group.get_player_by_id(4) spieler4.participant.richtige_antworten = 0 if spieler4.Proberunde1 == 30: spieler4.payoff = spieler4.payoff +5 spieler4.participant.richtige_antworten = spieler4.participant.richtige_antworten +1 if spieler4.Proberunde2 == 40: spieler4.payoff = spieler4.payoff +5 spieler4.participant.richtige_antworten = spieler4.participant.richtige_antworten +1 if spieler4.Proberunde3 == 60: spieler4.payoff = spieler4.payoff +5 spieler4.participant.richtige_antworten = spieler4.participant.richtige_antworten +1 class ErgebnisseVerstaendniskontrolle1(Page): form_model = 'player' class Verstaendniskontrolle2(Page): form_model = 'player' form_fields = ['Auszahlungskontrolle1', 'Auszahlungskontrolle2'] @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group participant = player.participant if player.id_in_group == 1: spieler1 = group.get_player_by_id(1) spieler1.participant.richtige_antworten_2 = 0 if spieler1.Auszahlungskontrolle1 == 70: spieler1.payoff = spieler1.payoff +5 spieler1.participant.richtige_antworten_2 = spieler1.participant.richtige_antworten_2 +1 spieler1.Ergebnisse_Auszahlungskontrolle = spieler1.Ergebnisse_Auszahlungskontrolle + 5 if spieler1.Auszahlungskontrolle2 == 80: spieler1.payoff = spieler1.payoff +5 spieler1.participant.richtige_antworten_2 = spieler1.participant.richtige_antworten_2 +1 spieler1.Ergebnisse_Auszahlungskontrolle = spieler1.Ergebnisse_Auszahlungskontrolle + 5 if player.id_in_group == 2: spieler2 = group.get_player_by_id(2) spieler2.participant.richtige_antworten_2 = 0 if spieler2.Auszahlungskontrolle1 == 70: spieler2.payoff = spieler2.payoff +5 spieler2.participant.richtige_antworten_2 = spieler2.participant.richtige_antworten_2 +1 spieler2.Ergebnisse_Auszahlungskontrolle = spieler2.Ergebnisse_Auszahlungskontrolle + 5 if spieler2.Auszahlungskontrolle2 == 80: spieler2.payoff = spieler2.payoff +5 spieler2.participant.richtige_antworten_2 = spieler2.participant.richtige_antworten_2 +1 spieler2.Ergebnisse_Auszahlungskontrolle = spieler2.Ergebnisse_Auszahlungskontrolle + 5 if player.id_in_group == 3: spieler3 = group.get_player_by_id(3) spieler3.participant.richtige_antworten_2 = 0 if spieler3.Auszahlungskontrolle1 == 70: spieler3.payoff = spieler3.payoff +5 spieler3.participant.richtige_antworten_2 = spieler3.participant.richtige_antworten_2 +1 spieler3.Ergebnisse_Auszahlungskontrolle = spieler3.Ergebnisse_Auszahlungskontrolle + 5 if spieler3.Auszahlungskontrolle2 == 80: spieler3.payoff = spieler3.payoff +5 spieler3.participant.richtige_antworten_2 = spieler3.participant.richtige_antworten_2 +1 spieler3.Ergebnisse_Auszahlungskontrolle = spieler3.Ergebnisse_Auszahlungskontrolle + 5 if player.id_in_group == 4: spieler4 = group.get_player_by_id(4) spieler4.participant.richtige_antworten_2 = 0 if spieler4.Auszahlungskontrolle1 == 70: spieler4.payoff = spieler4.payoff +5 spieler4.participant.richtige_antworten_2 = spieler4.participant.richtige_antworten_2 +1 spieler4.Ergebnisse_Auszahlungskontrolle = spieler4.Ergebnisse_Auszahlungskontrolle + 5 if spieler4.Auszahlungskontrolle2 == 80: spieler4.payoff = spieler4.payoff +5 spieler4.participant.richtige_antworten_2 = spieler4.participant.richtige_antworten_2 +1 spieler4.Ergebnisse_Auszahlungskontrolle = spieler4.Ergebnisse_Auszahlungskontrolle + 5 class ErgebnisseVerstaendniskontrolle2(Page): form_model = 'player' page_sequence = [Verstaendniskontrolle1, ErgebnisseVerstaendniskontrolle1, Verstaendniskontrolle2, ErgebnisseVerstaendniskontrolle2]