from otree.api import * import random doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'evaluation' PLAYERS_PER_GROUP = None NUM_ROUNDS = 5 TASKS = ['T1', 'T2', 'T3', 'T4', 'T5'] # cog, BoS, PD, Ult, Pub # 0=multiple, 1=short answer, 2=BoS inc/dec, 3=BoS no chat, 4= BoS chat, 5=PD inc/dec, 6=PD no chat, 7=PD chat, # 8=Ult inc/dec, 9=Ult no chat, 10=Ult chat, 11=Pub inc/dec, 12=Pub no chat, 13=Pub chat, 14=Comb Group, 15=Comb Ind Profile = [ [10, 8, 1, 0, 16, 1, 9, 9, 1, 15, 15, 1, 17, 6, 2, 2], #std 2 [17, 11, -1, 9, 16, -1, 10, 7, -1, 15, 15, 0, 8, 17, 2, 2], #std 3 [15, 13, 0, 0, 16, -1, 9, 10, 0, 15, 15, 1, 17, 17, 1, 1], #std 4 [11, 10, 1, 0, 16, -1, 10, 7, -1, 0, 15, -1, 11, 17, 4, 4], #std 5 [11, 10, 0, 16, 16, 1, 7, 10, 1, 15, 15, 1, 17, 17, 7, 7], #std 7 [16, 18, 1, 0, 16, -1, 6, 9, 1, 0, 15, 1, 11, 17, 2, 1.5], #std 8 [7, 7, 1, 16, 9, 1, 7, 6, 1, 0, 15, 1, 9, 17, 2, 2], #std 11 [9, 11, 1, 9, 9, 1, 9, 6, 1, 15, 15, 1, 17, 6, 5, 6], #std 16 [10, 7, 0, 16, 16, 0, 9, 9, 0, 15, 15, 0, 17, 23, 2, 2], #std 22 [5, 7, 1, 16, 16, -1, 10, 9, -1, 15, 30, 1, 17, 17, 3, 1], #std 25 [19, 15, -1, 0, 9, -1, 10, 9, 0, 15, 15, 1, 17, 17, 3, 2.5], #std 28 [7, 10, -1, 0, 16, -1, 6, 10, -1, 15, 15, 1, 17, 17, 2, 2.5]] #std 29 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): pay_info1 = models.FloatField() pay_info2 = models.FloatField() pay_name_num = models.IntegerField() pay_name_num_2 = models.IntegerField() pay_task = models.IntegerField() # prolific_id = models.StringField(label="What is your Prolific ID?") order1 = models.IntegerField() order2 = models.IntegerField() order3 = models.IntegerField() order4 = models.IntegerField() order5 = models.IntegerField() order6 = models.IntegerField() order7 = models.IntegerField() order8 = models.IntegerField() order9 = models.IntegerField() order10 = models.IntegerField() order11 = models.IntegerField() order12 = models.IntegerField() name1 = models.StringField() name2 = models.StringField() name3 = models.StringField() name4 = models.StringField() name5 = models.StringField() name6 = models.StringField() name7 = models.StringField() name8 = models.StringField() name9 = models.StringField() name10 = models.StringField() name11 = models.StringField() name12 = models.StringField() comp1 = models.IntegerField() comp2 = models.IntegerField() comp3 = models.IntegerField() comp4 = models.IntegerField() compm = models.IntegerField() # task_candidateNum # candidate 1 cog_1 = models.IntegerField( min=0, max=20 ) game1_1 = models.IntegerField( min=0, max=16 ) game2_1 = models.IntegerField( min=6, max=10 ) game3_1 = models.IntegerField( min=0, max=30 ) game4_1 = models.IntegerField( min=0, max=23 ) combG_1 = models.IntegerField( min=0, max=20 ) combI_1 = models.FloatField( min=0, max=20 ) # candidate 2 cog_2 = models.IntegerField( min=0, max=20 ) game1_2 = models.IntegerField( min=0, max=16 ) game2_2 = models.IntegerField( min=6, max=10 ) game3_2 = models.IntegerField( min=0, max=30 ) game4_2 = models.IntegerField( min=0, max=23 ) combG_2 = models.IntegerField( min=0, max=20 ) combI_2 = models.FloatField( min=0, max=20 ) # candidate 3 cog_3 = models.IntegerField( min=0, max=20 ) game1_3 = models.IntegerField( min=0, max=16 ) game2_3 = models.IntegerField( min=6, max=10 ) game3_3 = models.IntegerField( min=0, max=30 ) game4_3 = models.IntegerField( min=0, max=23 ) combG_3 = models.IntegerField( min=0, max=20 ) combI_3 = models.FloatField( min=0, max=20 ) # candidate 4 cog_4 = models.IntegerField( min=0, max=20 ) game1_4 = models.IntegerField( min=0, max=16 ) game2_4 = models.IntegerField( min=6, max=10 ) game3_4 = models.IntegerField( min=0, max=30 ) game4_4 = models.IntegerField( min=0, max=23 ) combG_4 = models.IntegerField( min=0, max=20 ) combI_4 = models.FloatField( min=0, max=20 ) # candidate 5 cog_5 = models.IntegerField( min=0, max=20 ) game1_5 = models.IntegerField( min=0, max=16 ) game2_5 = models.IntegerField( min=6, max=10 ) game3_5 = models.IntegerField( min=0, max=30 ) game4_5 = models.IntegerField( min=0, max=23 ) combG_5 = models.IntegerField( min=0, max=20 ) combI_5 = models.FloatField( min=0, max=20 ) # candidate 6 cog_6 = models.IntegerField( min=0, max=20 ) game1_6 = models.IntegerField( min=0, max=16 ) game2_6 = models.IntegerField( min=6, max=10 ) game3_6 = models.IntegerField( min=0, max=30 ) game4_6 = models.IntegerField( min=0, max=23 ) combG_6 = models.IntegerField( min=0, max=20 ) combI_6 = models.FloatField( min=0, max=20 ) # candidate 7 cog_7 = models.IntegerField( min=0, max=20 ) game1_7 = models.IntegerField( min=0, max=16 ) game2_7 = models.IntegerField( min=6, max=10 ) game3_7 = models.IntegerField( min=0, max=30 ) game4_7 = models.IntegerField( min=0, max=23 ) combG_7 = models.IntegerField( min=0, max=20 ) combI_7 = models.FloatField( min=0, max=20 ) # candidate 8 cog_8 = models.IntegerField( min=0, max=20 ) game1_8 = models.IntegerField( min=0, max=16 ) game2_8 = models.IntegerField( min=6, max=10 ) game3_8 = models.IntegerField( min=0, max=30 ) game4_8 = models.IntegerField( min=0, max=23 ) combG_8 = models.IntegerField( min=0, max=20 ) combI_8 = models.FloatField( min=0, max=20 ) # candidate 9 cog_9 = models.IntegerField( min=0, max=20 ) game1_9 = models.IntegerField( min=0, max=16 ) game2_9 = models.IntegerField( min=6, max=10 ) game3_9 = models.IntegerField( min=0, max=30 ) game4_9 = models.IntegerField( min=0, max=23 ) combG_9 = models.IntegerField( min=0, max=20 ) combI_9 = models.FloatField( min=0, max=20 ) # candidate 10 cog_10 = models.IntegerField( min=0, max=20 ) game1_10 = models.IntegerField( min=0, max=16 ) game2_10 = models.IntegerField( min=6, max=10 ) game3_10 = models.IntegerField( min=0, max=30 ) game4_10 = models.IntegerField( min=0, max=23 ) combG_10 = models.IntegerField( min=0, max=20 ) combI_10 = models.FloatField( min=0, max=20 ) # candidate 11 cog_11 = models.IntegerField( min=0, max=20 ) game1_11 = models.IntegerField( min=0, max=16 ) game2_11 = models.IntegerField( min=6, max=10 ) game3_11 = models.IntegerField( min=0, max=30 ) game4_11 = models.IntegerField( min=0, max=23 ) combG_11 = models.IntegerField( min=0, max=20 ) combI_11 = models.FloatField( min=0, max=20 ) # candidate 12 cog_12 = models.IntegerField( min=0, max=20 ) game1_12 = models.IntegerField( min=0, max=16 ) game2_12 = models.IntegerField( min=6, max=10 ) game3_12 = models.IntegerField( min=0, max=30 ) game4_12 = models.IntegerField( min=0, max=23 ) combG_12 = models.IntegerField( min=0, max=20 ) combI_12 = models.FloatField( min=0, max=20 ) def creating_session(subsession): if subsession.round_number == 1: for player in subsession.get_players(): tmp = random.uniform(0, 2) x_soc = list(range(2, 6)) random.shuffle(x_soc) round_numbers = [1, x_soc[0], x_soc[1], x_soc[2], x_soc[3]] if tmp < 1: x_soc = list(range(1, 5)) random.shuffle(x_soc) round_numbers = [5, x_soc[0], x_soc[1], x_soc[2], x_soc[3]] player.participant.task_rounds = dict(zip(C.TASKS, round_numbers)) # PAGES class CogTest(Page): form_model = 'player' form_fields = ['cog_1', 'cog_2', 'cog_3','cog_4', 'cog_5', 'cog_6', 'cog_7', 'cog_8', 'cog_9','cog_10', 'cog_11', 'cog_12'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T1'] def before_next_page(player: Player, timeout_happened): participant = player.participant participant.c1 = player.cog_1 participant.c2 = player.cog_2 participant.c3 = player.cog_3 participant.c4 = player.cog_4 participant.c5 = player.cog_5 participant.c6 = player.cog_6 participant.c7 = player.cog_7 participant.c8 = player.cog_8 participant.c9 = player.cog_9 participant.c10 = player.cog_10 participant.c11 = player.cog_11 participant.c12 = player.cog_12 if player.participant.pay_task == 0: player.pay_name_num = player.participant.pay_name_num player.pay_name_num_2 = player.participant.pay_name_num_2 tmp = [player.cog_1, player.cog_2, player.cog_3, player.cog_4, player.cog_5, player.cog_6, player.cog_7, player.cog_8, player.cog_9, player.cog_10, player.cog_11, player.cog_12] player.pay_info1 = tmp[player.pay_name_num] player.pay_info2 = C.Profile[player.pay_name_num_2][1] participant.pay_info1 = player.pay_info1 participant.pay_info2 = player.pay_info2 @staticmethod def vars_for_template(player): return dict( rn= player.round_number, name1=player.name1, name2=player.name2, name3=player.name3, name4=player.name4, name5=player.name5, name6=player.name6, name7=player.name7, name8=player.name8, name9=player.name9, name10=player.name10, name11=player.name11, name12=player.name12, multi1=C.Profile[player.order1 - 1][0], multi2=C.Profile[player.order2 - 1][0], multi3=C.Profile[player.order3 - 1][0], multi4=C.Profile[player.order4 - 1][0], multi5=C.Profile[player.order5 - 1][0], multi6=C.Profile[player.order6 - 1][0], multi7=C.Profile[player.order7 - 1][0], multi8=C.Profile[player.order8 - 1][0], multi9=C.Profile[player.order9 - 1][0], multi10=C.Profile[player.order10 - 1][0], multi11=C.Profile[player.order11 - 1][0], multi12=C.Profile[player.order12 - 1][0] ) class Game1(Page): form_model = 'player' form_fields = ['game1_1', 'game1_2', 'game1_3', 'game1_4', 'game1_5', 'game1_6', 'game1_7', 'game1_8', 'game1_9', 'game1_10', 'game1_11', 'game1_12'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T2'] # Game1 BoS def before_next_page(player: Player, timeout_happened): participant = player.participant participant.g1_1 = player.game1_1 participant.g1_2 = player.game1_2 participant.g1_3 = player.game1_3 participant.g1_4 = player.game1_4 participant.g1_5 = player.game1_5 participant.g1_6 = player.game1_6 participant.g1_7 = player.game1_7 participant.g1_8 = player.game1_8 participant.g1_9 = player.game1_9 participant.g1_10 = player.game1_10 participant.g1_11 = player.game1_11 participant.g1_12 = player.game1_12 if player.participant.pay_task == 1: player.pay_name_num = player.participant.pay_name_num player.pay_name_num_2 = player.participant.pay_name_num_2 tmp = [player.game1_1, player.game1_2, player.game1_3, player.game1_4, player.game1_5, player.game1_6, player.game1_7, player.game1_8, player.game1_9, player.game1_10, player.game1_11, player.game1_12] player.pay_info1 = tmp[player.pay_name_num] player.pay_info2 = C.Profile[player.pay_name_num_2][4] participant.pay_info1 = player.pay_info1 participant.pay_info2 = player.pay_info2 @staticmethod def vars_for_template(player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number - 1 return dict( rn2=rn2, rn=player.round_number, name1=player.name1, name2=player.name2, name3=player.name3, name4=player.name4, name5=player.name5, name6=player.name6, name7=player.name7, name8=player.name8, name9=player.name9, name10=player.name10, name11=player.name11, name12=player.name12, Gid1=C.Profile[player.order1 - 1][2], Gno1=C.Profile[player.order1 - 1][3], Gid2=C.Profile[player.order2 - 1][2], Gno2=C.Profile[player.order2 - 1][3], Gid3=C.Profile[player.order3 - 1][2], Gno3=C.Profile[player.order3 - 1][3], Gid4=C.Profile[player.order4 - 1][2], Gno4=C.Profile[player.order4 - 1][3], Gid5=C.Profile[player.order5 - 1][2], Gno5=C.Profile[player.order5 - 1][3], Gid6=C.Profile[player.order6 - 1][2], Gno6=C.Profile[player.order6 - 1][3], Gid7=C.Profile[player.order7 - 1][2], Gno7=C.Profile[player.order7 - 1][3], Gid8=C.Profile[player.order8 - 1][2], Gno8=C.Profile[player.order8 - 1][3], Gid9=C.Profile[player.order9 - 1][2], Gno9=C.Profile[player.order9 - 1][3], Gid10=C.Profile[player.order10 - 1][2], Gno10=C.Profile[player.order10 - 1][3], Gid11=C.Profile[player.order11 - 1][2], Gno11=C.Profile[player.order11 - 1][3], Gid12=C.Profile[player.order12 - 1][2], Gno12=C.Profile[player.order12 - 1][3] ) class Game2(Page): form_model = 'player' form_fields = ['game2_1', 'game2_2', 'game2_3', 'game2_4', 'game2_5', 'game2_6', 'game2_7', 'game2_8', 'game2_9', 'game2_10', 'game2_11', 'game2_12'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T3'] # Game2 PD def before_next_page(player: Player, timeout_happened): participant = player.participant participant.g2_1 = player.game2_1 participant.g2_2 = player.game2_2 participant.g2_3 = player.game2_3 participant.g2_4 = player.game2_4 participant.g2_5 = player.game2_5 participant.g2_6 = player.game2_6 participant.g2_7 = player.game2_7 participant.g2_8 = player.game2_8 participant.g2_9 = player.game2_9 participant.g2_10 = player.game2_10 participant.g2_11 = player.game2_11 participant.g2_12 = player.game2_12 if player.participant.pay_task == 2: player.pay_name_num = player.participant.pay_name_num player.pay_name_num_2 = player.participant.pay_name_num_2 tmp = [player.game2_1, player.game2_2, player.game2_3, player.game2_4, player.game2_5, player.game2_6, player.game2_7, player.game2_8, player.game2_9, player.game2_10, player.game2_11, player.game2_12] player.pay_info1 = tmp[player.pay_name_num] player.pay_info2 = C.Profile[player.pay_name_num_2][7] participant.pay_info1 = player.pay_info1 participant.pay_info2 = player.pay_info2 @staticmethod def vars_for_template(player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number - 1 return dict( rn2=rn2, rn=player.round_number, name1=player.name1, name2=player.name2, name3=player.name3, name4=player.name4, name5=player.name5, name6=player.name6, name7=player.name7, name8=player.name8, name9=player.name9, name10=player.name10, name11=player.name11, name12=player.name12, Gid1=C.Profile[player.order1 - 1][5], Gno1=C.Profile[player.order1 - 1][6], Gid2=C.Profile[player.order2 - 1][5], Gno2=C.Profile[player.order2 - 1][6], Gid3=C.Profile[player.order3 - 1][5], Gno3=C.Profile[player.order3 - 1][6], Gid4=C.Profile[player.order4 - 1][5], Gno4=C.Profile[player.order4 - 1][6], Gid5=C.Profile[player.order5 - 1][5], Gno5=C.Profile[player.order5 - 1][6], Gid6=C.Profile[player.order6 - 1][5], Gno6=C.Profile[player.order6 - 1][6], Gid7=C.Profile[player.order7 - 1][5], Gno7=C.Profile[player.order7 - 1][6], Gid8=C.Profile[player.order8 - 1][5], Gno8=C.Profile[player.order8 - 1][6], Gid9=C.Profile[player.order9 - 1][5], Gno9=C.Profile[player.order9 - 1][6], Gid10=C.Profile[player.order10 - 1][5], Gno10=C.Profile[player.order10 - 1][6], Gid11=C.Profile[player.order11 - 1][5], Gno11=C.Profile[player.order11 - 1][6], Gid12=C.Profile[player.order12 - 1][5], Gno12=C.Profile[player.order12 - 1][6] ) class Game3(Page): form_model = 'player' form_fields = ['game3_1', 'game3_2', 'game3_3', 'game3_4', 'game3_5', 'game3_6', 'game3_7', 'game3_8', 'game3_9', 'game3_10', 'game3_11', 'game3_12'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T4'] def before_next_page(player: Player, timeout_happened): participant = player.participant participant.g3_1 = player.game3_1 participant.g3_2 = player.game3_2 participant.g3_3 = player.game3_3 participant.g3_4 = player.game3_4 participant.g3_5 = player.game3_5 participant.g3_6 = player.game3_6 participant.g3_7 = player.game3_7 participant.g3_8 = player.game3_8 participant.g3_9 = player.game3_9 participant.g3_10 = player.game3_10 participant.g3_11 = player.game3_11 participant.g3_12 = player.game3_12 if player.participant.pay_task == 3: player.pay_name_num = player.participant.pay_name_num player.pay_name_num_2 = player.participant.pay_name_num_2 tmp = [player.game3_1, player.game3_2, player.game3_3, player.game3_4, player.game3_5, player.game3_6, player.game3_7, player.game3_8, player.game3_9, player.game3_10, player.game3_11, player.game3_12] player.pay_info1 = tmp[player.pay_name_num] player.pay_info2 = C.Profile[player.pay_name_num_2][10] participant.pay_info2 = player.pay_info2 participant.pay_info1 = player.pay_info1 # Game3 Ult @staticmethod def vars_for_template(player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number - 1 return dict( rn2=rn2, rn=player.round_number, name1=player.name1, name2=player.name2, name3=player.name3, name4=player.name4, name5=player.name5, name6=player.name6, name7=player.name7, name8=player.name8, name9=player.name9, name10=player.name10, name11=player.name11, name12=player.name12, Gid1=C.Profile[player.order1 - 1][8], Gno1=C.Profile[player.order1 - 1][9], Gid2=C.Profile[player.order2 - 1][8], Gno2=C.Profile[player.order2 - 1][9], Gid3=C.Profile[player.order3 - 1][8], Gno3=C.Profile[player.order3 - 1][9], Gid4=C.Profile[player.order4 - 1][8], Gno4=C.Profile[player.order4 - 1][9], Gid5=C.Profile[player.order5 - 1][8], Gno5=C.Profile[player.order5 - 1][9], Gid6=C.Profile[player.order6 - 1][8], Gno6=C.Profile[player.order6 - 1][9], Gid7=C.Profile[player.order7 - 1][8], Gno7=C.Profile[player.order7 - 1][9], Gid8=C.Profile[player.order8 - 1][8], Gno8=C.Profile[player.order8 - 1][9], Gid9=C.Profile[player.order9 - 1][8], Gno9=C.Profile[player.order9 - 1][9], Gid10=C.Profile[player.order10 - 1][8], Gno10=C.Profile[player.order10 - 1][9], Gid11=C.Profile[player.order11 - 1][8], Gno11=C.Profile[player.order11 - 1][9], Gid12=C.Profile[player.order12 - 1][8], Gno12=C.Profile[player.order12 - 1][9] ) class Game4(Page): form_model = 'player' form_fields = ['game4_1', 'game4_2', 'game4_3', 'game4_4', 'game4_5', 'game4_6', 'game4_7', 'game4_8', 'game4_9', 'game4_10', 'game4_11', 'game4_12'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T5'] def before_next_page(player: Player, timeout_happened): participant = player.participant participant.g4_1 = player.game4_1 participant.g4_2 = player.game4_2 participant.g4_3 = player.game4_3 participant.g4_4 = player.game4_4 participant.g4_5 = player.game4_5 participant.g4_6 = player.game4_6 participant.g4_7 = player.game4_7 participant.g4_8 = player.game4_8 participant.g4_9 = player.game4_9 participant.g4_10 = player.game4_10 participant.g4_11 = player.game4_11 participant.g4_12 = player.game4_12 if player.participant.pay_task == 4: player.pay_name_num = player.participant.pay_name_num player.pay_name_num_2 = player.participant.pay_name_num_2 tmp = [player.game4_1, player.game4_2, player.game4_3, player.game4_4, player.game4_5, player.game4_6, player.game4_7, player.game4_8, player.game4_9, player.game4_10, player.game4_11, player.game4_12] player.pay_info1 = tmp[player.pay_name_num] player.pay_info2 = C.Profile[player.pay_name_num_2][13] participant.pay_info1 = player.pay_info1 participant.pay_info2 = player.pay_info2 # Game4 Pub @staticmethod def vars_for_template(player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number - 1 label1 = 'cooperation' if player.participant.task_rounds['T5'] > player.participant.task_rounds['T3']: label1 = 'another version or cooperation' return dict( label1=label1, rn2=rn2, rn=player.round_number, name1=player.name1, name2=player.name2, name3=player.name3, name4=player.name4, name5=player.name5, name6=player.name6, name7=player.name7, name8=player.name8, name9=player.name9, name10=player.name10, name11=player.name11, name12=player.name12, Gid1=C.Profile[player.order1 - 1][11], Gno1=C.Profile[player.order1 - 1][12], Gid2=C.Profile[player.order2 - 1][11], Gno2=C.Profile[player.order2 - 1][12], Gid3=C.Profile[player.order3 - 1][11], Gno3=C.Profile[player.order3 - 1][12], Gid4=C.Profile[player.order4 - 1][11], Gno4=C.Profile[player.order4 - 1][12], Gid5=C.Profile[player.order5 - 1][11], Gno5=C.Profile[player.order5 - 1][12], Gid6=C.Profile[player.order6 - 1][11], Gno6=C.Profile[player.order6 - 1][12], Gid7=C.Profile[player.order7 - 1][11], Gno7=C.Profile[player.order7 - 1][12], Gid8=C.Profile[player.order8 - 1][11], Gno8=C.Profile[player.order8 - 1][12], Gid9=C.Profile[player.order9 - 1][11], Gno9=C.Profile[player.order9 - 1][12], Gid10=C.Profile[player.order10 - 1][11], Gno10=C.Profile[player.order10 - 1][12], Gid11=C.Profile[player.order11 - 1][11], Gno11=C.Profile[player.order11 - 1][12], Gid12=C.Profile[player.order12 - 1][11], Gno12=C.Profile[player.order12 - 1][12] ) class Comb(Page): form_model = 'player' form_fields = ['combG_1', 'combI_1', 'combG_2', 'combI_2', 'combG_3', 'combI_3', 'combG_4', 'combI_4', 'combG_5', 'combI_5', 'combG_6', 'combI_6', 'combG_7', 'combI_7', 'combG_8', 'combI_8', 'combG_9', 'combI_9', 'combG_10', 'combI_10', 'combG_11', 'combI_11', 'combG_12', 'combI_12'] @staticmethod def is_displayed(player): return player.round_number == 5 def before_next_page(player: Player, timeout_happened): participant = player.participant participant.cG1 = player.combG_1 participant.cG2 = player.combG_2 participant.cG3 = player.combG_3 participant.cG4 = player.combG_4 participant.cG5 = player.combG_5 participant.cG6 = player.combG_6 participant.cG7 = player.combG_7 participant.cG8 = player.combG_8 participant.cG9 = player.combG_9 participant.cG10 = player.combI_10 participant.cG11 = player.combI_11 participant.cG12 = player.combI_12 participant.cI1 = player.combI_1 participant.cI2 = player.combI_2 participant.cI3 = player.combI_3 participant.cI4 = player.combI_4 participant.cI5 = player.combI_5 participant.cI6 = player.combI_6 participant.cI7 = player.combI_7 participant.cI8 = player.combI_8 participant.cI9 = player.combI_9 participant.cI10 = player.combI_10 participant.cI11 = player.combI_11 participant.cI12 = player.combI_12 if player.participant.pay_task == 5: player.pay_name_num = player.participant.pay_name_num player.pay_name_num_2 = player.participant.pay_name_num_2 tmp = [player.combG_1, player.combG_2, player.combG_3, player.combG_4, player.combG_5, player.combG_6, player.combG_7, player.combG_8, player.combG_9, player.combG_10, player.combG_11, player.combG_12] player.pay_info1 = tmp[player.pay_name_num] player.pay_info2 = C.Profile[player.pay_name_num_2][14] participant.pay_info1 = player.pay_info1 participant.pay_info2 = player.pay_info2 if player.participant.pay_task == 6: player.pay_name_num = player.participant.pay_name_num player.pay_name_num_2 = player.participant.pay_name_num_2 tmp = [player.combI_1, player.combI_2, player.combI_3, player.combI_4, player.combI_5, player.combI_6, player.combI_7, player.combI_8, player.combI_9, player.combI_10, player.combI_11, player.combI_12] player.pay_info1 = tmp[player.pay_name_num] player.pay_info2 = C.Profile[player.pay_name_num_2][14] participant.pay_info1 = player.pay_info1 participant.pay_info2 = player.pay_info2 # Game3 Pub @staticmethod def vars_for_template(player): cog_order = 1 if player.participant.task_rounds['T1'] == 1: if player.participant.task_rounds['T2'] == 2: G1id1 = C.Profile[player.order1 - 1][2] G1id2 = C.Profile[player.order2 - 1][2] G1id3 = C.Profile[player.order3 - 1][2] G1id4 = C.Profile[player.order4 - 1][2] G1id5 = C.Profile[player.order5 - 1][2] G1id6 = C.Profile[player.order6 - 1][2] G1id7 = C.Profile[player.order7 - 1][2] G1id8 = C.Profile[player.order8 - 1][2] G1id9 = C.Profile[player.order9 - 1][2] G1id10 = C.Profile[player.order10 - 1][2] G1id11 = C.Profile[player.order11 - 1][2] G1id12 = C.Profile[player.order12 - 1][2] imageG1 = 'comb_bos.png' label1 = 'Game 1: Coordination' if player.participant.task_rounds['T2'] == 3: G2id1 = C.Profile[player.order1 - 1][2] G2id2 = C.Profile[player.order2 - 1][2] G2id3 = C.Profile[player.order3 - 1][2] G2id4 = C.Profile[player.order4 - 1][2] G2id5 = C.Profile[player.order5 - 1][2] G2id6 = C.Profile[player.order6 - 1][2] G2id7 = C.Profile[player.order7 - 1][2] G2id8 = C.Profile[player.order8 - 1][2] G2id9 = C.Profile[player.order9 - 1][2] G2id10 = C.Profile[player.order10 - 1][2] G2id11 = C.Profile[player.order11 - 1][2] G2id12 = C.Profile[player.order12 - 1][2] imageG2 = 'comb_bos.png' label2 = 'Game 2: Coordination' if player.participant.task_rounds['T2'] == 4: G3id1 = C.Profile[player.order1 - 1][2] G3id2 = C.Profile[player.order2 - 1][2] G3id3 = C.Profile[player.order3 - 1][2] G3id4 = C.Profile[player.order4 - 1][2] G3id5 = C.Profile[player.order5 - 1][2] G3id6 = C.Profile[player.order6 - 1][2] G3id7 = C.Profile[player.order7 - 1][2] G3id8 = C.Profile[player.order8 - 1][2] G3id9 = C.Profile[player.order9 - 1][2] G3id10 = C.Profile[player.order10 - 1][2] G3id11 = C.Profile[player.order11 - 1][2] G3id12 = C.Profile[player.order12 - 1][2] imageG3 = 'comb_bos.png' label3 = 'Game 3: Coordination' if player.participant.task_rounds['T2'] == 5: G4id1 = C.Profile[player.order1 - 1][2] G4id2 = C.Profile[player.order2 - 1][2] G4id3 = C.Profile[player.order3 - 1][2] G4id4 = C.Profile[player.order4 - 1][2] G4id5 = C.Profile[player.order5 - 1][2] G4id6 = C.Profile[player.order6 - 1][2] G4id7 = C.Profile[player.order7 - 1][2] G4id8 = C.Profile[player.order8 - 1][2] G4id9 = C.Profile[player.order9 - 1][2] G4id10 = C.Profile[player.order10 - 1][2] G4id11 = C.Profile[player.order11 - 1][2] G4id12 = C.Profile[player.order12 - 1][2] imageG4 = 'comb_bos.png' label4 = 'Game 4: Coordination' if player.participant.task_rounds['T3'] == 2: G1id1 = C.Profile[player.order1 - 1][5] G1id2 = C.Profile[player.order2 - 1][5] G1id3 = C.Profile[player.order3 - 1][5] G1id4 = C.Profile[player.order4 - 1][5] G1id5 = C.Profile[player.order5 - 1][5] G1id6 = C.Profile[player.order6 - 1][5] G1id7 = C.Profile[player.order7 - 1][5] G1id8 = C.Profile[player.order8 - 1][5] G1id9 = C.Profile[player.order9 - 1][5] G1id10 = C.Profile[player.order10 - 1][5] G1id11 = C.Profile[player.order11 - 1][5] G1id12 = C.Profile[player.order12 - 1][5] imageG1 = 'comb_pd.png' label1 = 'Game 1: Cooperation' if player.participant.task_rounds['T3'] == 3: G2id1 = C.Profile[player.order1 - 1][5] G2id2 = C.Profile[player.order2 - 1][5] G2id3 = C.Profile[player.order3 - 1][5] G2id4 = C.Profile[player.order4 - 1][5] G2id5 = C.Profile[player.order5 - 1][5] G2id6 = C.Profile[player.order6 - 1][5] G2id7 = C.Profile[player.order7 - 1][5] G2id8 = C.Profile[player.order8 - 1][5] G2id9 = C.Profile[player.order9 - 1][5] G2id10 = C.Profile[player.order10 - 1][5] G2id11 = C.Profile[player.order11 - 1][5] G2id12 = C.Profile[player.order12 - 1][5] imageG2 = 'comb_pd.png' label2 = 'Game 2: Cooperation' if player.participant.task_rounds['T3'] == 4: G3id1 = C.Profile[player.order1 - 1][5] G3id2 = C.Profile[player.order2 - 1][5] G3id3 = C.Profile[player.order3 - 1][5] G3id4 = C.Profile[player.order4 - 1][5] G3id5 = C.Profile[player.order5 - 1][5] G3id6 = C.Profile[player.order6 - 1][5] G3id7 = C.Profile[player.order7 - 1][5] G3id8 = C.Profile[player.order8 - 1][5] G3id9 = C.Profile[player.order9 - 1][5] G3id10 = C.Profile[player.order10 - 1][5] G3id11 = C.Profile[player.order11 - 1][5] G3id12 = C.Profile[player.order12 - 1][5] imageG3 = 'comb_pd.png' label3 = 'Game 3: Cooperation' if player.participant.task_rounds['T3'] == 5: G4id1 = C.Profile[player.order1 - 1][5] G4id2 = C.Profile[player.order2 - 1][5] G4id3 = C.Profile[player.order3 - 1][5] G4id4 = C.Profile[player.order4 - 1][5] G4id5 = C.Profile[player.order5 - 1][5] G4id6 = C.Profile[player.order6 - 1][5] G4id7 = C.Profile[player.order7 - 1][5] G4id8 = C.Profile[player.order8 - 1][5] G4id9 = C.Profile[player.order9 - 1][5] G4id10 = C.Profile[player.order10 - 1][5] G4id11 = C.Profile[player.order11 - 1][5] G4id12 = C.Profile[player.order12 - 1][5] imageG4 = 'comb_pd.png' label4 = 'Game 4: Cooperation' if player.participant.task_rounds['T4'] == 2: G1id1 = C.Profile[player.order1 - 1][8] G1id2 = C.Profile[player.order2 - 1][8] G1id3 = C.Profile[player.order3 - 1][8] G1id4 = C.Profile[player.order4 - 1][8] G1id5 = C.Profile[player.order5 - 1][8] G1id6 = C.Profile[player.order6 - 1][8] G1id7 = C.Profile[player.order7 - 1][8] G1id8 = C.Profile[player.order8 - 1][8] G1id9 = C.Profile[player.order9 - 1][8] G1id10 = C.Profile[player.order10 - 1][8] G1id11 = C.Profile[player.order11 - 1][8] G1id12 = C.Profile[player.order12 - 1][8] imageG1 = 'comb_ult.png' label1 = 'Game 1 : Spite' if player.participant.task_rounds['T4'] == 3: G2id1 = C.Profile[player.order1 - 1][8] G2id2 = C.Profile[player.order2 - 1][8] G2id3 = C.Profile[player.order3 - 1][8] G2id4 = C.Profile[player.order4 - 1][8] G2id5 = C.Profile[player.order5 - 1][8] G2id6 = C.Profile[player.order6 - 1][8] G2id7 = C.Profile[player.order7 - 1][8] G2id8 = C.Profile[player.order8 - 1][8] G2id9 = C.Profile[player.order9 - 1][8] G2id10 = C.Profile[player.order10 - 1][8] G2id11 = C.Profile[player.order11 - 1][5] G2id12 = C.Profile[player.order12 - 1][8] imageG2 = 'comb_ult.png' label2 = 'Game 2 : Spite' if player.participant.task_rounds['T4'] == 4: G3id1 = C.Profile[player.order1 - 1][8] G3id2 = C.Profile[player.order2 - 1][8] G3id3 = C.Profile[player.order3 - 1][8] G3id4 = C.Profile[player.order4 - 1][8] G3id5 = C.Profile[player.order5 - 1][8] G3id6 = C.Profile[player.order6 - 1][8] G3id7 = C.Profile[player.order7 - 1][8] G3id8 = C.Profile[player.order8 - 1][8] G3id9 = C.Profile[player.order9 - 1][8] G3id10 = C.Profile[player.order10 - 1][8] G3id11 = C.Profile[player.order11 - 1][8] G3id12 = C.Profile[player.order12 - 1][8] imageG3 = 'comb_ult.png' label3 = 'Game 3 : Spite' if player.participant.task_rounds['T4'] == 5: G4id1 = C.Profile[player.order1 - 1][8] G4id2 = C.Profile[player.order2 - 1][8] G4id3 = C.Profile[player.order3 - 1][8] G4id4 = C.Profile[player.order4 - 1][8] G4id5 = C.Profile[player.order5 - 1][8] G4id6 = C.Profile[player.order6 - 1][8] G4id7 = C.Profile[player.order7 - 1][8] G4id8 = C.Profile[player.order8 - 1][8] G4id9 = C.Profile[player.order9 - 1][8] G4id10 = C.Profile[player.order10 - 1][8] G4id11 = C.Profile[player.order11 - 1][8] G4id12 = C.Profile[player.order12 - 1][8] imageG4 = 'comb_ult.png' label4 = 'Game 4 : Spite' if player.participant.task_rounds['T5'] == 2: G1id1 = C.Profile[player.order1 - 1][11] G1id2 = C.Profile[player.order2 - 1][11] G1id3 = C.Profile[player.order3 - 1][11] G1id4 = C.Profile[player.order4 - 1][11] G1id5 = C.Profile[player.order5 - 1][11] G1id6 = C.Profile[player.order6 - 1][11] G1id7 = C.Profile[player.order7 - 1][11] G1id8 = C.Profile[player.order8 - 1][11] G1id9 = C.Profile[player.order9 - 1][11] G1id10 = C.Profile[player.order10 - 1][11] G1id11 = C.Profile[player.order11 - 1][11] G1id12 = C.Profile[player.order12 - 1][11] imageG1 = 'comb_pub.png' label1 = 'Game 1: Contribution' if player.participant.task_rounds['T5'] == 3: G2id1 = C.Profile[player.order1 - 1][11] G2id2 = C.Profile[player.order2 - 1][11] G2id3 = C.Profile[player.order3 - 1][11] G2id4 = C.Profile[player.order4 - 1][11] G2id5 = C.Profile[player.order5 - 1][11] G2id6 = C.Profile[player.order6 - 1][11] G2id7 = C.Profile[player.order7 - 1][11] G2id8 = C.Profile[player.order8 - 1][11] G2id9 = C.Profile[player.order9 - 1][11] G2id10 = C.Profile[player.order10 - 1][11] G2id11 = C.Profile[player.order11 - 1][11] G2id12 = C.Profile[player.order12 - 1][11] imageG2 = 'comb_pub.png' label2 = 'Game 2: Contribution' if player.participant.task_rounds['T5'] == 4: G3id1 = C.Profile[player.order1 - 1][8] G3id2 = C.Profile[player.order2 - 1][8] G3id3 = C.Profile[player.order3 - 1][8] G3id4 = C.Profile[player.order4 - 1][8] G3id5 = C.Profile[player.order5 - 1][8] G3id6 = C.Profile[player.order6 - 1][8] G3id7 = C.Profile[player.order7 - 1][8] G3id8 = C.Profile[player.order8 - 1][8] G3id9 = C.Profile[player.order9 - 1][8] G3id10 = C.Profile[player.order10 - 1][8] G3id11 = C.Profile[player.order11 - 1][8] G3id12 = C.Profile[player.order12 - 1][8] imageG3 = 'comb_pub.png' label3 = 'Game 3: Contribution' if player.participant.task_rounds['T5'] == 5: G4id1 = C.Profile[player.order1 - 1][8] G4id2 = C.Profile[player.order2 - 1][8] G4id3 = C.Profile[player.order3 - 1][8] G4id4 = C.Profile[player.order4 - 1][8] G4id5 = C.Profile[player.order5 - 1][8] G4id6 = C.Profile[player.order6 - 1][8] G4id7 = C.Profile[player.order7 - 1][8] G4id8 = C.Profile[player.order8 - 1][8] G4id9 = C.Profile[player.order9 - 1][8] G4id10 = C.Profile[player.order10 - 1][8] G4id11 = C.Profile[player.order11 - 1][8] G4id12 = C.Profile[player.order12 - 1][8] imageG4 = 'comb_pub.png' label4 = 'Game 4: Contribution' if player.participant.task_rounds['T1'] == 5: cog_order=2 if player.participant.task_rounds['T2'] == 1: G1id1 = C.Profile[player.order1 - 1][2] G1id2 = C.Profile[player.order2 - 1][2] G1id3 = C.Profile[player.order3 - 1][2] G1id4 = C.Profile[player.order4 - 1][2] G1id5 = C.Profile[player.order5 - 1][2] G1id6 = C.Profile[player.order6 - 1][2] G1id7 = C.Profile[player.order7 - 1][2] G1id8 = C.Profile[player.order8 - 1][2] G1id9 = C.Profile[player.order9 - 1][2] G1id10 = C.Profile[player.order10 - 1][2] G1id11 = C.Profile[player.order11 - 1][2] G1id12 = C.Profile[player.order12 - 1][2] imageG1 = 'comb_bos.png' label1 = 'Gaem 1: Coordination' if player.participant.task_rounds['T2'] == 2: G2id1 = C.Profile[player.order1 - 1][2] G2id2 = C.Profile[player.order2 - 1][2] G2id3 = C.Profile[player.order3 - 1][2] G2id4 = C.Profile[player.order4 - 1][2] G2id5 = C.Profile[player.order5 - 1][2] G2id6 = C.Profile[player.order6 - 1][2] G2id7 = C.Profile[player.order7 - 1][2] G2id8 = C.Profile[player.order8 - 1][2] G2id9 = C.Profile[player.order9 - 1][2] G2id10 = C.Profile[player.order10 - 1][2] G2id11 = C.Profile[player.order11 - 1][2] G2id12 = C.Profile[player.order12 - 1][2] imageG2 = 'comb_bos.png' label2 = 'Game 2: Coordination' if player.participant.task_rounds['T2'] == 3: G3id1 = C.Profile[player.order1 - 1][2] G3id2 = C.Profile[player.order2 - 1][2] G3id3 = C.Profile[player.order3 - 1][2] G3id4 = C.Profile[player.order4 - 1][2] G3id5 = C.Profile[player.order5 - 1][2] G3id6 = C.Profile[player.order6 - 1][2] G3id7 = C.Profile[player.order7 - 1][2] G3id8 = C.Profile[player.order8 - 1][2] G3id9 = C.Profile[player.order9 - 1][2] G3id10 = C.Profile[player.order10 - 1][2] G3id11 = C.Profile[player.order11 - 1][2] G3id12 = C.Profile[player.order12 - 1][2] imageG3 = 'comb_bos.png' label3 = 'Game 3: Coordination' if player.participant.task_rounds['T2'] == 4: G4id1 = C.Profile[player.order1 - 1][2] G4id2 = C.Profile[player.order2 - 1][2] G4id3 = C.Profile[player.order3 - 1][2] G4id4 = C.Profile[player.order4 - 1][2] G4id5 = C.Profile[player.order5 - 1][2] G4id6 = C.Profile[player.order6 - 1][2] G4id7 = C.Profile[player.order7 - 1][2] G4id8 = C.Profile[player.order8 - 1][2] G4id9 = C.Profile[player.order9 - 1][2] G4id10 = C.Profile[player.order10 - 1][2] G4id11 = C.Profile[player.order11 - 1][2] G4id12 = C.Profile[player.order12 - 1][2] imageG4 = 'comb_bos.png' label4 = 'Game 4: Coordination' if player.participant.task_rounds['T3'] == 1: G1id1 = C.Profile[player.order1 - 1][5] G1id2 = C.Profile[player.order2 - 1][5] G1id3 = C.Profile[player.order3 - 1][5] G1id4 = C.Profile[player.order4 - 1][5] G1id5 = C.Profile[player.order5 - 1][5] G1id6 = C.Profile[player.order6 - 1][5] G1id7 = C.Profile[player.order7 - 1][5] G1id8 = C.Profile[player.order8 - 1][5] G1id9 = C.Profile[player.order9 - 1][5] G1id10 = C.Profile[player.order10 - 1][5] G1id11 = C.Profile[player.order11 - 1][5] G1id12 = C.Profile[player.order12 - 1][5] imageG1 = 'comb_pd.png' label1 = 'Game 1: Cooperation' if player.participant.task_rounds['T3'] == 2: G2id1 = C.Profile[player.order1 - 1][5] G2id2 = C.Profile[player.order2 - 1][5] G2id3 = C.Profile[player.order3 - 1][5] G2id4 = C.Profile[player.order4 - 1][5] G2id5 = C.Profile[player.order5 - 1][5] G2id6 = C.Profile[player.order6 - 1][5] G2id7 = C.Profile[player.order7 - 1][5] G2id8 = C.Profile[player.order8 - 1][5] G2id9 = C.Profile[player.order9 - 1][5] G2id10 = C.Profile[player.order10 - 1][5] G2id11 = C.Profile[player.order11 - 1][5] G2id12 = C.Profile[player.order12 - 1][5] imageG2 = 'comb_pd.png' label2 = 'Game 2: Cooperation' if player.participant.task_rounds['T3'] == 3: G3id1 = C.Profile[player.order1 - 1][5] G3id2 = C.Profile[player.order2 - 1][5] G3id3 = C.Profile[player.order3 - 1][5] G3id4 = C.Profile[player.order4 - 1][5] G3id5 = C.Profile[player.order5 - 1][5] G3id6 = C.Profile[player.order6 - 1][5] G3id7 = C.Profile[player.order7 - 1][5] G3id8 = C.Profile[player.order8 - 1][5] G3id9 = C.Profile[player.order9 - 1][5] G3id10 = C.Profile[player.order10 - 1][5] G3id11 = C.Profile[player.order11 - 1][5] G3id12 = C.Profile[player.order12 - 1][5] imageG3 = 'comb_pd.png' label3 = 'Game 3: Cooperation' if player.participant.task_rounds['T3'] == 4: G4id1 = C.Profile[player.order1 - 1][5] G4id2 = C.Profile[player.order2 - 1][5] G4id3 = C.Profile[player.order3 - 1][5] G4id4 = C.Profile[player.order4 - 1][5] G4id5 = C.Profile[player.order5 - 1][5] G4id6 = C.Profile[player.order6 - 1][5] G4id7 = C.Profile[player.order7 - 1][5] G4id8 = C.Profile[player.order8 - 1][5] G4id9 = C.Profile[player.order9 - 1][5] G4id10 = C.Profile[player.order10 - 1][5] G4id11 = C.Profile[player.order11 - 1][5] G4id12 = C.Profile[player.order12 - 1][5] imageG4 = 'comb_pd.png' label4 = 'Game 4: Cooperation' if player.participant.task_rounds['T4'] == 1: G1id1 = C.Profile[player.order1 - 1][8] G1id2 = C.Profile[player.order2 - 1][8] G1id3 = C.Profile[player.order3 - 1][8] G1id4 = C.Profile[player.order4 - 1][8] G1id5 = C.Profile[player.order5 - 1][8] G1id6 = C.Profile[player.order6 - 1][8] G1id7 = C.Profile[player.order7 - 1][8] G1id8 = C.Profile[player.order8 - 1][8] G1id9 = C.Profile[player.order9 - 1][8] G1id10 = C.Profile[player.order10 - 1][8] G1id11 = C.Profile[player.order11 - 1][8] G1id12 = C.Profile[player.order12 - 1][8] imageG1 = 'comb_ult.png' label1 = 'Game 1 : Spite' if player.participant.task_rounds['T4'] == 2: G2id1 = C.Profile[player.order1 - 1][8] G2id2 = C.Profile[player.order2 - 1][8] G2id3 = C.Profile[player.order3 - 1][8] G2id4 = C.Profile[player.order4 - 1][8] G2id5 = C.Profile[player.order5 - 1][8] G2id6 = C.Profile[player.order6 - 1][8] G2id7 = C.Profile[player.order7 - 1][8] G2id8 = C.Profile[player.order8 - 1][8] G2id9 = C.Profile[player.order9 - 1][8] G2id10 = C.Profile[player.order10 - 1][8] G2id11 = C.Profile[player.order11 - 1][5] G2id12 = C.Profile[player.order12 - 1][8] imageG2 = 'comb_ult.png' label2 = 'Game 2 : Spite' if player.participant.task_rounds['T4'] == 3: G3id1 = C.Profile[player.order1 - 1][8] G3id2 = C.Profile[player.order2 - 1][8] G3id3 = C.Profile[player.order3 - 1][8] G3id4 = C.Profile[player.order4 - 1][8] G3id5 = C.Profile[player.order5 - 1][8] G3id6 = C.Profile[player.order6 - 1][8] G3id7 = C.Profile[player.order7 - 1][8] G3id8 = C.Profile[player.order8 - 1][8] G3id9 = C.Profile[player.order9 - 1][8] G3id10 = C.Profile[player.order10 - 1][8] G3id11 = C.Profile[player.order11 - 1][8] G3id12 = C.Profile[player.order12 - 1][8] imageG3 = 'comb_ult.png' label3 = 'Game 3 : Spite' if player.participant.task_rounds['T4'] == 4: G4id1 = C.Profile[player.order1 - 1][8] G4id2 = C.Profile[player.order2 - 1][8] G4id3 = C.Profile[player.order3 - 1][8] G4id4 = C.Profile[player.order4 - 1][8] G4id5 = C.Profile[player.order5 - 1][8] G4id6 = C.Profile[player.order6 - 1][8] G4id7 = C.Profile[player.order7 - 1][8] G4id8 = C.Profile[player.order8 - 1][8] G4id9 = C.Profile[player.order9 - 1][8] G4id10 = C.Profile[player.order10 - 1][8] G4id11 = C.Profile[player.order11 - 1][8] G4id12 = C.Profile[player.order12 - 1][8] imageG4 = 'comb_ult.png' label4 = 'Game 4 : Spite' if player.participant.task_rounds['T5'] == 1: G1id1 = C.Profile[player.order1 - 1][11] G1id2 = C.Profile[player.order2 - 1][11] G1id3 = C.Profile[player.order3 - 1][11] G1id4 = C.Profile[player.order4 - 1][11] G1id5 = C.Profile[player.order5 - 1][11] G1id6 = C.Profile[player.order6 - 1][11] G1id7 = C.Profile[player.order7 - 1][11] G1id8 = C.Profile[player.order8 - 1][11] G1id9 = C.Profile[player.order9 - 1][11] G1id10 = C.Profile[player.order10 - 1][11] G1id11 = C.Profile[player.order11 - 1][11] G1id12 = C.Profile[player.order12 - 1][11] imageG1 = 'comb_pub.png' label1 = 'Game 1: Contribution' if player.participant.task_rounds['T5'] == 2: G2id1 = C.Profile[player.order1 - 1][11] G2id2 = C.Profile[player.order2 - 1][11] G2id3 = C.Profile[player.order3 - 1][11] G2id4 = C.Profile[player.order4 - 1][11] G2id5 = C.Profile[player.order5 - 1][11] G2id6 = C.Profile[player.order6 - 1][11] G2id7 = C.Profile[player.order7 - 1][11] G2id8 = C.Profile[player.order8 - 1][11] G2id9 = C.Profile[player.order9 - 1][11] G2id10 = C.Profile[player.order10 - 1][11] G2id11 = C.Profile[player.order11 - 1][11] G2id12 = C.Profile[player.order12 - 1][11] imageG2 = 'comb_pub.png' label2 = 'Game 2: Contribution' if player.participant.task_rounds['T5'] == 3: G3id1 = C.Profile[player.order1 - 1][8] G3id2 = C.Profile[player.order2 - 1][8] G3id3 = C.Profile[player.order3 - 1][8] G3id4 = C.Profile[player.order4 - 1][8] G3id5 = C.Profile[player.order5 - 1][8] G3id6 = C.Profile[player.order6 - 1][8] G3id7 = C.Profile[player.order7 - 1][8] G3id8 = C.Profile[player.order8 - 1][8] G3id9 = C.Profile[player.order9 - 1][8] G3id10 = C.Profile[player.order10 - 1][8] G3id11 = C.Profile[player.order11 - 1][8] G3id12 = C.Profile[player.order12 - 1][8] imageG3 = 'comb_pub.png' label3 = 'Game 3: Contribution' if player.participant.task_rounds['T5'] == 4: G4id1 = C.Profile[player.order1 - 1][8] G4id2 = C.Profile[player.order2 - 1][8] G4id3 = C.Profile[player.order3 - 1][8] G4id4 = C.Profile[player.order4 - 1][8] G4id5 = C.Profile[player.order5 - 1][8] G4id6 = C.Profile[player.order6 - 1][8] G4id7 = C.Profile[player.order7 - 1][8] G4id8 = C.Profile[player.order8 - 1][8] G4id9 = C.Profile[player.order9 - 1][8] G4id10 = C.Profile[player.order10 - 1][8] G4id11 = C.Profile[player.order11 - 1][8] G4id12 = C.Profile[player.order12 - 1][8] imageG4 = 'comb_pub.png' label4 = 'Game 4: Contribution' return dict( label1=label1, label2=label2, label3=label3, label4=label4, imageG1=imageG1, imageG2=imageG2, imageG3=imageG3, imageG4=imageG4, cog_order=cog_order, name1=player.name1, name2=player.name2, name3=player.name3, name4=player.name4, name5=player.name5, name6=player.name6, name7=player.name7, name8=player.name8, name9=player.name9, name10=player.name10, name11=player.name11, name12=player.name12, G1id1=G1id1, G1id2=G1id2, G1id3=G1id3, G1id4=G1id4, G1id5=G1id5, G1id6=G1id6, G1id7=G1id7, G1id8=G1id8, G1id9=G1id9, G1id10=G1id10, G1id11=G1id11, G1id12=G1id12, G2id1=G2id1, G2id2=G2id2, G2id3=G2id3, G2id4=G2id4, G2id5=G2id5, G2id6=G2id6, G2id7=G2id7, G2id8=G2id8, G2id9=G2id9, G2id10=G2id10, G2id11=G2id11, G2id12=G2id12, G3id1=G3id1, G3id2=G3id2, G3id3=G3id3, G3id4=G3id4, G3id5=G3id5, G3id6=G3id6, G3id7=G3id7, G3id8=G3id8, G3id9=G3id9, G3id10=G3id10, G3id11=G3id11, G3id12=G3id12, G4id1=G4id1, G4id2=G4id2, G4id3=G4id3, G4id4=G4id4, G4id5=G4id5, G4id6=G4id6, G4id7=G4id7, G4id8=G4id8, G4id9=G4id9, G4id10=G4id10, G4id11=G4id11, G4id12=G4id12, c1=C.Profile[player.order1 - 1][0], c2=C.Profile[player.order2 - 1][0], c3=C.Profile[player.order3 - 1][0], c4=C.Profile[player.order4 - 1][0], c5=C.Profile[player.order5 - 1][0], c6=C.Profile[player.order6 - 1][0], c7=C.Profile[player.order7 - 1][0], c8=C.Profile[player.order8 - 1][0], c9=C.Profile[player.order9 - 1][0], c10=C.Profile[player.order10 - 1][0], c11=C.Profile[player.order11 - 1][0], c12=C.Profile[player.order12 - 1][0] ) class InstCOG(Page): form_model = 'player' form_fields = ['compm'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T1'] def vars_for_template(player: Player): return dict( rn=player.round_number ) def before_next_page(player: Player, timeout_happened): player.order1 = player.participant.order1 player.order2 = player.participant.order2 player.order3 = player.participant.order3 player.order4 = player.participant.order4 player.order5 = player.participant.order5 player.order6 = player.participant.order6 player.order7 = player.participant.order7 player.order8 = player.participant.order8 player.order9 = player.participant.order9 player.order10 = player.participant.order10 player.order11 = player.participant.order11 player.order12 = player.participant.order12 player.name1 = player.participant.name1 player.name2 = player.participant.name2 player.name3 = player.participant.name3 player.name4 = player.participant.name4 player.name5 = player.participant.name5 player.name6 = player.participant.name6 player.name7 = player.participant.name7 player.name8 = player.participant.name8 player.name9 = player.participant.name9 player.name10 = player.participant.name10 player.name11 = player.participant.name11 player.name12 = player.participant.name12 class InstSOC1(Page): form_model = 'player' form_fields = ['comp1'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T2'] def vars_for_template(player: Player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number - 1 x1 = player.participant.task_rounds['T2'] x2 = player.participant.task_rounds['T3'] x3 = player.participant.task_rounds['T4'] x4 = player.participant.task_rounds['T5'] m = min(x2, x3, x4) comp = 0 if x1 < m: comp = 1 return dict( rn=player.round_number, rn2=rn2, comp=comp ) def before_next_page(player: Player, timeout_happened): player.order1 = player.participant.order1 player.order2 = player.participant.order2 player.order3 = player.participant.order3 player.order4 = player.participant.order4 player.order5 = player.participant.order5 player.order6 = player.participant.order6 player.order7 = player.participant.order7 player.order8 = player.participant.order8 player.order9 = player.participant.order9 player.order10 = player.participant.order10 player.order11 = player.participant.order11 player.order12 = player.participant.order12 player.name1 = player.participant.name1 player.name2 = player.participant.name2 player.name3 = player.participant.name3 player.name4 = player.participant.name4 player.name5 = player.participant.name5 player.name6 = player.participant.name6 player.name7 = player.participant.name7 player.name8 = player.participant.name8 player.name9 = player.participant.name9 player.name10 = player.participant.name10 player.name11 = player.participant.name11 player.name12 = player.participant.name12 class InstSOC2(Page): form_model = 'player' form_fields = ['comp2'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T3'] def vars_for_template(player: Player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number - 1 x1 = player.participant.task_rounds['T2'] x2 = player.participant.task_rounds['T3'] x3 = player.participant.task_rounds['T4'] x4 = player.participant.task_rounds['T5'] m = min(x1, x3, x4) comp = 0 if x2 < m: comp = 1 return dict( rn=player.round_number, rn2=rn2, comp=comp ) def before_next_page(player: Player, timeout_happened): player.order1 = player.participant.order1 player.order2 = player.participant.order2 player.order3 = player.participant.order3 player.order4 = player.participant.order4 player.order5 = player.participant.order5 player.order6 = player.participant.order6 player.order7 = player.participant.order7 player.order8 = player.participant.order8 player.order9 = player.participant.order9 player.order10 = player.participant.order10 player.order11 = player.participant.order11 player.order12 = player.participant.order12 player.name1 = player.participant.name1 player.name2 = player.participant.name2 player.name3 = player.participant.name3 player.name4 = player.participant.name4 player.name5 = player.participant.name5 player.name6 = player.participant.name6 player.name7 = player.participant.name7 player.name8 = player.participant.name8 player.name9 = player.participant.name9 player.name10 = player.participant.name10 player.name11 = player.participant.name11 player.name12 = player.participant.name12 class InstSOC3(Page): form_model = 'player' form_fields = ['comp3'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T4'] def vars_for_template(player: Player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number - 1 x1 = player.participant.task_rounds['T2'] x2 = player.participant.task_rounds['T3'] x3 = player.participant.task_rounds['T4'] x4 = player.participant.task_rounds['T5'] m = min(x1, x2, x4) comp = 0 if x3 < m: comp = 1 return dict( rn=player.round_number, rn2=rn2, comp=comp ) def before_next_page(player: Player, timeout_happened): player.order1 = player.participant.order1 player.order2 = player.participant.order2 player.order3 = player.participant.order3 player.order4 = player.participant.order4 player.order5 = player.participant.order5 player.order6 = player.participant.order6 player.order7 = player.participant.order7 player.order8 = player.participant.order8 player.order9 = player.participant.order9 player.order10 = player.participant.order10 player.order11 = player.participant.order11 player.order12 = player.participant.order12 player.name1 = player.participant.name1 player.name2 = player.participant.name2 player.name3 = player.participant.name3 player.name4 = player.participant.name4 player.name5 = player.participant.name5 player.name6 = player.participant.name6 player.name7 = player.participant.name7 player.name8 = player.participant.name8 player.name9 = player.participant.name9 player.name10 = player.participant.name10 player.name11 = player.participant.name11 player.name12 = player.participant.name12 class InstSOC4(Page): form_model = 'player' form_fields = ['comp4'] @staticmethod def is_displayed(player): return player.round_number == player.participant.task_rounds['T5'] def vars_for_template(player: Player): rn2 = player.round_number if player.participant.task_rounds['T1'] == 1: rn2 = player.round_number -1 x1 = player.participant.task_rounds['T2'] x2 = player.participant.task_rounds['T3'] x3 = player.participant.task_rounds['T4'] x4 = player.participant.task_rounds['T5'] m = min(x1, x2, x3) comp = 0 if x4 < m: comp = 1 return dict( rn=player.round_number, rn2=rn2, comp=comp ) def before_next_page(player: Player, timeout_happened): player.order1 = player.participant.order1 player.order2 = player.participant.order2 player.order3 = player.participant.order3 player.order4 = player.participant.order4 player.order5 = player.participant.order5 player.order6 = player.participant.order6 player.order7 = player.participant.order7 player.order8 = player.participant.order8 player.order9 = player.participant.order9 player.order10 = player.participant.order10 player.order11 = player.participant.order11 player.order12 = player.participant.order12 player.name1 = player.participant.name1 player.name2 = player.participant.name2 player.name3 = player.participant.name3 player.name4 = player.participant.name4 player.name5 = player.participant.name5 player.name6 = player.participant.name6 player.name7 = player.participant.name7 player.name8 = player.participant.name8 player.name9 = player.participant.name9 player.name10 = player.participant.name10 player.name11 = player.participant.name11 player.name12 = player.participant.name12 class InstComb(Page): form_model = 'player' @staticmethod def is_displayed(player): return player.round_number == 5 page_sequence = [InstCOG, CogTest, InstSOC1, Game1, InstSOC2, Game2, InstSOC3, Game3, InstSOC4, Game4, InstComb, Comb] # page_sequence = [InstCOG, InstSOC1, # InstSOC2, InstSOC3, InstSOC4, InstComb]