from otree.api import * c = cu doc = '' class C(BaseConstants): # built-in constants NAME_IN_URL = 'ambiguity_rsp_red' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): Number_of_Subjects = models.IntegerField(max=21, min=0) Risky_Bag = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue']]) Ambiguous_Bag = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue']]) Risky_Bag_Practice_1 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue']]) Ambiguous_Bag_Practice_1 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue']]) Risky_Bag_Practice_2 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue']]) Ambiguous_Bag_Practice_2 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue']]) Proceed_Instructions1b = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Practice1a = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Practice2a = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Practice1b = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Practice2b = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Coin = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Survey = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Draw = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Coin1 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin2 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin3 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin4 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin5 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin6 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin7 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin8 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin9 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin10 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin11 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin12 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin13 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin14 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin15 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin16 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin17 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin18 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin19 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') Coin20 = models.StringField(choices=[['H', 'H'], ['T', 'T']], initial='N/A') S1_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S2_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S3_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S4_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S5_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S6_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S7_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S8_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S9_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S10_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S11_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S12_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S13_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S14_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S15_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S16_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S17_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S18_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S19_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S20_Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S1_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S2_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S3_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S4_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S5_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S6_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S7_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S8_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S9_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S10_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S11_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S12_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S13_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S14_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S15_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S16_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S17_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S18_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S19_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S20_Bet_Blue_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S1_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S2_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S3_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S4_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S5_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S6_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S7_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S8_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S9_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S10_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S11_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S12_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S13_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S14_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S15_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S16_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S17_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S18_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S19_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S20_Bet_Red_Practice2 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S1_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S2_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S3_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S4_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S5_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S6_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S7_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S8_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S9_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S10_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S11_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S12_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S13_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S14_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S15_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S16_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S17_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S18_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S19_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S20_Bet_Red = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S1_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S2_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S3_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S4_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S5_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S6_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S7_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S8_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S9_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S10_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S11_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S12_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S13_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S14_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S15_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S16_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S17_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S18_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S19_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') S20_Bet_Blue = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') Subject_1 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_2 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_3 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_4 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_5 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_6 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_7 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_8 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_9 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_10 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_11 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_12 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_13 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_14 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_15 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_16 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_17 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_18 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_19 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_20 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Subject_21 = models.StringField(choices=[['Inactive', 'Inactive'], ['Active', 'Active']], initial='Inactive') Participant_1 = models.IntegerField() Participant_2 = models.IntegerField() Participant_3 = models.IntegerField() Participant_4 = models.IntegerField() Participant_5 = models.IntegerField() Participant_6 = models.IntegerField() Participant_7 = models.IntegerField() Participant_8 = models.IntegerField() Participant_9 = models.IntegerField() Participant_10 = models.IntegerField() Participant_11 = models.IntegerField() Participant_12 = models.IntegerField() Participant_13 = models.IntegerField() Participant_14 = models.IntegerField() Participant_15 = models.IntegerField() Participant_16 = models.IntegerField() Participant_17 = models.IntegerField() Participant_18 = models.IntegerField() Participant_19 = models.IntegerField() Participant_20 = models.IntegerField() Participant_21 = models.IntegerField() Info_Sheet_1 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_2 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_3 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_4 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_5 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_6 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_7 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_8 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_9 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_10 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_11 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_12 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_13 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_14 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_15 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_16 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_17 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_18 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='NA') Info_Sheet_19 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_20 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Info_Sheet_21 = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Participant_Number_Confirmed_1 = models.StringField(initial='-') Participant_Number_Confirmed_2 = models.StringField(initial='-') Participant_Number_Confirmed_3 = models.StringField(initial='-') Participant_Number_Confirmed_4 = models.StringField(initial='-') Participant_Number_Confirmed_5 = models.StringField(initial='-') Participant_Number_Confirmed_6 = models.StringField(initial='-') Participant_Number_Confirmed_7 = models.StringField(initial='-') Participant_Number_Confirmed_8 = models.StringField(initial='-') Participant_Number_Confirmed_9 = models.StringField(initial='-') Participant_Number_Confirmed_10 = models.StringField(initial='-') Participant_Number_Confirmed_11 = models.StringField(initial='-') Participant_Number_Confirmed_12 = models.StringField(initial='-') Participant_Number_Confirmed_13 = models.StringField(initial='-') Participant_Number_Confirmed_14 = models.StringField(initial='-') Participant_Number_Confirmed_15 = models.StringField(initial='-') Participant_Number_Confirmed_16 = models.StringField(initial='-') Participant_Number_Confirmed_17 = models.StringField(initial='-') Participant_Number_Confirmed_18 = models.StringField(initial='-') Participant_Number_Confirmed_19 = models.StringField(initial='-') Participant_Number_Confirmed_20 = models.StringField(initial='-') Participant_Number_Confirmed_21 = models.StringField(initial='-') Experimenter_Selected = models.BooleanField() class Player(BasePlayer): Role_Subject_or_Experimenter = models.StringField(choices=[['Subject', 'Subject'], ['Experimenter', 'Experimenter'], ['Inactive', 'Inactive'], ['Implementer', 'Implementer']], widget=widgets.RadioSelect) Number_of_Subjects = models.IntegerField() Participant_Number = models.IntegerField() Subject_Number = models.IntegerField() Coin_Subject = models.StringField(choices=[['H', 'H'], ['T', 'T']]) Bet_Red_Practice1 = models.StringField(choices=[['Risky', 'Risky'], ['Ambiguous', 'Ambiguous'], ['N/A', 'N/A']], initial='N/A') Bet_Blue_Practice1 = models.StringField(choices=[['N/A', 'N/A'], ['Risky', 'Risky'], ['Ambiguous', 'Ambiguous']], initial='N/A') Bet_Red_Practice2 = models.StringField(choices=[['N/A', 'N/A'], ['Risky', 'Risky'], ['Ambiguous', 'Ambiguous']], initial='N/A') Bet_Blue_Practice2 = models.StringField(choices=[['N/A', 'N/A'], ['Risky', 'Risky'], ['Ambiguous', 'Ambiguous']], initial='N/A') Bet_Red = models.StringField(choices=[['N/A', 'N/A'], ['Risky', 'Risky'], ['Ambiguous', 'Ambiguous']], initial='N/A') Bet_Blue = models.StringField(choices=[['N/A', 'N/A'], ['Risky', 'Risky'], ['Ambiguous', 'Ambiguous']], initial='N/A') Proceed_Instructions1b = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop') Proceed_Practice1a = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop', widget=widgets.RadioSelectHorizontal) Proceed_Practice1b = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop', widget=widgets.RadioSelectHorizontal) Proceed_Practice2a = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop', widget=widgets.RadioSelect) Proceed_Practice2b = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop', widget=widgets.RadioSelectHorizontal) Proceed_Instructions2 = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop', widget=widgets.RadioSelectHorizontal) Proceed_Main_Decision = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop', widget=widgets.RadioSelectHorizontal) Proceed_Survey = models.StringField(choices=[['Stop', 'Stop'], ['Proceed', 'Proceed']], initial='Stop', widget=widgets.RadioSelectHorizontal) Coin1 = models.StringField(label=' ') Coin2 = models.StringField(label=' ') Coin3 = models.StringField(label=' ') Coin4 = models.StringField(label=' ') Coin5 = models.StringField(label=' ') Coin6 = models.StringField(label=' ') Coin7 = models.StringField(label=' ') Coin8 = models.StringField(label=' ') Coin9 = models.StringField(label=' ') Coin10 = models.StringField(label=' ') Coin11 = models.StringField(label=' ') Coin12 = models.StringField(label=' ') Coin13 = models.StringField(label=' ') Coin14 = models.StringField(label=' ') Coin15 = models.StringField(label=' ') Coin16 = models.StringField(label=' ') Coin17 = models.StringField(label=' ') Coin18 = models.StringField(label=' ') Coin19 = models.StringField(label=' ') Coin20 = models.StringField(label=' ') Risky_Bag = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue'], ['N/A', 'N/A']], widget=widgets.RadioSelectHorizontal) Ambiguous_Bag = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue'], ['N/A', 'N/A']], widget=widgets.RadioSelectHorizontal) Gender = models.StringField(choices=[['Male', 'Male'], ['Female', 'Female'], ['Other', 'Other'], ['Prefer not to say', 'Prefer not to say']], label='1. What is your gender?', widget=widgets.RadioSelect) Age = models.IntegerField(choices=[[1930, '1930'], [1931, '1931'], [1932, '1932'], [1933, '1933'], [1934, '1934'], [1935, '1935'], [1936, '1936'], [1937, '1937'], [1938, '1938'], [1939, '1939'], [1940, '1940'], [1941, '1941'], [1942, '1942'], [1943, '1943'], [1944, '1944'], [1945, '1945'], [1946, '1946'], [1947, '1947'], [1948, '1948'], [1949, '1949'], [1950, '1950'], [1951, '1951'], [1952, '1952'], [1953, '1953'], [1954, '1954'], [1955, '1955'], [1956, '1956'], [1957, '1957'], [1958, '1958'], [1959, '1959'], [1960, '1960'], [1961, '1961'], [1962, '1962'], [1963, '1963'], [1964, '1964'], [1965, '1965'], [1966, '1966'], [1967, '1967'], [1968, '1968'], [1969, '1969'], [1970, '1970'], [1971, '1971'], [1972, '1972'], [1973, '1973'], [1974, '1974'], [1975, '1975'], [1976, '1976'], [1977, '1977'], [1978, '1978'], [1979, '1979'], [1980, '1980'], [1981, '1981'], [1982, '1982'], [1983, '1983'], [1984, '1984'], [1985, '1985'], [1986, '1986'], [1987, '1987'], [1988, '1988'], [1989, '1989'], [1990, '1990'], [1991, '1991'], [1992, '1992'], [1993, '1993'], [1994, '1994'], [1995, '1995'], [1996, '1996'], [1997, '1997'], [1998, '1998'], [1999, '1999'], [2000, '2000'], [2001, '2001'], [2002, '2002'], [2003, '2003'], [2004, '2004'], [2005, '2005'], [2006, '2006'], [2007, '2007'], [2008, '2008'], [2009, '2009'], [2010, '2010']], label='2. What is your birth year?') Race = models.StringField(choices=[['White or Caucasian', 'White or Caucasian'], ['Black or African American', 'Black or African American'], ['American Indian/Native American or Alaska Native', 'American Indian/Native American or Alaska Native'], ['Asian', 'Asian'], ['Native Hawaiian or Other Pacific Islander', 'Native Hawaiian or Other Pacific Islander'], ['Other', 'Other'], ['Prefer not to say', 'Prefer not to say']], label='3. Choose one or more races that you consider yourself to be.', widget=widgets.RadioSelect) Ethnicity = models.StringField(choices=[['Yes', 'Yes'], ['No', 'No']], label='4. Are you of Spanish, Hispanic, or Latino origin?', widget=widgets.RadioSelect) Student_Status = models.StringField(choices=[['Undergraduate student', 'Undergraduate student'], ['Graduate student', 'Graduate student'], ['Non-degree seeking student', 'Non-degree seeking student'], ['Other', 'Other']], label='5. What is your current student status?', widget=widgets.RadioSelect) Year_in_School = models.StringField(choices=[['1st', '1st'], ['2nd', '2nd'], ['3rd', '3rd'], ['4th', '4th'], ['5th +', '5th +'], ['Other', 'Other']], label='6. What is your current year in school?', widget=widgets.RadioSelect) Major = models.StringField(label='7. What is your major area of study? (If you have multiple, list all of them.)') Minor = models.StringField(blank=True, label='8. What is your minor area of study? (If you have multiple, list all of them.)') Thoughts_Choices_of_Myself = models.LongStringField(label='9. For your real decisions in the experiment, what was the thought process behind your choices?') Comprehension_H1 = models.StringField(choices=[['Correct', 'You will move on to the Blue Choice Task, and your payment will be determined by the decision you make in the Blue Choice Task.'], ['Incorrect1', 'You will move on to the Blue Choice Task, but your payment will be determined by the decision you made in the Red Choice Task.'], ['Incorrect2', 'You will NOT move on to the Blue Choice Task, and your payment will be determined by the decision you made in the Red Choice Task.']], label='1. If "Heads" is flipped for the number in the top-right corner of your screen, which of the following is true? (Select one)', widget=widgets.RadioSelect) Comprehension_H2 = models.StringField(choices=[['Incorrect2', 'Both the draw from Bag A and the draw from Bag B are relevant for your payment, regardless of which bag you choose in the Blue Choice Task.'], ['Incorrect1', 'You will choose between Bag A and Bag B, and you will be paid if red is drawn from the bag you choose.'], ['Correct', 'You will choose between Bag A and Bag B, and you will be paid if blue is drawn from the bag you choose.']], label='2. If you move on to the Blue Choice Task, which of the following is true? (Select one)', widget=widgets.RadioSelect) Comprehension_T1 = models.StringField(choices=[['Incorrect1', 'You will move on to the Blue Choice Task, and your payment will be determined by the decision you make in the Blue Choice Task.'], ['Incorrect2', 'You will move on to the Blue Choice Task, but your payment will be determined by the decision you made in the Red Choice Task.'], ['Correct', 'You will NOT move on to the Blue Choice Task, and your payment will be determined by the decision you made in the Red Choice Task.']], label='1. If "Tails" is flipped for the number in the top-right corner of your screen, which of the following is true? (Select one)', widget=widgets.RadioSelect) Comprehension_T2 = models.StringField(choices=[['Correct', 'Depending on your choice between Bag A and Bag B in the Red Choice Task, you will be paid if red is drawn from the bag you selected.'], ['Incorrect2', 'Both the draw from Bag A and the draw from Bag B are relevant for your payment, regardless of which bag you chose in the Red Choice Task.'], ['Incorrect1', 'Depending on your choice between Bag A and Bag B in the Red Choice Task, you will be paid if blue is drawn from the bag you selected.']], label='2. If you do NOT move on to the Blue Choice Task, which of the following is true? (Select one)', widget=widgets.RadioSelect) Info_Sheet = models.StringField(choices=[['N/A', 'N/A'], ['Confirmed', 'Confirmed']], initial='N/A') Comprehension_ResultsT = models.StringField(choices=[['Q1 Incorrect', 'Q1 Incorrect'], ['Q2 Incorrect', 'Q2 Incorrect'], ['Both Incorrect', 'Both Incorrect'], ['Both Correct', 'Both Correct'], ['N/A', 'N/A']], initial='N/A') Comprehension_ResultsT_Retry = models.StringField(choices=[['Q1 Incorrect', 'Q1 Incorrect'], ['Q2 Incorrect', 'Q2 Incorrect'], ['Both Incorrect', 'Both Incorrect'], ['Both Correct', 'Both Correct'], ['N/A', 'N/A']], initial='N/A') Comprehension_ResultsH = models.StringField(choices=[['Q1 Incorrect', 'Q1 Incorrect'], ['Q2 Incorrect', 'Q2 Incorrect'], ['Both Incorrect', 'Both Incorrect'], ['Both Correct', 'Both Correct'], ['N/A', 'N/A']], initial='N/A') Comprehension_ResultsH_Retry = models.StringField(choices=[['Q1 Incorrect', 'Q1 Incorrect'], ['Q2 Incorrect', 'Q2 Incorrect'], ['Both Incorrect', 'Both Incorrect'], ['Both Correct', 'Both Correct'], ['N/A', 'N/A']], initial='N/A') Race_White = models.IntegerField(blank=True, choices=[[1, 'White or Caucasian']], initial=0, widget=widgets.RadioSelect) Race_Black = models.IntegerField(blank=True, choices=[[1, 'Black or African American']], initial=0, widget=widgets.RadioSelect) Race_American_Indian = models.IntegerField(blank=True, choices=[[1, 'American Indian/Native American or Alaska Native']], initial=0, widget=widgets.RadioSelect) Race_Asian = models.IntegerField(blank=True, choices=[[1, 'Asian']], initial=0, widget=widgets.RadioSelect) Race_Hawaiian = models.IntegerField(blank=True, choices=[[1, 'Native Hawaiian or Other Pacific Islander']], initial=0, widget=widgets.RadioSelect) Race_Other = models.IntegerField(blank=True, choices=[[1, 'Other']], initial=0, widget=widgets.RadioSelect) Race_Prefer_Not = models.IntegerField(blank=True, choices=[[1, 'Prefer not to say']], initial=0, widget=widgets.RadioSelect) Wrong_Attempts_ComprehensionH1 = models.IntegerField(initial=0) Wrong_Attempts_ComprehensionH2 = models.IntegerField(initial=0) Wrong_Attempts_ComprehensionT1 = models.IntegerField(initial=0) Wrong_Attempts_ComprehensionT2 = models.IntegerField(initial=0) Risky_Bag_Practice_1 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue'], ['N/A', 'N/A']], widget=widgets.RadioSelectHorizontal) Ambiguous_Bag_Practice_1 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue'], ['N/A', 'N/A']], widget=widgets.RadioSelectHorizontal) Risky_Bag_Practice_2 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue'], ['N/A', 'N/A']], widget=widgets.RadioSelectHorizontal) Ambiguous_Bag_Practice_2 = models.StringField(choices=[['Red', 'Red'], ['Blue', 'Blue'], ['N/A', 'N/A']], widget=widgets.RadioSelectHorizontal) def live_1instructions(player: Player, data): if data == "Proceed": return {0: "advance"} return {} def live_1info_sheet(player: Player, data): group = player.group if data == "Proceed": return {0: "advance"} player.Info_Sheet = data.get("Info_Sheet") Participant_Number = player.Participant_Number Info_Sheet = player.Info_Sheet if Participant_Number == 1: if Info_Sheet == "Confirmed": group.Info_Sheet_1 = "Confirmed" if Participant_Number == 2: if Info_Sheet == "Confirmed": group.Info_Sheet_2 = "Confirmed" if Participant_Number == 3: if Info_Sheet == "Confirmed": group.Info_Sheet_3 = "Confirmed" if Participant_Number == 4: if Info_Sheet == "Confirmed": group.Info_Sheet_4 = "Confirmed" if Participant_Number == 5: if Info_Sheet == "Confirmed": group.Info_Sheet_5 = "Confirmed" if Participant_Number == 6: if Info_Sheet == "Confirmed": group.Info_Sheet_6 = "Confirmed" if Participant_Number == 7: if Info_Sheet == "Confirmed": group.Info_Sheet_7 = "Confirmed" if Participant_Number == 8: if Info_Sheet == "Confirmed": group.Info_Sheet_8 = "Confirmed" if Participant_Number == 9: if Info_Sheet == "Confirmed": group.Info_Sheet_9 = "Confirmed" if Participant_Number == 10: if Info_Sheet == "Confirmed": group.Info_Sheet_10 = "Confirmed" if Participant_Number == 11: if Info_Sheet == "Confirmed": group.Info_Sheet_11 = "Confirmed" if Participant_Number == 12: if Info_Sheet == "Confirmed": group.Info_Sheet_12 = "Confirmed" if Participant_Number == 13: if Info_Sheet == "Confirmed": group.Info_Sheet_13 = "Confirmed" if Participant_Number == 14: if Info_Sheet == "Confirmed": group.Info_Sheet_14 = "Confirmed" if Participant_Number == 15: if Info_Sheet == "Confirmed": group.Info_Sheet_15 = "Confirmed" if Participant_Number == 16: if Info_Sheet == "Confirmed": group.Info_Sheet_16 = "Confirmed" if Participant_Number == 17: if Info_Sheet == "Confirmed": group.Info_Sheet_17 = "Confirmed" if Participant_Number == 18: if Info_Sheet == "Confirmed": group.Info_Sheet_18 = "Confirmed" if Participant_Number == 19: if Info_Sheet == "Confirmed": group.Info_Sheet_19 = "Confirmed" if Participant_Number == 20: if Info_Sheet == "Confirmed": group.Info_Sheet_20 = "Confirmed" if Participant_Number == 21: if Info_Sheet == "Confirmed": group.Info_Sheet_21 = "Confirmed" if Info_Sheet == "UnlockButtons": return { 0: { "Info_Sheet_1": group.Info_Sheet_1, "Info_Sheet_2": group.Info_Sheet_2, "Info_Sheet_3": group.Info_Sheet_3, "Info_Sheet_4": group.Info_Sheet_4, "Info_Sheet_5": group.Info_Sheet_5, "Info_Sheet_6": group.Info_Sheet_6, "Info_Sheet_7": group.Info_Sheet_7, "Info_Sheet_8": group.Info_Sheet_8, "Info_Sheet_9": group.Info_Sheet_9, "Info_Sheet_10": group.Info_Sheet_10, "Info_Sheet_11": group.Info_Sheet_11, "Info_Sheet_12": group.Info_Sheet_12, "Info_Sheet_13": group.Info_Sheet_13, "Info_Sheet_14": group.Info_Sheet_14, "Info_Sheet_15": group.Info_Sheet_15, "Info_Sheet_16": group.Info_Sheet_16, "Info_Sheet_17": group.Info_Sheet_17, "Info_Sheet_18": group.Info_Sheet_18, "Info_Sheet_19": group.Info_Sheet_19, "Info_Sheet_20": group.Info_Sheet_20, "Info_Sheet_21": group.Info_Sheet_21, "Unlock": "Yes" } } else: return { 0: { "Info_Sheet_1": group.Info_Sheet_1, "Info_Sheet_2": group.Info_Sheet_2, "Info_Sheet_3": group.Info_Sheet_3, "Info_Sheet_4": group.Info_Sheet_4, "Info_Sheet_5": group.Info_Sheet_5, "Info_Sheet_6": group.Info_Sheet_6, "Info_Sheet_7": group.Info_Sheet_7, "Info_Sheet_8": group.Info_Sheet_8, "Info_Sheet_9": group.Info_Sheet_9, "Info_Sheet_10": group.Info_Sheet_10, "Info_Sheet_11": group.Info_Sheet_11, "Info_Sheet_12": group.Info_Sheet_12, "Info_Sheet_13": group.Info_Sheet_13, "Info_Sheet_14": group.Info_Sheet_14, "Info_Sheet_15": group.Info_Sheet_15, "Info_Sheet_16": group.Info_Sheet_16, "Info_Sheet_17": group.Info_Sheet_17, "Info_Sheet_18": group.Info_Sheet_18, "Info_Sheet_19": group.Info_Sheet_19, "Info_Sheet_20": group.Info_Sheet_20, "Info_Sheet_21": group.Info_Sheet_21, "Unlock": "No" } } def live_1practice_1a(player: Player, data): group = player.group if data == "Proceed": return{0: "advance"} player.Bet_Red_Practice1 = data.get("Bet_Red_Practice1") Subject_Number = player.Subject_Number Bet_Red_Practice1 = player.Bet_Red_Practice1 if Subject_Number == 1: if Bet_Red_Practice1 == "Risky": group.S1_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S1_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 2: if Bet_Red_Practice1 == "Risky": group.S2_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S2_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 3: if Bet_Red_Practice1 == "Risky": group.S3_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S3_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 4: if Bet_Red_Practice1 == "Risky": group.S4_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S4_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 5: if Bet_Red_Practice1 == "Risky": group.S5_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S5_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 6: if Bet_Red_Practice1 == "Risky": group.S6_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S6_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 7: if Bet_Red_Practice1 == "Risky": group.S7_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S7_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 8: if Bet_Red_Practice1 == "Risky": group.S8_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S8_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 9: if Bet_Red_Practice1 == "Risky": group.S9_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S9_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 10: if Bet_Red_Practice1 == "Risky": group.S10_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S10_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 11: if Bet_Red_Practice1 == "Risky": group.S11_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S11_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 12: if Bet_Red_Practice1 == "Risky": group.S12_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S12_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 13: if Bet_Red_Practice1 == "Risky": group.S13_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S13_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 14: if Bet_Red_Practice1 == "Risky": group.S14_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S14_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 15: if Bet_Red_Practice1 == "Risky": group.S15_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S15_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 16: if Bet_Red_Practice1 == "Risky": group.S16_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S16_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 17: if Bet_Red_Practice1 == "Risky": group.S17_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S17_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 18: if Bet_Red_Practice1 == "Risky": group.S18_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S18_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 19: if Bet_Red_Practice1 == "Risky": group.S19_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S19_Bet_Red_Practice1 = "Ambiguous" if Subject_Number == 20: if Bet_Red_Practice1 == "Risky": group.S20_Bet_Red_Practice1 = "Risky" elif Bet_Red_Practice1 == "Ambiguous": group.S20_Bet_Red_Practice1 = "Ambiguous" return { 0: { "S1_Bet_Red_Practice1": group.S1_Bet_Red_Practice1, "S2_Bet_Red_Practice1": group.S2_Bet_Red_Practice1, "S3_Bet_Red_Practice1": group.S3_Bet_Red_Practice1, "S4_Bet_Red_Practice1": group.S4_Bet_Red_Practice1, "S5_Bet_Red_Practice1": group.S5_Bet_Red_Practice1, "S6_Bet_Red_Practice1": group.S6_Bet_Red_Practice1, "S7_Bet_Red_Practice1": group.S7_Bet_Red_Practice1, "S8_Bet_Red_Practice1": group.S8_Bet_Red_Practice1, "S9_Bet_Red_Practice1": group.S9_Bet_Red_Practice1, "S10_Bet_Red_Practice1": group.S10_Bet_Red_Practice1, "S11_Bet_Red_Practice1": group.S11_Bet_Red_Practice1, "S12_Bet_Red_Practice1": group.S12_Bet_Red_Practice1, "S13_Bet_Red_Practice1": group.S13_Bet_Red_Practice1, "S14_Bet_Red_Practice1": group.S14_Bet_Red_Practice1, "S15_Bet_Red_Practice1": group.S15_Bet_Red_Practice1, "S16_Bet_Red_Practice1": group.S16_Bet_Red_Practice1, "S17_Bet_Red_Practice1": group.S17_Bet_Red_Practice1, "S18_Bet_Red_Practice1": group.S18_Bet_Red_Practice1, "S19_Bet_Red_Practice1": group.S19_Bet_Red_Practice1, "S20_Bet_Red_Practice1": group.S20_Bet_Red_Practice1, } } def live_1decision_1(player: Player, data): group = player.group if data == "Proceed": return{0: "advance"} player.Bet_Red = data.get("Bet_Red") Subject_Number = player.Subject_Number Bet_Red = player.Bet_Red if Subject_Number == 1: if Bet_Red == "Risky": group.S1_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S1_Bet_Red = "Ambiguous" if Subject_Number == 2: if Bet_Red == "Risky": group.S2_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S2_Bet_Red = "Ambiguous" if Subject_Number == 3: if Bet_Red == "Risky": group.S3_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S3_Bet_Red = "Ambiguous" if Subject_Number == 4: if Bet_Red == "Risky": group.S4_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S4_Bet_Red = "Ambiguous" if Subject_Number == 5: if Bet_Red == "Risky": group.S5_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S5_Bet_Red = "Ambiguous" if Subject_Number == 6: if Bet_Red == "Risky": group.S6_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S6_Bet_Red = "Ambiguous" if Subject_Number == 7: if Bet_Red == "Risky": group.S7_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S7_Bet_Red = "Ambiguous" if Subject_Number == 8: if Bet_Red == "Risky": group.S8_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S8_Bet_Red = "Ambiguous" if Subject_Number == 9: if Bet_Red == "Risky": group.S9_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S9_Bet_Red = "Ambiguous" if Subject_Number == 10: if Bet_Red == "Risky": group.S10_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S10_Bet_Red = "Ambiguous" if Subject_Number == 11: if Bet_Red == "Risky": group.S11_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S11_Bet_Red = "Ambiguous" if Subject_Number == 12: if Bet_Red == "Risky": group.S12_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S12_Bet_Red = "Ambiguous" if Subject_Number == 13: if Bet_Red == "Risky": group.S13_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S13_Bet_Red = "Ambiguous" if Subject_Number == 14: if Bet_Red == "Risky": group.S14_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S14_Bet_Red = "Ambiguous" if Subject_Number == 15: if Bet_Red == "Risky": group.S15_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S15_Bet_Red = "Ambiguous" if Subject_Number == 16: if Bet_Red == "Risky": group.S16_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S16_Bet_Red = "Ambiguous" if Subject_Number == 17: if Bet_Red == "Risky": group.S17_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S17_Bet_Red = "Ambiguous" if Subject_Number == 18: if Bet_Red == "Risky": group.S18_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S18_Bet_Red = "Ambiguous" if Subject_Number == 19: if Bet_Red == "Risky": group.S19_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S19_Bet_Red = "Ambiguous" if Subject_Number == 20: if Bet_Red == "Risky": group.S20_Bet_Red = "Risky" elif Bet_Red == "Ambiguous": group.S20_Bet_Red = "Ambiguous" return { 0: { "S1_Bet_Red": group.S1_Bet_Red, "S2_Bet_Red": group.S2_Bet_Red, "S3_Bet_Red": group.S3_Bet_Red, "S4_Bet_Red": group.S4_Bet_Red, "S5_Bet_Red": group.S5_Bet_Red, "S6_Bet_Red": group.S6_Bet_Red, "S7_Bet_Red": group.S7_Bet_Red, "S8_Bet_Red": group.S8_Bet_Red, "S9_Bet_Red": group.S9_Bet_Red, "S10_Bet_Red": group.S10_Bet_Red, "S11_Bet_Red": group.S11_Bet_Red, "S12_Bet_Red": group.S12_Bet_Red, "S13_Bet_Red": group.S13_Bet_Red, "S14_Bet_Red": group.S14_Bet_Red, "S15_Bet_Red": group.S15_Bet_Red, "S16_Bet_Red": group.S16_Bet_Red, "S17_Bet_Red": group.S17_Bet_Red, "S18_Bet_Red": group.S18_Bet_Red, "S19_Bet_Red": group.S19_Bet_Red, "S20_Bet_Red": group.S20_Bet_Red, } } def live_1practice_2a(player: Player, data): group = player.group if data == "Proceed": return{0: "advance"} player.Bet_Red_Practice2 = data.get("Bet_Red_Practice2") Subject_Number = player.Subject_Number Bet_Red_Practice2 = player.Bet_Red_Practice2 if Subject_Number == 1: if Bet_Red_Practice2 == "Risky": group.S1_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S1_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 2: if Bet_Red_Practice2 == "Risky": group.S2_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S2_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 3: if Bet_Red_Practice2 == "Risky": group.S3_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S3_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 4: if Bet_Red_Practice2 == "Risky": group.S4_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S4_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 5: if Bet_Red_Practice2 == "Risky": group.S5_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S5_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 6: if Bet_Red_Practice2 == "Risky": group.S6_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S6_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 7: if Bet_Red_Practice2 == "Risky": group.S7_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S7_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 8: if Bet_Red_Practice2 == "Risky": group.S8_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S8_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 9: if Bet_Red_Practice2 == "Risky": group.S9_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S9_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 10: if Bet_Red_Practice2 == "Risky": group.S10_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S10_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 11: if Bet_Red_Practice2 == "Risky": group.S11_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S11_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 12: if Bet_Red_Practice2 == "Risky": group.S12_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S12_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 13: if Bet_Red_Practice2 == "Risky": group.S13_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S13_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 14: if Bet_Red_Practice2 == "Risky": group.S14_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S14_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 15: if Bet_Red_Practice2 == "Risky": group.S15_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S15_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 16: if Bet_Red_Practice2 == "Risky": group.S16_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S16_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 17: if Bet_Red_Practice2 == "Risky": group.S17_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S17_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 18: if Bet_Red_Practice2 == "Risky": group.S18_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S18_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 19: if Bet_Red_Practice2 == "Risky": group.S19_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S19_Bet_Red_Practice2 = "Ambiguous" if Subject_Number == 20: if Bet_Red_Practice2 == "Risky": group.S20_Bet_Red_Practice2 = "Risky" elif Bet_Red_Practice2 == "Ambiguous": group.S20_Bet_Red_Practice2 = "Ambiguous" return { 0: { "S1_Bet_Red_Practice2": group.S1_Bet_Red_Practice2, "S2_Bet_Red_Practice2": group.S2_Bet_Red_Practice2, "S3_Bet_Red_Practice2": group.S3_Bet_Red_Practice2, "S4_Bet_Red_Practice2": group.S4_Bet_Red_Practice2, "S5_Bet_Red_Practice2": group.S5_Bet_Red_Practice2, "S6_Bet_Red_Practice2": group.S6_Bet_Red_Practice2, "S7_Bet_Red_Practice2": group.S7_Bet_Red_Practice2, "S8_Bet_Red_Practice2": group.S8_Bet_Red_Practice2, "S9_Bet_Red_Practice2": group.S9_Bet_Red_Practice2, "S10_Bet_Red_Practice2": group.S10_Bet_Red_Practice2, "S11_Bet_Red_Practice2": group.S11_Bet_Red_Practice2, "S12_Bet_Red_Practice2": group.S12_Bet_Red_Practice2, "S13_Bet_Red_Practice2": group.S13_Bet_Red_Practice2, "S14_Bet_Red_Practice2": group.S14_Bet_Red_Practice2, "S15_Bet_Red_Practice2": group.S15_Bet_Red_Practice2, "S16_Bet_Red_Practice2": group.S16_Bet_Red_Practice2, "S17_Bet_Red_Practice2": group.S17_Bet_Red_Practice2, "S18_Bet_Red_Practice2": group.S18_Bet_Red_Practice2, "S19_Bet_Red_Practice2": group.S19_Bet_Red_Practice2, "S20_Bet_Red_Practice2": group.S20_Bet_Red_Practice2, } } def live_1practice_1b(player: Player, data): group = player.group player.Bet_Blue_Practice1 = data.get("Blue_Practice1") Subject_Number = player.Subject_Number Bet_Blue_Practice1 = player.Bet_Blue_Practice1 if Subject_Number == 1: if Bet_Blue_Practice1 == "Risky": group.S1_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S1_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 2: if Bet_Blue_Practice1 == "Risky": group.S2_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S2_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 3: if Bet_Blue_Practice1 == "Risky": group.S3_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S3_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 4: if Bet_Blue_Practice1 == "Risky": group.S4_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S4_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 5: if Bet_Blue_Practice1 == "Risky": group.S5_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S5_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 6: if Bet_Blue_Practice1 == "Risky": group.S6_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S6_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 7: if Bet_Blue_Practice1 == "Risky": group.S7_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S7_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 8: if Bet_Blue_Practice1 == "Risky": group.S8_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S8_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 9: if Bet_Blue_Practice1 == "Risky": group.S9_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S9_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 10: if Bet_Blue_Practice1 == "Risky": group.S10_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S10_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 11: if Bet_Blue_Practice1 == "Risky": group.S11_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S11_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 12: if Bet_Blue_Practice1 == "Risky": group.S12_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S12_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 13: if Bet_Blue_Practice1 == "Risky": group.S13_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S13_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 14: if Bet_Blue_Practice1 == "Risky": group.S14_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S14_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 15: if Bet_Blue_Practice1 == "Risky": group.S15_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S15_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 16: if Bet_Blue_Practice1 == "Risky": group.S16_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S16_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 17: if Bet_Blue_Practice1 == "Risky": group.S17_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S17_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 18: if Bet_Blue_Practice1 == "Risky": group.S18_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S18_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 19: if Bet_Blue_Practice1 == "Risky": group.S19_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S19_Bet_Blue_Practice1 = "Ambiguous" if Subject_Number == 20: if Bet_Blue_Practice1 == "Risky": group.S20_Bet_Blue_Practice1 = "Risky" elif Bet_Blue_Practice1 == "Ambiguous": group.S20_Bet_Blue_Practice1 = "Ambiguous" if data.get("Proceed") == "Proceed": return{0: "advance"} if data.get("Submit") == "Submit": return{0: "results"} if data.get("Submit") == "No" and data.get("Proceed") == "No": return { 0: { "S1_Bet_Blue_Practice1": group.S1_Bet_Blue_Practice1, "S2_Bet_Blue_Practice1": group.S2_Bet_Blue_Practice1, "S3_Bet_Blue_Practice1": group.S3_Bet_Blue_Practice1, "S4_Bet_Blue_Practice1": group.S4_Bet_Blue_Practice1, "S5_Bet_Blue_Practice1": group.S5_Bet_Blue_Practice1, "S6_Bet_Blue_Practice1": group.S6_Bet_Blue_Practice1, "S7_Bet_Blue_Practice1": group.S7_Bet_Blue_Practice1, "S8_Bet_Blue_Practice1": group.S8_Bet_Blue_Practice1, "S9_Bet_Blue_Practice1": group.S9_Bet_Blue_Practice1, "S10_Bet_Blue_Practice1": group.S10_Bet_Blue_Practice1, "S11_Bet_Blue_Practice1": group.S11_Bet_Blue_Practice1, "S12_Bet_Blue_Practice1": group.S12_Bet_Blue_Practice1, "S13_Bet_Blue_Practice1": group.S13_Bet_Blue_Practice1, "S14_Bet_Blue_Practice1": group.S14_Bet_Blue_Practice1, "S15_Bet_Blue_Practice1": group.S15_Bet_Blue_Practice1, "S16_Bet_Blue_Practice1": group.S16_Bet_Blue_Practice1, "S17_Bet_Blue_Practice1": group.S17_Bet_Blue_Practice1, "S18_Bet_Blue_Practice1": group.S18_Bet_Blue_Practice1, "S19_Bet_Blue_Practice1": group.S19_Bet_Blue_Practice1, "S20_Bet_Blue_Practice1": group.S20_Bet_Blue_Practice1, "Bet_Blue_Practice1": Bet_Blue_Practice1 } } def live_1decision_2_h(player: Player, data): group = player.group player.Bet_Blue = data.get("Blue") Subject_Number = player.Subject_Number Bet_Blue = player.Bet_Blue if Subject_Number == 1: if Bet_Blue == "Risky": group.S1_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S1_Bet_Blue = "Ambiguous" if Subject_Number == 2: if Bet_Blue == "Risky": group.S2_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S2_Bet_Blue = "Ambiguous" if Subject_Number == 3: if Bet_Blue == "Risky": group.S3_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S3_Bet_Blue = "Ambiguous" if Subject_Number == 4: if Bet_Blue == "Risky": group.S4_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S4_Bet_Blue = "Ambiguous" if Subject_Number == 5: if Bet_Blue == "Risky": group.S5_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S5_Bet_Blue = "Ambiguous" if Subject_Number == 6: if Bet_Blue == "Risky": group.S6_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S6_Bet_Blue = "Ambiguous" if Subject_Number == 7: if Bet_Blue == "Risky": group.S7_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S7_Bet_Blue = "Ambiguous" if Subject_Number == 8: if Bet_Blue == "Risky": group.S8_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S8_Bet_Blue = "Ambiguous" if Subject_Number == 9: if Bet_Blue == "Risky": group.S9_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S9_Bet_Blue = "Ambiguous" if Subject_Number == 10: if Bet_Blue == "Risky": group.S10_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S10_Bet_Blue = "Ambiguous" if Subject_Number == 11: if Bet_Blue == "Risky": group.S11_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S11_Bet_Blue = "Ambiguous" if Subject_Number == 12: if Bet_Blue == "Risky": group.S12_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S12_Bet_Blue = "Ambiguous" if Subject_Number == 13: if Bet_Blue == "Risky": group.S13_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S13_Bet_Blue = "Ambiguous" if Subject_Number == 14: if Bet_Blue == "Risky": group.S14_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S14_Bet_Blue = "Ambiguous" if Subject_Number == 15: if Bet_Blue == "Risky": group.S15_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S15_Bet_Blue = "Ambiguous" if Subject_Number == 16: if Bet_Blue == "Risky": group.S16_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S16_Bet_Blue = "Ambiguous" if Subject_Number == 17: if Bet_Blue == "Risky": group.S17_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S17_Bet_Blue = "Ambiguous" if Subject_Number == 18: if Bet_Blue == "Risky": group.S18_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S18_Bet_Blue = "Ambiguous" if Subject_Number == 19: if Bet_Blue == "Risky": group.S19_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S19_Bet_Blue = "Ambiguous" if Subject_Number == 20: if Bet_Blue == "Risky": group.S20_Bet_Blue = "Risky" elif Bet_Blue == "Ambiguous": group.S20_Bet_Blue = "Ambiguous" if data.get("Proceed") == "Proceed": return{0: "advance"} if data.get("Submit") == "Submit": return{0: "results"} if data.get("Submit") == "No" and data.get("Proceed") == "No": return { 0: { "S1_Bet_Blue": group.S1_Bet_Blue, "S2_Bet_Blue": group.S2_Bet_Blue, "S3_Bet_Blue": group.S3_Bet_Blue, "S4_Bet_Blue": group.S4_Bet_Blue, "S5_Bet_Blue": group.S5_Bet_Blue, "S6_Bet_Blue": group.S6_Bet_Blue, "S7_Bet_Blue": group.S7_Bet_Blue, "S8_Bet_Blue": group.S8_Bet_Blue, "S9_Bet_Blue": group.S9_Bet_Blue, "S10_Bet_Blue": group.S10_Bet_Blue, "S11_Bet_Blue": group.S11_Bet_Blue, "S12_Bet_Blue": group.S12_Bet_Blue, "S13_Bet_Blue": group.S13_Bet_Blue, "S14_Bet_Blue": group.S14_Bet_Blue, "S15_Bet_Blue": group.S15_Bet_Blue, "S16_Bet_Blue": group.S16_Bet_Blue, "S17_Bet_Blue": group.S17_Bet_Blue, "S18_Bet_Blue": group.S18_Bet_Blue, "S19_Bet_Blue": group.S19_Bet_Blue, "S20_Bet_Blue": group.S20_Bet_Blue, "Bet_Blue": Bet_Blue } } def live_1subject_experimenter_radio(player: Player, data): group = player.group if data.get('message') == 'Experimenter role confirmed': player.Role_Subject_or_Experimenter = 'Experimenter' group.Experimenter_Selected = True if group.Experimenter_Selected == True: return {0: {'experimenter_chosen': True}} def live_1participant_number(player: Player, data): group = player.group if data == "Proceed": return {0: "advance"} if data.get("Participant_Number") == "1": group.Participant_Number_Confirmed_1 = "Confirmed" if data.get("Participant_Number") == "2": group.Participant_Number_Confirmed_2 = "Confirmed" if data.get("Participant_Number") == "3": group.Participant_Number_Confirmed_3 = "Confirmed" if data.get("Participant_Number") == "4": group.Participant_Number_Confirmed_4 = "Confirmed" if data.get("Participant_Number") == "5": group.Participant_Number_Confirmed_5 = "Confirmed" if data.get("Participant_Number") == "6": group.Participant_Number_Confirmed_6 = "Confirmed" if data.get("Participant_Number") == "7": group.Participant_Number_Confirmed_7 = "Confirmed" if data.get("Participant_Number") == "8": group.Participant_Number_Confirmed_8 = "Confirmed" if data.get("Participant_Number") == "9": group.Participant_Number_Confirmed_9 = "Confirmed" if data.get("Participant_Number") == "10": group.Participant_Number_Confirmed_10 = "Confirmed" if data.get("Participant_Number") == "11": group.Participant_Number_Confirmed_11 = "Confirmed" if data.get("Participant_Number") == "12": group.Participant_Number_Confirmed_12 = "Confirmed" if data.get("Participant_Number") == "13": group.Participant_Number_Confirmed_13 = "Confirmed" if data.get("Participant_Number") == "14": group.Participant_Number_Confirmed_14 = "Confirmed" if data.get("Participant_Number") == "15": group.Participant_Number_Confirmed_15 = "Confirmed" if data.get("Participant_Number") == "16": group.Participant_Number_Confirmed_16 = "Confirmed" if data.get("Participant_Number") == "17": group.Participant_Number_Confirmed_17 = "Confirmed" if data.get("Participant_Number") == "18": group.Participant_Number_Confirmed_18 = "Confirmed" if data.get("Participant_Number") == "19": group.Participant_Number_Confirmed_19 = "Confirmed" if data.get("Participant_Number") == "20": group.Participant_Number_Confirmed_20 = "Confirmed" if data.get("Participant_Number") == "21": group.Participant_Number_Confirmed_21 = "Confirmed" return { 0: { "Participant_Number_1": group.Participant_Number_Confirmed_1, "Participant_Number_2": group.Participant_Number_Confirmed_2, "Participant_Number_3": group.Participant_Number_Confirmed_3, "Participant_Number_4": group.Participant_Number_Confirmed_4, "Participant_Number_5": group.Participant_Number_Confirmed_5, "Participant_Number_6": group.Participant_Number_Confirmed_6, "Participant_Number_7": group.Participant_Number_Confirmed_7, "Participant_Number_8": group.Participant_Number_Confirmed_8, "Participant_Number_9": group.Participant_Number_Confirmed_9, "Participant_Number_10": group.Participant_Number_Confirmed_10, "Participant_Number_11": group.Participant_Number_Confirmed_11, "Participant_Number_12": group.Participant_Number_Confirmed_12, "Participant_Number_13": group.Participant_Number_Confirmed_13, "Participant_Number_14": group.Participant_Number_Confirmed_14, "Participant_Number_15": group.Participant_Number_Confirmed_15, "Participant_Number_16": group.Participant_Number_Confirmed_16, "Participant_Number_17": group.Participant_Number_Confirmed_17, "Participant_Number_18": group.Participant_Number_Confirmed_18, "Participant_Number_19": group.Participant_Number_Confirmed_19, "Participant_Number_20": group.Participant_Number_Confirmed_20, "Participant_Number_21": group.Participant_Number_Confirmed_21, } } def custom_export(players): yield ['participant_code', 'id_in_group'] for p in players: pp = p.participant yield [pp.code, p.id_in_group] class EXPERIMENTER_OR_SUBJECT(Page): form_model = 'player' form_fields = ['Role_Subject_or_Experimenter'] @staticmethod def before_next_page(player: Player, timeout_happened): if player.Role_Subject_or_Experimenter == "Experimenter": player.Subject_Number = 999; player.Participant_Number = 999; if player.Role_Subject_or_Experimenter == "Inactive": player.Subject_Number = 0; live_method = live_1subject_experimenter_radio class PARTICIPANT_NUMBER(Page): form_model = 'player' form_fields = ['Participant_Number'] @staticmethod def vars_for_template(player: Player): return dict(Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def js_vars(player: Player): return dict(Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group if player.Participant_Number == 1: group.Subject_1 = "Active" if player.Participant_Number == 2: group.Subject_2 = "Active" if player.Participant_Number == 3: group.Subject_3 = "Active" if player.Participant_Number == 4: group.Subject_4 = "Active" if player.Participant_Number == 5: group.Subject_5 = "Active" if player.Participant_Number == 6: group.Subject_6 = "Active" if player.Participant_Number == 7: group.Subject_7 = "Active" if player.Participant_Number == 8: group.Subject_8 = "Active" if player.Participant_Number == 9: group.Subject_9 = "Active" if player.Participant_Number == 10: group.Subject_10 = "Active" if player.Participant_Number == 11: group.Subject_11 = "Active" if player.Participant_Number == 12: group.Subject_12 = "Active" if player.Participant_Number == 13: group.Subject_13 = "Active" if player.Participant_Number == 14: group.Subject_14 = "Active" if player.Participant_Number == 15: group.Subject_15 = "Active" if player.Participant_Number == 16: group.Subject_16 = "Active" if player.Participant_Number == 17: group.Subject_17 = "Active" if player.Participant_Number == 18: group.Subject_18 = "Active" if player.Participant_Number == 19: group.Subject_19 = "Active" if player.Participant_Number == 20: group.Subject_20 = "Active" if player.Participant_Number == 21: group.Subject_21 = "Active" live_method = live_1participant_number class NUMBER_OF_SUBJECTS(Page): form_model = 'player' form_fields = ['Number_of_Subjects'] @staticmethod def is_displayed(player: Player): return(player.Role_Subject_or_Experimenter == "Subject" or player.Role_Subject_or_Experimenter == "Experimenter" or player.Role_Subject_or_Experimenter == "Implementer") @staticmethod def vars_for_template(player: Player): return dict(Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def js_vars(player: Player): return dict(Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group if player.Role_Subject_or_Experimenter == "Experimenter": if player.Number_of_Subjects == 1: group.Number_of_Subjects = 1 group.Participant_1 = 1 group.Participant_2 = 0 group.Participant_3 = 0 group.Participant_4 = 0 group.Participant_5 = 0 group.Participant_6 = 0 group.Participant_7 = 0 group.Participant_8 = 0 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 2: group.Number_of_Subjects = 2 group.Participant_1 = 1 group.Participant_2 = 2 group.Participant_3 = 0 group.Participant_4 = 0 group.Participant_5 = 0 group.Participant_6 = 0 group.Participant_7 = 0 group.Participant_8 = 0 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 3: group.Number_of_Subjects = 3 group.Participant_1 = 3 group.Participant_2 = 1 group.Participant_3 = 2 group.Participant_4 = 0 group.Participant_5 = 0 group.Participant_6 = 0 group.Participant_7 = 0 group.Participant_8 = 0 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 4: group.Number_of_Subjects = 4 group.Participant_1 = 2 group.Participant_2 = 1 group.Participant_3 = 4 group.Participant_4 = 3 group.Participant_5 = 0 group.Participant_6 = 0 group.Participant_7 = 0 group.Participant_8 = 0 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 5: group.Number_of_Subjects = 5 group.Participant_1 = 5 group.Participant_2 = 3 group.Participant_3 = 4 group.Participant_4 = 1 group.Participant_5 = 2 group.Participant_6 = 0 group.Participant_7 = 0 group.Participant_8 = 0 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 6: group.Number_of_Subjects = 6 group.Participant_1 = 3 group.Participant_2 = 1 group.Participant_3 = 2 group.Participant_4 = 6 group.Participant_5 = 5 group.Participant_6 = 4 group.Participant_7 = 0 group.Participant_8 = 0 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 7: group.Number_of_Subjects = 7 group.Participant_1 = 5 group.Participant_2 = 2 group.Participant_3 = 6 group.Participant_4 = 7 group.Participant_5 = 1 group.Participant_6 = 3 group.Participant_7 = 4 group.Participant_8 = 0 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 8: group.Number_of_Subjects = 8 group.Participant_1 = 4 group.Participant_2 = 8 group.Participant_3 = 6 group.Participant_4 = 3 group.Participant_5 = 2 group.Participant_6 = 7 group.Participant_7 = 1 group.Participant_8 = 5 group.Participant_9 = 0 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 9: group.Number_of_Subjects = 9 group.Participant_1 = 8 group.Participant_2 = 9 group.Participant_3 = 2 group.Participant_4 = 5 group.Participant_5 = 1 group.Participant_6 = 4 group.Participant_7 = 7 group.Participant_8 = 3 group.Participant_9 = 6 group.Participant_10 = 0 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 10: group.Number_of_Subjects = 10 group.Participant_1 = 4 group.Participant_2 = 8 group.Participant_3 = 9 group.Participant_4 = 6 group.Participant_5 = 1 group.Participant_6 = 3 group.Participant_7 = 10 group.Participant_8 = 7 group.Participant_9 = 2 group.Participant_10 = 5 group.Participant_11 = 0 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 11: group.Number_of_Subjects = 11 group.Participant_1 = 8 group.Participant_2 = 11 group.Participant_3 = 2 group.Participant_4 = 4 group.Participant_5 = 1 group.Participant_6 = 6 group.Participant_7 = 3 group.Participant_8 = 10 group.Participant_9 = 7 group.Participant_10 = 9 group.Participant_11 = 5 group.Participant_12 = 0 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 12: group.Number_of_Subjects = 12 group.Participant_1 = 1 group.Participant_2 = 5 group.Participant_3 = 2 group.Participant_4 = 6 group.Participant_5 = 9 group.Participant_6 = 4 group.Participant_7 = 11 group.Participant_8 = 7 group.Participant_9 = 3 group.Participant_10 = 8 group.Participant_11 = 10 group.Participant_12 = 12 group.Participant_13 = 0 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 13: group.Number_of_Subjects = 13 group.Participant_1 = 2 group.Participant_2 = 8 group.Participant_3 = 6 group.Participant_4 = 7 group.Participant_5 = 11 group.Participant_6 = 9 group.Participant_7 = 3 group.Participant_8 = 13 group.Participant_9 = 4 group.Participant_10 = 10 group.Participant_11 = 12 group.Participant_12 = 1 group.Participant_13 = 5 group.Participant_14 = 0 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 14: group.Number_of_Subjects = 14 group.Participant_1 = 5 group.Participant_2 = 4 group.Participant_3 = 10 group.Participant_4 = 9 group.Participant_5 = 14 group.Participant_6 = 3 group.Participant_7 = 11 group.Participant_8 = 6 group.Participant_9 = 1 group.Participant_10 = 2 group.Participant_11 = 8 group.Participant_12 = 13 group.Participant_13 = 12 group.Participant_14 = 7 group.Participant_15 = 0 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 15: group.Number_of_Subjects = 15 group.Participant_1 = 9 group.Participant_2 = 3 group.Participant_3 = 8 group.Participant_4 = 11 group.Participant_5 = 12 group.Participant_6 = 13 group.Participant_7 = 1 group.Participant_8 = 2 group.Participant_9 = 6 group.Participant_10 = 10 group.Participant_11 = 15 group.Participant_12 = 14 group.Participant_13 = 5 group.Participant_14 = 4 group.Participant_15 = 7 group.Participant_16 = 0 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 16: group.Number_of_Subjects = 16 group.Participant_1 = 8 group.Participant_2 = 10 group.Participant_3 = 1 group.Participant_4 = 4 group.Participant_5 = 9 group.Participant_6 = 3 group.Participant_7 = 14 group.Participant_8 = 15 group.Participant_9 = 13 group.Participant_10 = 12 group.Participant_11 = 16 group.Participant_12 = 2 group.Participant_13 = 7 group.Participant_14 = 6 group.Participant_15 = 11 group.Participant_16 = 5 group.Participant_17 = 0 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 17: group.Number_of_Subjects = 17 group.Participant_1 = 5 group.Participant_2 = 2 group.Participant_3 = 1 group.Participant_4 = 4 group.Participant_5 = 11 group.Participant_6 = 14 group.Participant_7 = 3 group.Participant_8 = 17 group.Participant_9 = 7 group.Participant_10 = 9 group.Participant_11 = 8 group.Participant_12 = 10 group.Participant_13 = 13 group.Participant_14 = 12 group.Participant_15 = 15 group.Participant_16 = 6 group.Participant_17 = 16 group.Participant_18 = 0 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 18: group.Number_of_Subjects = 18 group.Participant_1 = 12 group.Participant_2 = 10 group.Participant_3 = 16 group.Participant_4 = 15 group.Participant_5 = 7 group.Participant_6 = 8 group.Participant_7 = 9 group.Participant_8 = 6 group.Participant_9 = 3 group.Participant_10 = 17 group.Participant_11 = 14 group.Participant_12 = 4 group.Participant_13 = 2 group.Participant_14 = 1 group.Participant_15 = 11 group.Participant_16 = 18 group.Participant_17 = 5 group.Participant_18 = 13 group.Participant_19 = 0 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 19: group.Number_of_Subjects = 19 group.Participant_1 = 5 group.Participant_2 = 8 group.Participant_3 = 6 group.Participant_4 = 13 group.Participant_5 = 17 group.Participant_6 = 12 group.Participant_7 = 11 group.Participant_8 = 7 group.Participant_9 = 14 group.Participant_10 = 18 group.Participant_11 = 3 group.Participant_12 = 2 group.Participant_13 = 1 group.Participant_14 = 19 group.Participant_15 = 4 group.Participant_16 = 9 group.Participant_17 = 16 group.Participant_18 = 15 group.Participant_19 = 10 group.Participant_20 = 0 group.Participant_21 = 0 if player.Number_of_Subjects == 20: group.Number_of_Subjects = 20 group.Participant_1 = 18 group.Participant_2 = 8 group.Participant_3 = 13 group.Participant_4 = 11 group.Participant_5 = 3 group.Participant_6 = 4 group.Participant_7 = 9 group.Participant_8 = 10 group.Participant_9 = 2 group.Participant_10 = 14 group.Participant_11 = 19 group.Participant_12 = 15 group.Participant_13 = 12 group.Participant_14 = 17 group.Participant_15 = 20 group.Participant_16 = 5 group.Participant_17 = 1 group.Participant_18 = 7 group.Participant_19 = 16 group.Participant_20 = 6 group.Participant_21 = 0 if player.Number_of_Subjects == 21: group.Number_of_Subjects = 21 group.Participant_1 = 9 group.Participant_2 = 14 group.Participant_3 = 10 group.Participant_4 = 6 group.Participant_5 = 5 group.Participant_6 = 2 group.Participant_7 = 15 group.Participant_8 = 4 group.Participant_9 = 17 group.Participant_10 = 7 group.Participant_11 = 11 group.Participant_12 = 3 group.Participant_13 = 20 group.Participant_14 = 12 group.Participant_15 = 18 group.Participant_16 = 21 group.Participant_17 = 13 group.Participant_18 = 19 group.Participant_19 = 16 group.Participant_20 = 1 group.Participant_21 = 8 live_method = live_1instructions class INFORMATION_SHEET(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return(player.Role_Subject_or_Experimenter == "Subject" or player.Role_Subject_or_Experimenter == "Experimenter" or player.Role_Subject_or_Experimenter == "Implementer") @staticmethod def vars_for_template(player: Player): return dict(Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def js_vars(player: Player): group = player.group return dict(Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Participant_Number = player.Participant_Number, Participant_1 = group.Participant_1, Participant_2 = group.Participant_2, Participant_3 = group.Participant_3, Participant_4 = group.Participant_4, Participant_5 = group.Participant_5, Participant_6 = group.Participant_6, Participant_7 = group.Participant_7, Participant_8 = group.Participant_8, Participant_9 = group.Participant_9, Participant_10 = group.Participant_10, Participant_11 = group.Participant_11, Participant_12 = group.Participant_12, Participant_13 = group.Participant_13, Participant_14 = group.Participant_14, Participant_15 = group.Participant_15, Participant_16 = group.Participant_16, Participant_17 = group.Participant_17, Participant_18 = group.Participant_18, Participant_19 = group.Participant_19, Participant_20 = group.Participant_20, Participant_21 = group.Participant_21) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group if player.Participant_Number == 1: player.Subject_Number = group.Participant_1 if group.Number_of_Subjects < 1: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_1 = "Inactive" elif group.Participant_1 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_1 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_1 = "Inactive" if player.Participant_Number == 2: player.Subject_Number = group.Participant_2 if group.Number_of_Subjects < 2: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_2 = "Inactive" elif group.Participant_2 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_2 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_2 = "Inactive" if player.Participant_Number == 3: player.Subject_Number = group.Participant_3 if group.Number_of_Subjects < 3: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_3 = "Inactive" elif group.Participant_3 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_3 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_3 = "Inactive" if player.Participant_Number == 4: player.Subject_Number = group.Participant_4 if group.Number_of_Subjects < 4: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_4 = "Inactive" elif group.Participant_4 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_4 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_4 = "Inactive" if player.Participant_Number == 5: player.Subject_Number = group.Participant_5 if group.Number_of_Subjects < 5: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_5 = "Inactive" elif group.Participant_5 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_5 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_5 = "Inactive" if player.Participant_Number == 6: player.Subject_Number = group.Participant_6 if group.Number_of_Subjects < 6: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_6 = "Inactive" elif group.Participant_6 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_6 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_6 = "Inactive" if player.Participant_Number == 7: player.Subject_Number = group.Participant_7 if group.Number_of_Subjects < 7: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_7 = "Inactive" elif group.Participant_7 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_7 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_7 = "Inactive" if player.Participant_Number == 8: player.Subject_Number = group.Participant_8 if group.Number_of_Subjects < 8: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_8 = "Inactive" elif group.Participant_8 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_8 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_8 = "Inactive" if player.Participant_Number == 9: player.Subject_Number = group.Participant_9 if group.Number_of_Subjects < 9: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_9 = "Inactive" elif group.Participant_9 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_9 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_9 = "Inactive" if player.Participant_Number == 10: player.Subject_Number = group.Participant_10 if group.Number_of_Subjects < 10: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_10 = "Inactive" elif group.Participant_10 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_10 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_10 = "Inactive" if player.Participant_Number == 11: player.Subject_Number = group.Participant_11 if group.Number_of_Subjects < 11: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_11 = "Inactive" elif group.Participant_11 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_11 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_11 = "Inactive" if player.Participant_Number == 12: player.Subject_Number = group.Participant_12 if group.Number_of_Subjects < 12: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_12 = "Inactive" elif group.Participant_12 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_12 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_12 = "Inactive" if player.Participant_Number == 13: player.Subject_Number = group.Participant_13 if group.Number_of_Subjects < 13: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_13 = "Inactive" elif group.Participant_13 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_13 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_13 = "Inactive" if player.Participant_Number == 14: player.Subject_Number = group.Participant_14 if group.Number_of_Subjects < 14: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_14 = "Inactive" elif group.Participant_14 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_14 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_14 = "Inactive" if player.Participant_Number == 15: player.Subject_Number = group.Participant_15 if group.Number_of_Subjects < 15: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_15 = "Inactive" elif group.Participant_15 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_15 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_15 = "Inactive" if player.Participant_Number == 16: player.Subject_Number = group.Participant_16 if group.Number_of_Subjects < 16: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_16 = "Inactive" elif group.Participant_16 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_16 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_16 = "Inactive" if player.Participant_Number == 17: player.Subject_Number = group.Participant_17 if group.Number_of_Subjects < 17: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_17 = "Inactive" elif group.Participant_17 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_17 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_17 = "Inactive" if player.Participant_Number == 18: player.Subject_Number = group.Participant_18 if group.Number_of_Subjects < 18: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_18 = "Inactive" elif group.Participant_18 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_18 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_18 = "Inactive" if player.Participant_Number == 19: player.Subject_Number = group.Participant_19 if group.Number_of_Subjects < 19: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_19 = "Inactive" elif group.Participant_19 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_19 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_19 = "Inactive" if player.Participant_Number == 20: player.Subject_Number = group.Participant_20 if group.Number_of_Subjects < 20: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_20 = "Inactive" elif group.Participant_20 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_20 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_20 = "Inactive" if player.Participant_Number == 21: player.Subject_Number = group.Participant_21 if group.Number_of_Subjects < 21: player.Role_Subject_or_Experimenter = "Inactive" group.Subject_21 = "Inactive" elif group.Participant_21 == group.Number_of_Subjects: player.Role_Subject_or_Experimenter = "Implementer" player.payoff = 15 if player.Participant_Number == group.Number_of_Subjects: group.Subject_21 = "Inactive" elif player.Participant_Number == group.Number_of_Subjects: group.Subject_21 = "Inactive" live_method = live_1info_sheet class INSTRUCTIONS_GENERAL(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") or (player.Role_Subject_or_Experimenter == "Implementer") ) @staticmethod def vars_for_template(player: Player): return dict(Role = player.Role_Subject_or_Experimenter, Subject_Number = player.Subject_Number) live_method = live_1instructions class INSTRUCTIONS_1(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role = player.Role_Subject_or_Experimenter) live_method = live_1instructions class INSTRUCTIONS_EXAMPLE_CHOICE_TASK(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role = player.Role_Subject_or_Experimenter) live_method = live_1instructions class INSTRUCTIONS_PAYMENT(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role = player.Role_Subject_or_Experimenter) live_method = live_1instructions class INSTRUCTIONS_IMPLEMENTATION(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role = player.Role_Subject_or_Experimenter) live_method = live_1instructions class PRACTICE_2A(Page): form_model = 'player' form_fields = ['Coin1', 'Coin2', 'Coin3', 'Coin4', 'Coin5', 'Coin6', 'Coin7', 'Coin8', 'Coin9', 'Coin10', 'Coin11', 'Coin12', 'Coin13', 'Coin14', 'Coin15', 'Coin16', 'Coin17', 'Coin18', 'Coin19', 'Coin20'] @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Subject_1 = group.Subject_1, Subject_2 = group.Subject_2, Subject_3 = group.Subject_3, Subject_4 = group.Subject_4, Subject_5 = group.Subject_5, Subject_6 = group.Subject_6, Subject_7 = group.Subject_7, Subject_8 = group.Subject_8, Subject_9 = group.Subject_9, Subject_10 = group.Subject_10, Subject_11 = group.Subject_11, Subject_12 = group.Subject_12, Subject_13 = group.Subject_13, Subject_14 = group.Subject_14, Subject_15 = group.Subject_15, Subject_16 = group.Subject_16, Subject_17 = group.Subject_17, Subject_18 = group.Subject_18, Subject_19 = group.Subject_19, Subject_20 = group.Subject_20) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group if player.Role_Subject_or_Experimenter == "Experimenter": group.Coin1 = player.Coin1 group.Coin2 = player.Coin2 group.Coin3 = player.Coin3 group.Coin4 = player.Coin4 group.Coin5 = player.Coin5 group.Coin6 = player.Coin6 group.Coin7 = player.Coin7 group.Coin8 = player.Coin8 group.Coin9 = player.Coin9 group.Coin10 = player.Coin10 group.Coin11 = player.Coin11 group.Coin12 = player.Coin12 group.Coin13 = player.Coin13 group.Coin14 = player.Coin14 group.Coin15 = player.Coin15 group.Coin16 = player.Coin16 group.Coin17 = player.Coin17 group.Coin18 = player.Coin18 group.Coin19 = player.Coin19 group.Coin20 = player.Coin20 live_method = live_1practice_2a class PRACTICE_2B(Page): form_model = 'player' form_fields = ['Risky_Bag_Practice_2', 'Ambiguous_Bag_Practice_2'] @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Red_Practice2 = player.Bet_Red_Practice2, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20, Subject_1 = group.Subject_1, Subject_2 = group.Subject_2, Subject_3 = group.Subject_3, Subject_4 = group.Subject_4, Subject_5 = group.Subject_5, Subject_6 = group.Subject_6, Subject_7 = group.Subject_7, Subject_8 = group.Subject_8, Subject_9 = group.Subject_9, Subject_10 = group.Subject_10, Subject_11 = group.Subject_11, Subject_12 = group.Subject_12, Subject_13 = group.Subject_13, Subject_14 = group.Subject_14, Subject_15 = group.Subject_15, Subject_16 = group.Subject_16, Subject_17 = group.Subject_17, Subject_18 = group.Subject_18, Subject_19 = group.Subject_19, Subject_20 = group.Subject_20) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group player.Coin1 = "" player.Coin2 = "" player.Coin3 = "" player.Coin4 = "" player.Coin5 = "" player.Coin6 = "" player.Coin7 = "" player.Coin8 = "" player.Coin9 = "" player.Coin10 = "" player.Coin11 = "" player.Coin12 = "" player.Coin13 = "" player.Coin14 = "" player.Coin15 = "" player.Coin16 = "" player.Coin17 = "" player.Coin18 = "" player.Coin19 = "" player.Coin20 = "" if player.Role_Subject_or_Experimenter == "Experimenter": group.Coin1 = "" group.Coin2 = "" group.Coin3 = "" group.Coin4 = "" group.Coin5 = "" group.Coin6 = "" group.Coin7 = "" group.Coin8 = "" group.Coin9 = "" group.Coin10 = "" group.Coin11 = "" group.Coin12 = "" group.Coin13 = "" group.Coin14 = "" group.Coin15 = "" group.Coin16 = "" group.Coin17 = "" group.Coin18 = "" group.Coin19 = "" group.Coin20 = "" group.Risky_Bag_Practice_2 = player.Risky_Bag_Practice_2 group.Ambiguous_Bag_Practice_2 = player.Ambiguous_Bag_Practice_2 live_method = live_1instructions class PRACTICE_2_RESULT(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Red_Practice2 = player.Bet_Red_Practice2, Risky_Bag_Practice_2 = group.Risky_Bag_Practice_2, Ambiguous_Bag_Practice_2 = group.Ambiguous_Bag_Practice_2) @staticmethod def js_vars(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Red_Practice2 = player.Bet_Red_Practice2) live_method = live_1instructions class COMPREHENSION_T(Page): form_model = 'player' form_fields = ['Comprehension_T1', 'Comprehension_T2'] @staticmethod def is_displayed(player: Player): return player.Role_Subject_or_Experimenter == "Subject" @staticmethod def before_next_page(player: Player, timeout_happened): pass @staticmethod def error_message(player: Player, values): errors = {} # Check Comprehension1 if values["Comprehension_T1"] != "Correct": errors["Comprehension_T1"] = "Your answer to question 1 is incorrect - Please try again." player.Wrong_Attempts_ComprehensionT1 += 1 # Check Comprehension2 if values["Comprehension_T2"] != "Correct": errors["Comprehension_T2"] = "Your answer to question 2 is incorrect - Please try again." player.Wrong_Attempts_ComprehensionT2 += 1 if errors: return errors class WAIT_FOR_SECOND_PRACTICE_ROUND(WaitPage): @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) class PRACTICE_ROUND_2(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role = player.Role_Subject_or_Experimenter) live_method = live_1instructions class PRACTICE_1A(Page): form_model = 'player' form_fields = ['Coin1', 'Coin2', 'Coin3', 'Coin4', 'Coin5', 'Coin6', 'Coin7', 'Coin8', 'Coin9', 'Coin10', 'Coin11', 'Coin12', 'Coin13', 'Coin14', 'Coin15', 'Coin16', 'Coin17', 'Coin18', 'Coin19', 'Coin20'] @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Subject_1 = group.Subject_1, Subject_2 = group.Subject_2, Subject_3 = group.Subject_3, Subject_4 = group.Subject_4, Subject_5 = group.Subject_5, Subject_6 = group.Subject_6, Subject_7 = group.Subject_7, Subject_8 = group.Subject_8, Subject_9 = group.Subject_9, Subject_10 = group.Subject_10, Subject_11 = group.Subject_11, Subject_12 = group.Subject_12, Subject_13 = group.Subject_13, Subject_14 = group.Subject_14, Subject_15 = group.Subject_15, Subject_16 = group.Subject_16, Subject_17 = group.Subject_17, Subject_18 = group.Subject_18, Subject_19 = group.Subject_19, Subject_20 = group.Subject_20) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group if player.Role_Subject_or_Experimenter == "Experimenter": group.Coin1 = player.Coin1 group.Coin2 = player.Coin2 group.Coin3 = player.Coin3 group.Coin4 = player.Coin4 group.Coin5 = player.Coin5 group.Coin6 = player.Coin6 group.Coin7 = player.Coin7 group.Coin8 = player.Coin8 group.Coin9 = player.Coin9 group.Coin10 = player.Coin10 group.Coin11 = player.Coin11 group.Coin12 = player.Coin12 group.Coin13 = player.Coin13 group.Coin14 = player.Coin14 group.Coin15 = player.Coin15 group.Coin16 = player.Coin16 group.Coin17 = player.Coin17 group.Coin18 = player.Coin18 group.Coin19 = player.Coin19 group.Coin20 = player.Coin20 live_method = live_1practice_1a class PRACTICE_1B(Page): form_model = 'player' form_fields = ['Bet_Blue_Practice1', 'Risky_Bag_Practice_1', 'Ambiguous_Bag_Practice_1'] @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Red_Practice1 = player.Bet_Red_Practice1, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20, Subject_1 = group.Subject_1, Subject_2 = group.Subject_2, Subject_3 = group.Subject_3, Subject_4 = group.Subject_4, Subject_5 = group.Subject_5, Subject_6 = group.Subject_6, Subject_7 = group.Subject_7, Subject_8 = group.Subject_8, Subject_9 = group.Subject_9, Subject_10 = group.Subject_10, Subject_11 = group.Subject_11, Subject_12 = group.Subject_12, Subject_13 = group.Subject_13, Subject_14 = group.Subject_14, Subject_15 = group.Subject_15, Subject_16 = group.Subject_16, Subject_17 = group.Subject_17, Subject_18 = group.Subject_18, Subject_19 = group.Subject_19, Subject_20 = group.Subject_20) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group player.Coin1 = "" player.Coin2 = "" player.Coin3 = "" player.Coin4 = "" player.Coin5 = "" player.Coin6 = "" player.Coin7 = "" player.Coin8 = "" player.Coin9 = "" player.Coin10 = "" player.Coin11 = "" player.Coin12 = "" player.Coin13 = "" player.Coin14 = "" player.Coin15 = "" player.Coin16 = "" player.Coin17 = "" player.Coin18 = "" player.Coin19 = "" player.Coin20 = "" if player.Role_Subject_or_Experimenter == "Experimenter": group.Coin1 = "" group.Coin2 = "" group.Coin3 = "" group.Coin4 = "" group.Coin5 = "" group.Coin6 = "" group.Coin7 = "" group.Coin8 = "" group.Coin9 = "" group.Coin10 = "" group.Coin11 = "" group.Coin12 = "" group.Coin13 = "" group.Coin14 = "" group.Coin15 = "" group.Coin16 = "" group.Coin17 = "" group.Coin18 = "" group.Coin19 = "" group.Coin20 = "" group.Risky_Bag_Practice_1 = player.Risky_Bag_Practice_1 group.Ambiguous_Bag_Practice_1 = player.Ambiguous_Bag_Practice_1 live_method = live_1practice_1b class PRACTICE_1_RESULT(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Blue_Practice1 = player.Bet_Blue_Practice1, Risky_Bag_Practice_1 = group.Risky_Bag_Practice_1, Ambiguous_Bag_Practice_1 = group.Ambiguous_Bag_Practice_1) @staticmethod def js_vars(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Blue_Practice1 = player.Bet_Blue_Practice1, Bet_Red_Practice1 = player.Bet_Red_Practice1) live_method = live_1instructions class COMPREHENSION_H(Page): form_model = 'player' form_fields = ['Comprehension_H1', 'Comprehension_H2'] @staticmethod def is_displayed(player: Player): return player.Role_Subject_or_Experimenter == "Subject" @staticmethod def before_next_page(player: Player, timeout_happened): pass @staticmethod def error_message(player: Player, values): errors = {} # Check Comprehension1 if values["Comprehension_H1"] != "Correct": errors["Comprehension_H1"] = "Your answer to question 1 is incorrect - Please try again." player.Wrong_Attempts_ComprehensionH1 += 1 # Check Comprehension2 if values["Comprehension_H2"] != "Correct": errors["Comprehension_H2"] = "Your answer to question 2 is incorrect - Please try again." player.Wrong_Attempts_ComprehensionH2 += 1 if errors: return errors class WAIT_FOR_INSTRUCTIONS_REAL_DECISION(WaitPage): @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) class INSTRUCTIONS_DECISION(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def js_vars(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def before_next_page(player: Player, timeout_happened): pass live_method = live_1instructions class DECISION_1(Page): form_model = 'player' form_fields = ['Coin1', 'Coin2', 'Coin3', 'Coin4', 'Coin5', 'Coin6', 'Coin7', 'Coin8', 'Coin9', 'Coin10', 'Coin11', 'Coin12', 'Coin13', 'Coin14', 'Coin15', 'Coin16', 'Coin17', 'Coin18', 'Coin19', 'Coin20'] @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Subject_1 = group.Subject_1, Subject_2 = group.Subject_2, Subject_3 = group.Subject_3, Subject_4 = group.Subject_4, Subject_5 = group.Subject_5, Subject_6 = group.Subject_6, Subject_7 = group.Subject_7, Subject_8 = group.Subject_8, Subject_9 = group.Subject_9, Subject_10 = group.Subject_10, Subject_11 = group.Subject_11, Subject_12 = group.Subject_12, Subject_13 = group.Subject_13, Subject_14 = group.Subject_14, Subject_15 = group.Subject_15, Subject_16 = group.Subject_16, Subject_17 = group.Subject_17, Subject_18 = group.Subject_18, Subject_19 = group.Subject_19, Subject_20 = group.Subject_20) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group if player.Role_Subject_or_Experimenter == "Experimenter": group.Coin1 = player.Coin1 group.Coin2 = player.Coin2 group.Coin3 = player.Coin3 group.Coin4 = player.Coin4 group.Coin5 = player.Coin5 group.Coin6 = player.Coin6 group.Coin7 = player.Coin7 group.Coin8 = player.Coin8 group.Coin9 = player.Coin9 group.Coin10 = player.Coin10 group.Coin11 = player.Coin11 group.Coin12 = player.Coin12 group.Coin13 = player.Coin13 group.Coin14 = player.Coin14 group.Coin15 = player.Coin15 group.Coin16 = player.Coin16 group.Coin17 = player.Coin17 group.Coin18 = player.Coin18 group.Coin19 = player.Coin19 group.Coin20 = player.Coin20 live_method = live_1decision_1 class DECISION_2_H(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): group = player.group return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Subject_Number == 1 and player.group.Coin1 == "H") or (player.Subject_Number == 2 and player.group.Coin2 == "H") or (player.Subject_Number == 3 and player.group.Coin3 == "H") or (player.Subject_Number == 4 and player.group.Coin4 == "H") or (player.Subject_Number == 5 and player.group.Coin5 == "H") or (player.Subject_Number == 6 and player.group.Coin6 == "H") or (player.Subject_Number == 7 and player.group.Coin7 == "H") or (player.Subject_Number == 8 and player.group.Coin8 == "H") or (player.Subject_Number == 9 and player.group.Coin9 == "H") or (player.Subject_Number == 10 and player.group.Coin10 == "H") or (player.Subject_Number == 11 and player.group.Coin11 == "H") or (player.Subject_Number == 12 and player.group.Coin12 == "H") or (player.Subject_Number == 13 and player.group.Coin13 == "H") or (player.Subject_Number == 14 and player.group.Coin14 == "H") or (player.Subject_Number == 15 and player.group.Coin15 == "H") or (player.Subject_Number == 16 and player.group.Coin16 == "H") or (player.Subject_Number == 17 and player.group.Coin17 == "H") or (player.Subject_Number == 18 and player.group.Coin18 == "H") or (player.Subject_Number == 19 and player.group.Coin19 == "H") or (player.Subject_Number == 20 and player.group.Coin20 == "H") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Red = player.Bet_Red, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20, Subject_1 = group.Subject_1, Subject_2 = group.Subject_2, Subject_3 = group.Subject_3, Subject_4 = group.Subject_4, Subject_5 = group.Subject_5, Subject_6 = group.Subject_6, Subject_7 = group.Subject_7, Subject_8 = group.Subject_8, Subject_9 = group.Subject_9, Subject_10 = group.Subject_10, Subject_11 = group.Subject_11, Subject_12 = group.Subject_12, Subject_13 = group.Subject_13, Subject_14 = group.Subject_14, Subject_15 = group.Subject_15, Subject_16 = group.Subject_16, Subject_17 = group.Subject_17, Subject_18 = group.Subject_18, Subject_19 = group.Subject_19, Subject_20 = group.Subject_20) @staticmethod def before_next_page(player: Player, timeout_happened): pass live_method = live_1decision_2_h class DECISION_2_T(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): group = player.group return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Subject_Number == 1 and group.Coin1 == "T") or (player.Subject_Number == 2 and group.Coin2 == "T") or (player.Subject_Number == 3 and group.Coin3 == "T") or (player.Subject_Number == 4 and group.Coin4 == "T") or (player.Subject_Number == 5 and group.Coin5 == "T") or (player.Subject_Number == 6 and group.Coin6 == "T") or (player.Subject_Number == 7 and group.Coin7 == "T") or (player.Subject_Number == 8 and group.Coin8 == "T") or (player.Subject_Number == 9 and group.Coin9 == "T") or (player.Subject_Number == 10 and group.Coin10 == "T") or (player.Subject_Number == 11 and group.Coin11 == "T") or (player.Subject_Number == 12 and group.Coin12 == "T") or (player.Subject_Number == 13 and group.Coin13 == "T") or (player.Subject_Number == 14 and group.Coin14 == "T") or (player.Subject_Number == 15 and group.Coin15 == "T") or (player.Subject_Number == 16 and group.Coin16 == "T") or (player.Subject_Number == 17 and group.Coin17 == "T") or (player.Subject_Number == 18 and group.Coin18 == "T") or (player.Subject_Number == 19 and group.Coin19 == "T") or (player.Subject_Number == 20 and player.group.Coin20 == "T") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20) @staticmethod def js_vars(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Red = player.Bet_Red, Coin1 = player.Coin1, Coin2 = player.Coin2, Coin3 = player.Coin3, Coin4 = player.Coin4, Coin5 = player.Coin5, Coin6 = player.Coin6, Coin7 = player.Coin7, Coin8 = player.Coin8, Coin9 = player.Coin9, Coin10 = player.Coin10, Coin11 = player.Coin11, Coin12 = player.Coin12, Coin13 = player.Coin13, Coin14 = player.Coin14, Coin15 = player.Coin15, Coin16 = player.Coin16, Coin17 = player.Coin17, Coin18 = player.Coin18, Coin19 = player.Coin19, Coin20 = player.Coin20) @staticmethod def before_next_page(player: Player, timeout_happened): pass live_method = live_1instructions class SURVEY(Page): form_model = 'player' form_fields = ['Gender', 'Age', 'Race_White', 'Race_Black', 'Race_American_Indian', 'Race_Asian', 'Race_Hawaiian', 'Thoughts_Choices_of_Myself', 'Race_Other', 'Race_Prefer_Not', 'Ethnicity', 'Student_Status', 'Year_in_School', 'Major', 'Minor'] @staticmethod def is_displayed(player: Player): return player.Role_Subject_or_Experimenter == "Subject" @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number) @staticmethod def error_message(player: Player, values): if values["Race_White"] == 0 and values["Race_Black"] == 0 and values["Race_American_Indian"] == 0 and values["Race_Asian"] == 0 and values["Race_Hawaiian"] == 0 and values["Race_Other"] == 0 and values["Race_Prefer_Not"] == 0: return {"Race_White": "Please select at least one option."} class WAIT_PAGE_FOR_SURVEY(WaitPage): @staticmethod def is_displayed(player: Player): return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Role_Subject_or_Experimenter == "Subject") ) class DECISION_REMINDER_H(Page): form_model = 'player' form_fields = ['Risky_Bag', 'Ambiguous_Bag'] @staticmethod def is_displayed(player: Player): group = player.group return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Subject_Number == 1 and player.group.Coin1 == "H") or (player.Subject_Number == 2 and player.group.Coin2 == "H") or (player.Subject_Number == 3 and player.group.Coin3 == "H") or (player.Subject_Number == 4 and player.group.Coin4 == "H") or (player.Subject_Number == 5 and player.group.Coin5 == "H") or (player.Subject_Number == 6 and player.group.Coin6 == "H") or (player.Subject_Number == 7 and player.group.Coin7 == "H") or (player.Subject_Number == 8 and player.group.Coin8 == "H") or (player.Subject_Number == 9 and player.group.Coin9 == "H") or (player.Subject_Number == 10 and player.group.Coin10 == "H") or (player.Subject_Number == 11 and player.group.Coin11 == "H") or (player.Subject_Number == 12 and player.group.Coin12 == "H") or (player.Subject_Number == 13 and player.group.Coin13 == "H") or (player.Subject_Number == 14 and player.group.Coin14 == "H") or (player.Subject_Number == 15 and player.group.Coin15 == "H") or (player.Subject_Number == 16 and player.group.Coin16 == "H") or (player.Subject_Number == 17 and player.group.Coin17 == "H") or (player.Subject_Number == 18 and player.group.Coin18 == "H") or (player.Subject_Number == 19 and player.group.Coin19 == "H") or (player.Subject_Number == 20 and player.group.Coin20 == "H") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) @staticmethod def js_vars(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group if player.Role_Subject_or_Experimenter == "Experimenter": group.Risky_Bag = player.Risky_Bag group.Ambiguous_Bag = player.Ambiguous_Bag live_method = live_1instructions class DECISION_REMINDER_T(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): group = player.group return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Subject_Number == 1 and group.Coin1 == "T") or (player.Subject_Number == 2 and group.Coin2 == "T") or (player.Subject_Number == 3 and group.Coin3 == "T") or (player.Subject_Number == 4 and group.Coin4 == "T") or (player.Subject_Number == 5 and group.Coin5 == "T") or (player.Subject_Number == 6 and group.Coin6 == "T") or (player.Subject_Number == 7 and group.Coin7 == "T") or (player.Subject_Number == 8 and group.Coin8 == "T") or (player.Subject_Number == 9 and group.Coin9 == "T") or (player.Subject_Number == 10 and group.Coin10 == "T") or (player.Subject_Number == 11 and group.Coin11 == "T") or (player.Subject_Number == 12 and group.Coin12 == "T") or (player.Subject_Number == 13 and group.Coin13 == "T") or (player.Subject_Number == 14 and group.Coin14 == "T") or (player.Subject_Number == 15 and group.Coin15 == "T") or (player.Subject_Number == 16 and group.Coin16 == "T") or (player.Subject_Number == 17 and group.Coin17 == "T") or (player.Subject_Number == 18 and group.Coin18 == "T") or (player.Subject_Number == 19 and group.Coin19 == "T") or (player.Subject_Number == 20 and player.group.Coin20 == "T") ) @staticmethod def vars_for_template(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) @staticmethod def js_vars(player: Player): return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) live_method = live_1instructions class SET_PAYOFFS(Page): timeout_seconds = 1 form_model = 'player' @staticmethod def is_displayed(player: Player): return (player.Role_Subject_or_Experimenter == "Subject") @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group player.payoff = 5 if player.Subject_Number == 1: if group.Coin1 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin1 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 2: if group.Coin2 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin2 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 3: if group.Coin3 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin3 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 4: if group.Coin4 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin4 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 5: if group.Coin5 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin5 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 6: if group.Coin6 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin6 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 7: if group.Coin7 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin7 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 8: if group.Coin8 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin8 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 9: if group.Coin9 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin9 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 10: if group.Coin10 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin10 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 11: if group.Coin11 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin11 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 12: if group.Coin12 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin12 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 13: if group.Coin13 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin13 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 14: if group.Coin14 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin14 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 15: if group.Coin15 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin15 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 16: if group.Coin16 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin16 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 17: if group.Coin17 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin17 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 18: if group.Coin18 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin18 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 19: if group.Coin19 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin19 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 if player.Subject_Number == 20: if group.Coin20 == "T": if player.Bet_Red == "Risky": if group.Risky_Bag == "Red": player.payoff += 10.00 if player.Bet_Red == "Ambiguous": if group.Ambiguous_Bag == "Red": player.payoff += 10.20 if group.Coin20 == "H": if player.Bet_Blue == "Risky": if group.Risky_Bag == "Blue": player.payoff += 10.00 if player.Bet_Blue == "Ambiguous": if group.Ambiguous_Bag == "Blue": player.payoff += 10.20 class RESULT_H(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): group = player.group return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Subject_Number == 1 and player.group.Coin1 == "H") or (player.Subject_Number == 2 and player.group.Coin2 == "H") or (player.Subject_Number == 3 and player.group.Coin3 == "H") or (player.Subject_Number == 4 and player.group.Coin4 == "H") or (player.Subject_Number == 5 and player.group.Coin5 == "H") or (player.Subject_Number == 6 and player.group.Coin6 == "H") or (player.Subject_Number == 7 and player.group.Coin7 == "H") or (player.Subject_Number == 8 and player.group.Coin8 == "H") or (player.Subject_Number == 9 and player.group.Coin9 == "H") or (player.Subject_Number == 10 and player.group.Coin10 == "H") or (player.Subject_Number == 11 and player.group.Coin11 == "H") or (player.Subject_Number == 12 and player.group.Coin12 == "H") or (player.Subject_Number == 13 and player.group.Coin13 == "H") or (player.Subject_Number == 14 and player.group.Coin14 == "H") or (player.Subject_Number == 15 and player.group.Coin15 == "H") or (player.Subject_Number == 16 and player.group.Coin16 == "H") or (player.Subject_Number == 17 and player.group.Coin17 == "H") or (player.Subject_Number == 18 and player.group.Coin18 == "H") or (player.Subject_Number == 19 and player.group.Coin19 == "H") or (player.Subject_Number == 20 and player.group.Coin20 == "H") ) @staticmethod def vars_for_template(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Risky_Bag = group.Risky_Bag, Ambiguous_Bag = group.Ambiguous_Bag, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Risky_Bag = group.Risky_Bag, Ambiguous_Bag = group.Ambiguous_Bag, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) live_method = live_1instructions class RESULT_T(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): group = player.group return ( (player.Role_Subject_or_Experimenter == "Experimenter") or (player.Subject_Number == 1 and group.Coin1 == "T") or (player.Subject_Number == 2 and group.Coin2 == "T") or (player.Subject_Number == 3 and group.Coin3 == "T") or (player.Subject_Number == 4 and group.Coin4 == "T") or (player.Subject_Number == 5 and group.Coin5 == "T") or (player.Subject_Number == 6 and group.Coin6 == "T") or (player.Subject_Number == 7 and group.Coin7 == "T") or (player.Subject_Number == 8 and group.Coin8 == "T") or (player.Subject_Number == 9 and group.Coin9 == "T") or (player.Subject_Number == 10 and group.Coin10 == "T") or (player.Subject_Number == 11 and group.Coin11 == "T") or (player.Subject_Number == 12 and group.Coin12 == "T") or (player.Subject_Number == 13 and group.Coin13 == "T") or (player.Subject_Number == 14 and group.Coin14 == "T") or (player.Subject_Number == 15 and group.Coin15 == "T") or (player.Subject_Number == 16 and group.Coin16 == "T") or (player.Subject_Number == 17 and group.Coin17 == "T") or (player.Subject_Number == 18 and group.Coin18 == "T") or (player.Subject_Number == 19 and group.Coin19 == "T") or (player.Subject_Number == 20 and player.group.Coin20 == "T") ) @staticmethod def vars_for_template(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Risky_Bag = group.Risky_Bag, Ambiguous_Bag = group.Ambiguous_Bag, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) @staticmethod def js_vars(player: Player): group = player.group return dict(Subject_Number = player.Subject_Number, Role_Subject_or_Experimenter = player.Role_Subject_or_Experimenter, Risky_Bag = group.Risky_Bag, Ambiguous_Bag = group.Ambiguous_Bag, Bet_Blue = player.Bet_Blue, Bet_Red = player.Bet_Red) live_method = live_1instructions page_sequence = [EXPERIMENTER_OR_SUBJECT, PARTICIPANT_NUMBER, NUMBER_OF_SUBJECTS, INFORMATION_SHEET, INSTRUCTIONS_GENERAL, INSTRUCTIONS_1, INSTRUCTIONS_EXAMPLE_CHOICE_TASK, INSTRUCTIONS_PAYMENT, INSTRUCTIONS_IMPLEMENTATION, PRACTICE_2A, PRACTICE_2B, PRACTICE_2_RESULT, COMPREHENSION_T, WAIT_FOR_SECOND_PRACTICE_ROUND, PRACTICE_ROUND_2, PRACTICE_1A, PRACTICE_1B, PRACTICE_1_RESULT, COMPREHENSION_H, WAIT_FOR_INSTRUCTIONS_REAL_DECISION, INSTRUCTIONS_DECISION, DECISION_1, DECISION_2_H, DECISION_2_T, SURVEY, WAIT_PAGE_FOR_SURVEY, DECISION_REMINDER_H, DECISION_REMINDER_T, SET_PAYOFFS, RESULT_H, RESULT_T]