from otree.api import * import random author = 'Mike ZhiRen Wu' doc = """ Your app description """ def compare_strings(a, b): size = min(len(a), len(b)) # Finding the minimum length count = 0 # A counter to keep track of same characters for i in range(size): if a[i] == b[i]: count += 1 # Updating the counter when characters are same at an index return count def pay_easy(a): if a == 6: pay = 16 else: pay = a return pay def pay_hard(a): if a == 8: pay = 32 else: pay = a return pay def perfect_easy(a): if a == 6: is_perfect = 1 else: is_perfect = 0 return is_perfect def perfect_hard(a): if a == 8: is_perfect = 1 else: is_perfect = 0 return is_perfect class C(BaseConstants): # Duration of the task Game_Time = 60 NAME_IN_URL = 'gendered_feedback' PLAYERS_PER_GROUP = 2 NUM_ROUNDS = 1 TIMER_TEXT = "Time left:" StageII_easy1 = 'χι.χε.' StageII_easy2 = 'φηγβ.α' StageII_easy3 = 'γιαχχη' StageII_easy4 = 'ιχχεχχ' StageII_easy5 = 'χεααιβ' StageII_easy6 = 'ηφχαεβ' StageII_easy7 = 'ηγφβ.β' StageII_easy8 = 'ι.δγιχ' StageII_easy9 = 'χφβδδη' StageII_easy10 = 'χδε...' StageII_easy11 = 'γ.ιηε.' StageII_easy12 = 'αγδγφη' StageII_easy13 = 'δηαφ.ι' StageII_easy14 = 'χη.δεχ' StageII_easy15 = '.χη.αι' # transcription task 1-20 StageII_hard1 = 'βαδα.χγη' StageII_hard2 = 'ηιφφχεηη' StageII_hard3 = 'αγφγβιδδ' StageII_hard4 = 'αβα.φιαφ' StageII_hard5 = 'δε.φ.χε.' StageII_hard6 = 'χδη.χχαδ' StageII_hard7 = 'εγη.ηει.' StageII_hard8 = 'ιιδχφεηδ' StageII_hard9 = 'δγγδδβγχ' StageII_hard10 = 'ηχεη.ι.χ' StageII_hard11 = 'χγγη.δαα' StageII_hard12 = 'χαηιηβεδ' StageII_hard13 = 'γγαηαχιε' StageII_hard14 = 'γγιβη.ηφ' StageII_hard15 = 'χδγγ.αχι' StageIII_easy1 = 'βγβηη.' StageIII_easy2 = 'βφφειε' StageIII_easy3 = 'ειφιδα' StageIII_easy4 = 'δγφχηδ' StageIII_easy5 = 'χαηαια' StageIII_easy6 = 'εεαγφγ' StageIII_easy7 = '.γ.αηχ' StageIII_easy8 = 'φαδχιβ' StageIII_easy9 = '.η.βιγ' StageIII_easy10 = 'δβ.χα.' StageIII_easy11 = 'δχιαχα' StageIII_easy12 = 'γιγη.ι' StageIII_easy13 = 'χχγηεφ' StageIII_easy14 = 'αβφ.βη' StageIII_easy15 = 'φ.βεβδ' StageIII_easy21 = 'αφφιεα' StageIII_easy22 = 'χδχγβγ' StageIII_easy23 = 'εηηβχδ' StageIII_easy24 = '.ιβηιε' StageIII_easy25 = 'βιαηιγ' StageIII_easy26 = 'εγδγηγ' StageIII_easy27 = 'αβχφηγ' StageIII_easy28 = 'ιεγ.αε' StageIII_easy29 = 'φηδ.αη' StageIII_easy30 = 'γ.α.χδ' StageIII_easy31 = 'φφφαιε' StageIII_easy32 = 'βα.βηφ' StageIII_easy33 = 'αααιηη' StageIII_easy34 = 'χδεεφχ' StageIII_easy35 = 'χδδβαφ' StageIII_easy41 = 'αγχδ.φ' StageIII_easy42 = 'ιβφφιι' StageIII_easy43 = '.βδεαδ' StageIII_easy44 = 'εβχχεε' StageIII_easy45 = 'ιδχη.η' StageIII_easy46 = '..εεγφ' StageIII_easy47 = 'αβγχηφ' StageIII_easy48 = 'χδαφφγ' StageIII_easy49 = 'χεβε..' StageIII_easy50 = 'φ.δβχβ' StageIII_easy51 = 'γιββαγ' StageIII_easy52 = 'ααηγβη' StageIII_easy53 = 'χφφγ.η' StageIII_easy54 = 'ιβαββα' StageIII_easy55 = 'ηφφαφ.' StageIV_easy1 = 'δεα.γφ' StageIV_easy2 = 'αεδ.βα' StageIV_easy3 = 'φγηααγ' StageIV_easy4 = 'βαχηχδ' StageIV_easy5 = 'φηη..δ' StageIV_easy6 = 'εηβγεβ' StageIV_easy7 = 'εαφ.χδ' StageIV_easy8 = 'ιβ.δηχ' StageIV_easy9 = 'γχαφιβ' StageIV_easy10 = 'ηγβεγι' StageIV_easy11 = 'αχφιαφ' StageIV_easy12 = 'φφχφδε' StageIV_easy13 = 'χ.βφγε' StageIV_easy14 = 'χφδ.γε' StageIV_easy15 = 'φδδειχ' StageIV_easy21 = 'βχγηχα' StageIV_easy22 = 'αγχηεγ' StageIV_easy23 = 'γφγ.χφ' StageIV_easy24 = 'γ.γιηε' StageIV_easy25 = 'δαφχγγ' StageIV_easy26 = 'δφειαφ' StageIV_easy27 = 'γγγχι.' StageIV_easy28 = '.εαεγ.' StageIV_easy29 = 'χ.χφε.' StageIV_easy30 = 'ηφ.αφδ' StageIV_easy31 = 'ηδχηδι' StageIV_easy32 = 'η.ηαεβ' StageIV_easy33 = '.φχιφι' StageIV_easy34 = '.ιδηχε' StageIV_easy35 = 'ιιφδιδ' StageIV_easy41 = '.ι.γφι' StageIV_easy42 = 'αφαβηφ' StageIV_easy43 = 'ιβιχφε' StageIV_easy44 = 'φγεε..' StageIV_easy45 = 'φφχγχα' StageIV_easy46 = '.γεχφφ' StageIV_easy47 = 'φιιεεε' StageIV_easy48 = 'δχχ.ηχ' StageIV_easy49 = 'ειαιβε' StageIV_easy50 = 'ηιεηφδ' StageIV_easy51 = 'ε.φβει' StageIV_easy52 = 'διδιαβ' StageIV_easy53 = 'ιααδ.γ' StageIV_easy54 = 'ιδδγιι' StageIV_easy55 = 'αιιιγ.' # transcription task 21-120 StageIV_hard1 = 'εχδ.εηβδ' StageIV_hard2 = 'η.γγγαβ.' StageIV_hard3 = 'βαχγ.βιχ' StageIV_hard4 = 'αιδηγφ.χ' StageIV_hard5 = 'φβαειε.α' StageIV_hard6 = 'χα.εαγεα' StageIV_hard7 = 'γιιφγβγα' StageIV_hard8 = 'δφδεγαηη' StageIV_hard9 = 'ηδ.χεδγδ' StageIV_hard10 = 'χβχηειχγ' StageIV_hard11 = 'ηιγγχαεχ' StageIV_hard12 = 'βφχβ.χβ.' StageIV_hard13 = 'χηηιααχ.' StageIV_hard14 = 'ιφφαφηβ.' StageIV_hard15 = 'ειβχφδαφ' StageIV_hard21 = 'α.ιδγβα.' StageIV_hard22 = 'εδφηηηεβ' StageIV_hard23 = 'χιδ.ηαβχ' StageIV_hard24 = 'γ.ειδεχα' StageIV_hard25 = 'ηβφηφηηφ' StageIV_hard26 = 'ιδηαεβηχ' StageIV_hard27 = 'δ.ηδφιγε' StageIV_hard28 = 'χαιδχβη.' StageIV_hard29 = 'ηηιγαγδβ' StageIV_hard30 = 'βδαγια.γ' StageIV_hard31 = 'χηφβγεφη' StageIV_hard32 = 'αβ.ιδχφδ' StageIV_hard33 = 'γεε.ιβγχ' StageIV_hard34 = 'δβ.γηφχ.' StageIV_hard35 = 'εγβεδαφχ' StageIV_hard41 = 'αφχφγφγα' StageIV_hard42 = 'γεχβιχεχ' StageIV_hard43 = 'δβφχφφγβ' StageIV_hard44 = 'χγ.αγβιγ' StageIV_hard45 = 'η.δφαιφε' StageIV_hard46 = 'εγγηβγεφ' StageIV_hard47 = 'φχγχγα.ι' StageIV_hard48 = 'ααφβ.β.η' StageIV_hard49 = 'χγδεδηφγ' StageIV_hard50 = 'φιφχεχχβ' StageIV_hard51 = 'ηφιδ.χβχ' StageIV_hard52 = 'γγηβεηγ.' StageIV_hard53 = 'φ.ιβ.βφχ' StageIV_hard54 = 'γαδβ.χ.χ' StageIV_hard55 = 'δχιβιδαχ' class Subsession(BaseSubsession): pass class Group(BaseGroup): pronoun = models.StringField() pronoun2 = models.StringField() pronoun3 = models.StringField() summative_positive = models.StringField() summative_neutral = models.StringField() summative_negative = models.StringField() summative_positive_1 = models.StringField() summative_neutral_1 = models.StringField() summative_negative_1 = models.StringField() summative_positive_2 = models.StringField() summative_neutral_2 = models.StringField() summative_negative_2 = models.StringField() summative_positive_3 = models.StringField() summative_neutral_3 = models.StringField() summative_negative_3 = models.StringField() message_list = models.LongStringField() message_list_1 = models.LongStringField() message_list_2 = models.LongStringField() message_list_3 = models.LongStringField() message_list_new = models.LongStringField() message_list_new1 = models.LongStringField() message_list_new2 = models.LongStringField() message_list_new3 = models.LongStringField() employee_name = models.StringField() task_choice = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Easy Task: 6 Greek letters'], [2, 'Hard Task: 8 blurred Greek letters']]) Message_StageIII_E_R1 = models.StringField() Message_StageIII_E_R2 = models.StringField() Message_StageIV_E_R1 = models.StringField() Message_StageIV_E_R2 = models.StringField() Message_StageIV_H_R1 = models.StringField() Message_StageIV_H_R2 = models.StringField() # Counting Number of Pages StageIII_easy_period1_count = models.IntegerField(initial=0) StageIII_easy_period2_count = models.IntegerField(initial=0) StageIII_easy_period3_count = models.IntegerField(initial=0) StageIV_easy_period1_count = models.IntegerField(initial=0) StageIV_easy_period2_count = models.IntegerField(initial=0) StageIV_easy_period3_count = models.IntegerField(initial=0) StageIV_hard_period1_count = models.IntegerField(initial=0) StageIV_hard_period2_count = models.IntegerField(initial=0) StageIV_hard_period3_count = models.IntegerField(initial=0) # Correct letters for StageIII letters_StageIII_easy1 = models.IntegerField(initial=0) letters_StageIII_easy2 = models.IntegerField(initial=0) letters_StageIII_easy3 = models.IntegerField(initial=0) letters_StageIII_easy4 = models.IntegerField(initial=0) letters_StageIII_easy5 = models.IntegerField(initial=0) letters_StageIII_easy6 = models.IntegerField(initial=0) letters_StageIII_easy7 = models.IntegerField(initial=0) letters_StageIII_easy8 = models.IntegerField(initial=0) letters_StageIII_easy9 = models.IntegerField(initial=0) letters_StageIII_easy10 = models.IntegerField(initial=0) letters_StageIII_easy11 = models.IntegerField(initial=0) letters_StageIII_easy12 = models.IntegerField(initial=0) letters_StageIII_easy13 = models.IntegerField(initial=0) letters_StageIII_easy14 = models.IntegerField(initial=0) letters_StageIII_easy15 = models.IntegerField(initial=0) letters_StageIII_easy21 = models.IntegerField(initial=0) letters_StageIII_easy22 = models.IntegerField(initial=0) letters_StageIII_easy23 = models.IntegerField(initial=0) letters_StageIII_easy24 = models.IntegerField(initial=0) letters_StageIII_easy25 = models.IntegerField(initial=0) letters_StageIII_easy26 = models.IntegerField(initial=0) letters_StageIII_easy27 = models.IntegerField(initial=0) letters_StageIII_easy28 = models.IntegerField(initial=0) letters_StageIII_easy29 = models.IntegerField(initial=0) letters_StageIII_easy30 = models.IntegerField(initial=0) letters_StageIII_easy31 = models.IntegerField(initial=0) letters_StageIII_easy32 = models.IntegerField(initial=0) letters_StageIII_easy33 = models.IntegerField(initial=0) letters_StageIII_easy34 = models.IntegerField(initial=0) letters_StageIII_easy35 = models.IntegerField(initial=0) letters_StageIII_easy41 = models.IntegerField(initial=0) letters_StageIII_easy42 = models.IntegerField(initial=0) letters_StageIII_easy43 = models.IntegerField(initial=0) letters_StageIII_easy44 = models.IntegerField(initial=0) letters_StageIII_easy45 = models.IntegerField(initial=0) letters_StageIII_easy46 = models.IntegerField(initial=0) letters_StageIII_easy47 = models.IntegerField(initial=0) letters_StageIII_easy48 = models.IntegerField(initial=0) letters_StageIII_easy49 = models.IntegerField(initial=0) letters_StageIII_easy50 = models.IntegerField(initial=0) letters_StageIII_easy51 = models.IntegerField(initial=0) letters_StageIII_easy52 = models.IntegerField(initial=0) letters_StageIII_easy53 = models.IntegerField(initial=0) letters_StageIII_easy54 = models.IntegerField(initial=0) letters_StageIII_easy55 = models.IntegerField(initial=0) # Total correct letters in each round total_correct_StageIII_p1 = models.IntegerField(initial=0) total_correct_StageIII_p2 = models.IntegerField(initial=0) total_correct_StageIII_p3 = models.IntegerField(initial=0) total_correct_StageIV_p1_easy = models.IntegerField(initial=0) total_correct_StageIV_p1_hard = models.IntegerField(initial=0) total_correct_StageIV_p2_easy = models.IntegerField(initial=0) total_correct_StageIV_p2_hard = models.IntegerField(initial=0) total_correct_StageIV_p3_easy = models.IntegerField(initial=0) total_correct_StageIV_p3_hard = models.IntegerField(initial=0) total_correct_StageIV_p1 = models.IntegerField(initial=0) total_correct_StageIV_p2 = models.IntegerField(initial=0) total_correct_StageIV_p3 = models.IntegerField(initial=0) # Total perfect transcriptions in each round total_perfect_StageIII_p1 = models.IntegerField(initial=0) total_perfect_StageIII_p2 = models.IntegerField(initial=0) total_perfect_StageIII_p3 = models.IntegerField(initial=0) total_perfect_StageIV_p1_easy = models.IntegerField(initial=0) total_perfect_StageIV_p1_hard = models.IntegerField(initial=0) total_perfect_StageIV_p2_easy = models.IntegerField(initial=0) total_perfect_StageIV_p2_hard = models.IntegerField(initial=0) total_perfect_StageIV_p3_easy = models.IntegerField(initial=0) total_perfect_StageIV_p3_hard = models.IntegerField(initial=0) total_perfect_StageIV_p1 = models.IntegerField(initial=0) total_perfect_StageIV_p2 = models.IntegerField(initial=0) total_perfect_StageIV_p3 = models.IntegerField(initial=0) # Correct letters for StageIV letters_StageIV_easy1 = models.IntegerField(initial=0) letters_StageIV_easy2 = models.IntegerField(initial=0) letters_StageIV_easy3 = models.IntegerField(initial=0) letters_StageIV_easy4 = models.IntegerField(initial=0) letters_StageIV_easy5 = models.IntegerField(initial=0) letters_StageIV_easy6 = models.IntegerField(initial=0) letters_StageIV_easy7 = models.IntegerField(initial=0) letters_StageIV_easy8 = models.IntegerField(initial=0) letters_StageIV_easy9 = models.IntegerField(initial=0) letters_StageIV_easy10 = models.IntegerField(initial=0) letters_StageIV_easy11 = models.IntegerField(initial=0) letters_StageIV_easy12 = models.IntegerField(initial=0) letters_StageIV_easy13 = models.IntegerField(initial=0) letters_StageIV_easy14 = models.IntegerField(initial=0) letters_StageIV_easy15 = models.IntegerField(initial=0) letters_StageIV_easy21 = models.IntegerField(initial=0) letters_StageIV_easy22 = models.IntegerField(initial=0) letters_StageIV_easy23 = models.IntegerField(initial=0) letters_StageIV_easy24 = models.IntegerField(initial=0) letters_StageIV_easy25 = models.IntegerField(initial=0) letters_StageIV_easy26 = models.IntegerField(initial=0) letters_StageIV_easy27 = models.IntegerField(initial=0) letters_StageIV_easy28 = models.IntegerField(initial=0) letters_StageIV_easy29 = models.IntegerField(initial=0) letters_StageIV_easy30 = models.IntegerField(initial=0) letters_StageIV_easy31 = models.IntegerField(initial=0) letters_StageIV_easy32 = models.IntegerField(initial=0) letters_StageIV_easy33 = models.IntegerField(initial=0) letters_StageIV_easy34 = models.IntegerField(initial=0) letters_StageIV_easy35 = models.IntegerField(initial=0) letters_StageIV_easy41 = models.IntegerField(initial=0) letters_StageIV_easy42 = models.IntegerField(initial=0) letters_StageIV_easy43 = models.IntegerField(initial=0) letters_StageIV_easy44 = models.IntegerField(initial=0) letters_StageIV_easy45 = models.IntegerField(initial=0) letters_StageIV_easy46 = models.IntegerField(initial=0) letters_StageIV_easy47 = models.IntegerField(initial=0) letters_StageIV_easy48 = models.IntegerField(initial=0) letters_StageIV_easy49 = models.IntegerField(initial=0) letters_StageIV_easy50 = models.IntegerField(initial=0) letters_StageIV_easy51 = models.IntegerField(initial=0) letters_StageIV_easy52 = models.IntegerField(initial=0) letters_StageIV_easy53 = models.IntegerField(initial=0) letters_StageIV_easy54 = models.IntegerField(initial=0) letters_StageIV_easy55 = models.IntegerField(initial=0) letters_StageIV_hard1 = models.IntegerField(initial=0) letters_StageIV_hard2 = models.IntegerField(initial=0) letters_StageIV_hard3 = models.IntegerField(initial=0) letters_StageIV_hard4 = models.IntegerField(initial=0) letters_StageIV_hard5 = models.IntegerField(initial=0) letters_StageIV_hard6 = models.IntegerField(initial=0) letters_StageIV_hard7 = models.IntegerField(initial=0) letters_StageIV_hard8 = models.IntegerField(initial=0) letters_StageIV_hard9 = models.IntegerField(initial=0) letters_StageIV_hard10 = models.IntegerField(initial=0) letters_StageIV_hard11 = models.IntegerField(initial=0) letters_StageIV_hard12 = models.IntegerField(initial=0) letters_StageIV_hard13 = models.IntegerField(initial=0) letters_StageIV_hard14 = models.IntegerField(initial=0) letters_StageIV_hard15 = models.IntegerField(initial=0) letters_StageIV_hard21 = models.IntegerField(initial=0) letters_StageIV_hard22 = models.IntegerField(initial=0) letters_StageIV_hard23 = models.IntegerField(initial=0) letters_StageIV_hard24 = models.IntegerField(initial=0) letters_StageIV_hard25 = models.IntegerField(initial=0) letters_StageIV_hard26 = models.IntegerField(initial=0) letters_StageIV_hard27 = models.IntegerField(initial=0) letters_StageIV_hard28 = models.IntegerField(initial=0) letters_StageIV_hard29 = models.IntegerField(initial=0) letters_StageIV_hard30 = models.IntegerField(initial=0) letters_StageIV_hard31 = models.IntegerField(initial=0) letters_StageIV_hard32 = models.IntegerField(initial=0) letters_StageIV_hard33 = models.IntegerField(initial=0) letters_StageIV_hard34 = models.IntegerField(initial=0) letters_StageIV_hard35 = models.IntegerField(initial=0) letters_StageIV_hard41 = models.IntegerField(initial=0) letters_StageIV_hard42 = models.IntegerField(initial=0) letters_StageIV_hard43 = models.IntegerField(initial=0) letters_StageIV_hard44 = models.IntegerField(initial=0) letters_StageIV_hard45 = models.IntegerField(initial=0) letters_StageIV_hard46 = models.IntegerField(initial=0) letters_StageIV_hard47 = models.IntegerField(initial=0) letters_StageIV_hard48 = models.IntegerField(initial=0) letters_StageIV_hard49 = models.IntegerField(initial=0) letters_StageIV_hard50 = models.IntegerField(initial=0) letters_StageIV_hard51 = models.IntegerField(initial=0) letters_StageIV_hard52 = models.IntegerField(initial=0) letters_StageIV_hard53 = models.IntegerField(initial=0) letters_StageIV_hard54 = models.IntegerField(initial=0) letters_StageIV_hard55 = models.IntegerField(initial=0) Total_payment_StageIII_R1 = models.IntegerField(initial=0) Total_payment_StageIII_R2 = models.IntegerField(initial=0) Total_payment_StageIII_R3 = models.IntegerField(initial=0) Total_payment_StageIV_R1 = models.IntegerField(initial=0) Total_payment_StageIV_R2 = models.IntegerField(initial=0) Total_payment_StageIV_R3 = models.IntegerField(initial=0) Total_point_StageIII = models.IntegerField(initial=0) Total_point_StageIV = models.IntegerField(initial=0) Total_point = models.IntegerField(initial=0) Total_point_PartII = models.IntegerField(initial=0) Total_payment = models.FloatField(initial=0) class Player(BasePlayer): # Total correct letters in the practice round total_correct_StageII_easy = models.IntegerField(initial=0) total_correct_StageII_hard = models.IntegerField(initial=0) # Total perfect transcriptions in the practice round total_perfect_StageII_easy = models.IntegerField(initial=0) total_perfect_StageII_hard = models.IntegerField(initial=0) Attitude_1 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Agree strongly'], [2, 'Agree'], [3, 'Disagree'], [4, 'Disagree strongly']]) Attitude_2 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Agree strongly'], [2, 'Agree'], [3, 'Disagree'], [4, 'Disagree strongly']]) Attitude_3 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Agree strongly'], [2, 'Agree'], [3, 'Disagree'], [4, 'Disagree strongly']]) Attitude_4 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Agree strongly'], [2, 'Agree'], [3, 'Disagree'], [4, 'Disagree strongly']]) Attitude_5 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Agree strongly'], [2, 'Agree'], [3, 'Disagree'], [4, 'Disagree strongly']]) Managerial_1 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Very important'], [2, 'Important'], [3, 'Somewhat important'], [4, 'Not very important'], [5, 'Not at all important']]) Managerial_2 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Very important'], [2, 'Important'], [3, 'Somewhat important'], [4, 'Not very important'], [5, 'Not at all important']]) Managerial_3 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Very important'], [2, 'Important'], [3, 'Somewhat important'], [4, 'Not very important'], [5, 'Not at all important']]) Managerial_4 = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Very important'], [2, 'Important'], [3, 'Somewhat important'], [4, 'Not very important'], [5, 'Not at all important']]) Gender_Guess = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Male'], [0, 'Female']]) enroll = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Yes'], [0, 'No']]) ProlificID = models.StringField() Reason = models.LongStringField() Freeform_Feedback = models.LongStringField() Rate_Feedback = models.IntegerField(widget=widgets.RadioSelect, choices=[1, 2, 3, 4, 5]) Rate_Overall_Performance = models.IntegerField(widget=widgets.RadioSelect, choices=[1, 2, 3, 4, 5]) Managerial_Experience = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Less than 1 year'], [2, 'Around 1-3 years'], [3, 'Around 3-5 years'], [4, 'More than 5 years'], [5, 'I have no related experience']]) Gender = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'Male'], [2, 'Female'], [3, 'Non-binary / gender diverse'], [4, 'Prefer not to say']]) # Referring to US CPS survey Race = models.IntegerField(widget=widgets.RadioSelect, choices=[[1, 'White '], [2, 'Black or African American'], [3, 'American Indian or Alaska Native'], [4, 'Asian'], [5, 'Native Hawaiian or Other Pacific Islander'], [6, 'Other']]) YOB = models.IntegerField() Nationality = models.StringField() # Referring to US CPS survey Education = models.StringField(widget=widgets.RadioSelect, choices=['Less than High School', 'High school completion', "Some colleges or associate's degree", "Bachelor's degree", 'Advanced degree']) # Top 500 popular names for US newborn babies in 2000 Pseudonym_Male = models.StringField(widget=widgets.RadioSelect) Pseudonym_Female = models.StringField(widget=widgets.RadioSelect) Pseudonym_Non_binary = models.StringField(widget=widgets.RadioSelect) # Rating in Stage III Rating_StageII_easy = models.IntegerField(widget=widgets.RadioSelect, choices= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) Rating_StageII_hard = models.IntegerField(widget=widgets.RadioSelect, choices= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) # Decision Time for the manager's choice (Feedback & Promotion & Rating) DT_StageII_easy = models.FloatField() DT_StageII_hard = models.FloatField() DT_StageIII_M1 = models.FloatField() DT_StageIII_M2 = models.FloatField() DT_StageIV_M1 = models.FloatField() DT_StageIV_M2 = models.FloatField() DT_TaskAssignment = models.FloatField() #Decision Time for the worker to read the message DT_StageIII_M1_reading = models.FloatField() DT_StageIII_M2_reading = models.FloatField() DT_StageIV_M1_reading = models.FloatField() DT_StageIV_M2_reading = models.FloatField() # Time Stamp DT_StageII_easy_0 = models.FloatField(initial=0) DT_StageII_easy_1 = models.FloatField(initial=0) DT_StageII_hard_0 = models.FloatField(initial=0) DT_StageII_hard_1 = models.FloatField(initial=0) DT_StageIII_M1_0 = models.FloatField(initial=0) DT_StageIII_M1_1 = models.FloatField(initial=0) DT_StageIII_M2_0 = models.FloatField(initial=0) DT_StageIII_M2_1 = models.FloatField(initial=0) DT_StageIV_M1_0 = models.FloatField(initial=0) DT_StageIV_M1_1 = models.FloatField(initial=0) DT_StageIV_M2_0 = models.FloatField(initial=0) DT_StageIV_M2_1 = models.FloatField(initial=0) DT_TaskAssignment_0 = models.FloatField(initial=0) DT_TaskAssignment_1 = models.FloatField(initial=0) DT_StageIII_M1_reading_0 = models.FloatField(initial=0) DT_StageIII_M1_reading_1 = models.FloatField(initial=0) DT_StageIII_M2_reading_0 = models.FloatField(initial=0) DT_StageIII_M2_reading_1 = models.FloatField(initial=0) DT_StageIV_M1_reading_0 = models.FloatField(initial=0) DT_StageIV_M1_reading_1 = models.FloatField(initial=0) DT_StageIV_M2_reading_0 = models.FloatField(initial=0) DT_StageIV_M2_reading_1 = models.FloatField(initial=0) # Counting Number of Pages StageII_easy_count = models.IntegerField(initial=0) StageII_hard_count = models.IntegerField(initial=0) # Answer for Practice Round-Easy StageII_easy1_answer = models.StringField(blank=True, initial="") StageII_easy2_answer = models.StringField(blank=True, initial="") StageII_easy3_answer = models.StringField(blank=True, initial="") StageII_easy4_answer = models.StringField(blank=True, initial="") StageII_easy5_answer = models.StringField(blank=True, initial="") StageII_easy6_answer = models.StringField(blank=True, initial="") StageII_easy7_answer = models.StringField(blank=True, initial="") StageII_easy8_answer = models.StringField(blank=True, initial="") StageII_easy9_answer = models.StringField(blank=True, initial="") StageII_easy10_answer = models.StringField(blank=True, initial="") StageII_easy11_answer = models.StringField(blank=True, initial="") StageII_easy12_answer = models.StringField(blank=True, initial="") StageII_easy13_answer = models.StringField(blank=True, initial="") StageII_easy14_answer = models.StringField(blank=True, initial="") StageII_easy15_answer = models.StringField(blank=True, initial="") # Answer for Practice Round-Hard StageII_hard1_answer = models.StringField(blank=True, initial="") StageII_hard2_answer = models.StringField(blank=True, initial="") StageII_hard3_answer = models.StringField(blank=True, initial="") StageII_hard4_answer = models.StringField(blank=True, initial="") StageII_hard5_answer = models.StringField(blank=True, initial="") StageII_hard6_answer = models.StringField(blank=True, initial="") StageII_hard7_answer = models.StringField(blank=True, initial="") StageII_hard8_answer = models.StringField(blank=True, initial="") StageII_hard9_answer = models.StringField(blank=True, initial="") StageII_hard10_answer = models.StringField(blank=True, initial="") StageII_hard11_answer = models.StringField(blank=True, initial="") StageII_hard12_answer = models.StringField(blank=True, initial="") StageII_hard13_answer = models.StringField(blank=True, initial="") StageII_hard14_answer = models.StringField(blank=True, initial="") StageII_hard15_answer = models.StringField(blank=True, initial="") # Time stamp time0_E = models.IntegerField(initial=0) time1_E = models.IntegerField(initial=0) time2_E = models.IntegerField(initial=0) time3_E = models.IntegerField(initial=0) time4_E = models.IntegerField(initial=0) time5_E = models.IntegerField(initial=0) time6_E = models.IntegerField(initial=0) time7_E = models.IntegerField(initial=0) time8_E = models.IntegerField(initial=0) time9_E = models.IntegerField(initial=0) time10_E = models.IntegerField(initial=0) time11_E = models.IntegerField(initial=0) time12_E = models.IntegerField(initial=0) time13_E = models.IntegerField(initial=0) time14_E = models.IntegerField(initial=0) time15_E = models.IntegerField(initial=0) time0_H = models.IntegerField(initial=0) time1_H = models.IntegerField(initial=0) time2_H = models.IntegerField(initial=0) time3_H = models.IntegerField(initial=0) time4_H = models.IntegerField(initial=0) time5_H = models.IntegerField(initial=0) time6_H = models.IntegerField(initial=0) time7_H = models.IntegerField(initial=0) time8_H = models.IntegerField(initial=0) time9_H = models.IntegerField(initial=0) time10_H = models.IntegerField(initial=0) time11_H = models.IntegerField(initial=0) time12_H = models.IntegerField(initial=0) time13_H = models.IntegerField(initial=0) time14_H = models.IntegerField(initial=0) time15_H = models.IntegerField(initial=0) time0_E_StageIII_R1 = models.IntegerField(initial=0) time1_E_StageIII_R1 = models.IntegerField(initial=0) time2_E_StageIII_R1 = models.IntegerField(initial=0) time3_E_StageIII_R1 = models.IntegerField(initial=0) time4_E_StageIII_R1 = models.IntegerField(initial=0) time5_E_StageIII_R1 = models.IntegerField(initial=0) time6_E_StageIII_R1 = models.IntegerField(initial=0) time7_E_StageIII_R1 = models.IntegerField(initial=0) time8_E_StageIII_R1 = models.IntegerField(initial=0) time9_E_StageIII_R1 = models.IntegerField(initial=0) time10_E_StageIII_R1 = models.IntegerField(initial=0) time11_E_StageIII_R1 = models.IntegerField(initial=0) time12_E_StageIII_R1 = models.IntegerField(initial=0) time13_E_StageIII_R1 = models.IntegerField(initial=0) time14_E_StageIII_R1 = models.IntegerField(initial=0) time15_E_StageIII_R1 = models.IntegerField(initial=0) time0_E_StageIII_R2 = models.IntegerField(initial=0) time1_E_StageIII_R2 = models.IntegerField(initial=0) time2_E_StageIII_R2 = models.IntegerField(initial=0) time3_E_StageIII_R2 = models.IntegerField(initial=0) time4_E_StageIII_R2 = models.IntegerField(initial=0) time5_E_StageIII_R2 = models.IntegerField(initial=0) time6_E_StageIII_R2 = models.IntegerField(initial=0) time7_E_StageIII_R2 = models.IntegerField(initial=0) time8_E_StageIII_R2 = models.IntegerField(initial=0) time9_E_StageIII_R2 = models.IntegerField(initial=0) time10_E_StageIII_R2 = models.IntegerField(initial=0) time11_E_StageIII_R2 = models.IntegerField(initial=0) time12_E_StageIII_R2 = models.IntegerField(initial=0) time13_E_StageIII_R2 = models.IntegerField(initial=0) time14_E_StageIII_R2 = models.IntegerField(initial=0) time15_E_StageIII_R2 = models.IntegerField(initial=0) time0_E_StageIII_R3 = models.IntegerField(initial=0) time1_E_StageIII_R3 = models.IntegerField(initial=0) time2_E_StageIII_R3 = models.IntegerField(initial=0) time3_E_StageIII_R3 = models.IntegerField(initial=0) time4_E_StageIII_R3 = models.IntegerField(initial=0) time5_E_StageIII_R3 = models.IntegerField(initial=0) time6_E_StageIII_R3 = models.IntegerField(initial=0) time7_E_StageIII_R3 = models.IntegerField(initial=0) time8_E_StageIII_R3 = models.IntegerField(initial=0) time9_E_StageIII_R3 = models.IntegerField(initial=0) time10_E_StageIII_R3 = models.IntegerField(initial=0) time11_E_StageIII_R3 = models.IntegerField(initial=0) time12_E_StageIII_R3 = models.IntegerField(initial=0) time13_E_StageIII_R3 = models.IntegerField(initial=0) time14_E_StageIII_R3 = models.IntegerField(initial=0) time15_E_StageIII_R3 = models.IntegerField(initial=0) time0_E_StageIV_R1 = models.IntegerField(initial=0) time1_E_StageIV_R1 = models.IntegerField(initial=0) time2_E_StageIV_R1 = models.IntegerField(initial=0) time3_E_StageIV_R1 = models.IntegerField(initial=0) time4_E_StageIV_R1 = models.IntegerField(initial=0) time5_E_StageIV_R1 = models.IntegerField(initial=0) time6_E_StageIV_R1 = models.IntegerField(initial=0) time7_E_StageIV_R1 = models.IntegerField(initial=0) time8_E_StageIV_R1 = models.IntegerField(initial=0) time9_E_StageIV_R1 = models.IntegerField(initial=0) time10_E_StageIV_R1 = models.IntegerField(initial=0) time11_E_StageIV_R1 = models.IntegerField(initial=0) time12_E_StageIV_R1 = models.IntegerField(initial=0) time13_E_StageIV_R1 = models.IntegerField(initial=0) time14_E_StageIV_R1 = models.IntegerField(initial=0) time15_E_StageIV_R1 = models.IntegerField(initial=0) time0_E_StageIV_R2 = models.IntegerField(initial=0) time1_E_StageIV_R2 = models.IntegerField(initial=0) time2_E_StageIV_R2 = models.IntegerField(initial=0) time3_E_StageIV_R2 = models.IntegerField(initial=0) time4_E_StageIV_R2 = models.IntegerField(initial=0) time5_E_StageIV_R2 = models.IntegerField(initial=0) time6_E_StageIV_R2 = models.IntegerField(initial=0) time7_E_StageIV_R2 = models.IntegerField(initial=0) time8_E_StageIV_R2 = models.IntegerField(initial=0) time9_E_StageIV_R2 = models.IntegerField(initial=0) time10_E_StageIV_R2 = models.IntegerField(initial=0) time11_E_StageIV_R2 = models.IntegerField(initial=0) time12_E_StageIV_R2 = models.IntegerField(initial=0) time13_E_StageIV_R2 = models.IntegerField(initial=0) time14_E_StageIV_R2 = models.IntegerField(initial=0) time15_E_StageIV_R2 = models.IntegerField(initial=0) time0_E_StageIV_R3 = models.IntegerField(initial=0) time1_E_StageIV_R3 = models.IntegerField(initial=0) time2_E_StageIV_R3 = models.IntegerField(initial=0) time3_E_StageIV_R3 = models.IntegerField(initial=0) time4_E_StageIV_R3 = models.IntegerField(initial=0) time5_E_StageIV_R3 = models.IntegerField(initial=0) time6_E_StageIV_R3 = models.IntegerField(initial=0) time7_E_StageIV_R3 = models.IntegerField(initial=0) time8_E_StageIV_R3 = models.IntegerField(initial=0) time9_E_StageIV_R3 = models.IntegerField(initial=0) time10_E_StageIV_R3 = models.IntegerField(initial=0) time11_E_StageIV_R3 = models.IntegerField(initial=0) time12_E_StageIV_R3 = models.IntegerField(initial=0) time13_E_StageIV_R3 = models.IntegerField(initial=0) time14_E_StageIV_R3 = models.IntegerField(initial=0) time15_E_StageIV_R3 = models.IntegerField(initial=0) time0_H_StageIV_R1 = models.IntegerField(initial=0) time1_H_StageIV_R1 = models.IntegerField(initial=0) time2_H_StageIV_R1 = models.IntegerField(initial=0) time3_H_StageIV_R1 = models.IntegerField(initial=0) time4_H_StageIV_R1 = models.IntegerField(initial=0) time5_H_StageIV_R1 = models.IntegerField(initial=0) time6_H_StageIV_R1 = models.IntegerField(initial=0) time7_H_StageIV_R1 = models.IntegerField(initial=0) time8_H_StageIV_R1 = models.IntegerField(initial=0) time9_H_StageIV_R1 = models.IntegerField(initial=0) time10_H_StageIV_R1 = models.IntegerField(initial=0) time11_H_StageIV_R1 = models.IntegerField(initial=0) time12_H_StageIV_R1 = models.IntegerField(initial=0) time13_H_StageIV_R1 = models.IntegerField(initial=0) time14_H_StageIV_R1 = models.IntegerField(initial=0) time15_H_StageIV_R1 = models.IntegerField(initial=0) time0_H_StageIV_R2 = models.IntegerField(initial=0) time1_H_StageIV_R2 = models.IntegerField(initial=0) time2_H_StageIV_R2 = models.IntegerField(initial=0) time3_H_StageIV_R2 = models.IntegerField(initial=0) time4_H_StageIV_R2 = models.IntegerField(initial=0) time5_H_StageIV_R2 = models.IntegerField(initial=0) time6_H_StageIV_R2 = models.IntegerField(initial=0) time7_H_StageIV_R2 = models.IntegerField(initial=0) time8_H_StageIV_R2 = models.IntegerField(initial=0) time9_H_StageIV_R2 = models.IntegerField(initial=0) time10_H_StageIV_R2 = models.IntegerField(initial=0) time11_H_StageIV_R2 = models.IntegerField(initial=0) time12_H_StageIV_R2 = models.IntegerField(initial=0) time13_H_StageIV_R2 = models.IntegerField(initial=0) time14_H_StageIV_R2 = models.IntegerField(initial=0) time15_H_StageIV_R2 = models.IntegerField(initial=0) time0_H_StageIV_R3 = models.IntegerField(initial=0) time1_H_StageIV_R3 = models.IntegerField(initial=0) time2_H_StageIV_R3 = models.IntegerField(initial=0) time3_H_StageIV_R3 = models.IntegerField(initial=0) time4_H_StageIV_R3 = models.IntegerField(initial=0) time5_H_StageIV_R3 = models.IntegerField(initial=0) time6_H_StageIV_R3 = models.IntegerField(initial=0) time7_H_StageIV_R3 = models.IntegerField(initial=0) time8_H_StageIV_R3 = models.IntegerField(initial=0) time9_H_StageIV_R3 = models.IntegerField(initial=0) time10_H_StageIV_R3 = models.IntegerField(initial=0) time11_H_StageIV_R3 = models.IntegerField(initial=0) time12_H_StageIV_R3 = models.IntegerField(initial=0) time13_H_StageIV_R3 = models.IntegerField(initial=0) time14_H_StageIV_R3 = models.IntegerField(initial=0) time15_H_StageIV_R3 = models.IntegerField(initial=0) # Create a field to store the data timeSpent_easy1 = models.IntegerField(initial=0) timeSpent_easy2 = models.IntegerField(initial=0) timeSpent_easy3 = models.IntegerField(initial=0) timeSpent_easy4 = models.IntegerField(initial=0) timeSpent_easy5 = models.IntegerField(initial=0) timeSpent_easy6 = models.IntegerField(initial=0) timeSpent_easy7 = models.IntegerField(initial=0) timeSpent_easy8 = models.IntegerField(initial=0) timeSpent_easy9 = models.IntegerField(initial=0) timeSpent_easy10 = models.IntegerField(initial=0) timeSpent_easy11 = models.IntegerField(initial=0) timeSpent_easy12 = models.IntegerField(initial=0) timeSpent_easy13 = models.IntegerField(initial=0) timeSpent_easy14 = models.IntegerField(initial=0) timeSpent_easy15 = models.IntegerField(initial=0) timeSpent_hard1 = models.IntegerField(initial=0) timeSpent_hard2 = models.IntegerField(initial=0) timeSpent_hard3 = models.IntegerField(initial=0) timeSpent_hard4 = models.IntegerField(initial=0) timeSpent_hard5 = models.IntegerField(initial=0) timeSpent_hard6 = models.IntegerField(initial=0) timeSpent_hard7 = models.IntegerField(initial=0) timeSpent_hard8 = models.IntegerField(initial=0) timeSpent_hard9 = models.IntegerField(initial=0) timeSpent_hard10 = models.IntegerField(initial=0) timeSpent_hard11 = models.IntegerField(initial=0) timeSpent_hard12 = models.IntegerField(initial=0) timeSpent_hard13 = models.IntegerField(initial=0) timeSpent_hard14 = models.IntegerField(initial=0) timeSpent_hard15 = models.IntegerField(initial=0) # correct letters for practice rounds letters_easy1 = models.IntegerField(initial=0) letters_easy2 = models.IntegerField(initial=0) letters_easy3 = models.IntegerField(initial=0) letters_easy4 = models.IntegerField(initial=0) letters_easy5 = models.IntegerField(initial=0) letters_easy6 = models.IntegerField(initial=0) letters_easy7 = models.IntegerField(initial=0) letters_easy8 = models.IntegerField(initial=0) letters_easy9 = models.IntegerField(initial=0) letters_easy10 = models.IntegerField(initial=0) letters_easy11 = models.IntegerField(initial=0) letters_easy12 = models.IntegerField(initial=0) letters_easy13 = models.IntegerField(initial=0) letters_easy14 = models.IntegerField(initial=0) letters_easy15 = models.IntegerField(initial=0) # correct letters for practice rounds-Hard letters_hard1 = models.IntegerField(initial=0) letters_hard2 = models.IntegerField(initial=0) letters_hard3 = models.IntegerField(initial=0) letters_hard4 = models.IntegerField(initial=0) letters_hard5 = models.IntegerField(initial=0) letters_hard6 = models.IntegerField(initial=0) letters_hard7 = models.IntegerField(initial=0) letters_hard8 = models.IntegerField(initial=0) letters_hard9 = models.IntegerField(initial=0) letters_hard10 = models.IntegerField(initial=0) letters_hard11 = models.IntegerField(initial=0) letters_hard12 = models.IntegerField(initial=0) letters_hard13 = models.IntegerField(initial=0) letters_hard14 = models.IntegerField(initial=0) letters_hard15 = models.IntegerField(initial=0) # Answer for Stage III-Easy StageIII_easy1_answer = models.StringField(blank=True, initial="") StageIII_easy2_answer = models.StringField(blank=True, initial="") StageIII_easy3_answer = models.StringField(blank=True, initial="") StageIII_easy4_answer = models.StringField(blank=True, initial="") StageIII_easy5_answer = models.StringField(blank=True, initial="") StageIII_easy6_answer = models.StringField(blank=True, initial="") StageIII_easy7_answer = models.StringField(blank=True, initial="") StageIII_easy8_answer = models.StringField(blank=True, initial="") StageIII_easy9_answer = models.StringField(blank=True, initial="") StageIII_easy10_answer = models.StringField(blank=True, initial="") StageIII_easy11_answer = models.StringField(blank=True, initial="") StageIII_easy12_answer = models.StringField(blank=True, initial="") StageIII_easy13_answer = models.StringField(blank=True, initial="") StageIII_easy14_answer = models.StringField(blank=True, initial="") StageIII_easy15_answer = models.StringField(blank=True, initial="") StageIII_easy21_answer = models.StringField(blank=True, initial="") StageIII_easy22_answer = models.StringField(blank=True, initial="") StageIII_easy23_answer = models.StringField(blank=True, initial="") StageIII_easy24_answer = models.StringField(blank=True, initial="") StageIII_easy25_answer = models.StringField(blank=True, initial="") StageIII_easy26_answer = models.StringField(blank=True, initial="") StageIII_easy27_answer = models.StringField(blank=True, initial="") StageIII_easy28_answer = models.StringField(blank=True, initial="") StageIII_easy29_answer = models.StringField(blank=True, initial="") StageIII_easy30_answer = models.StringField(blank=True, initial="") StageIII_easy31_answer = models.StringField(blank=True, initial="") StageIII_easy32_answer = models.StringField(blank=True, initial="") StageIII_easy33_answer = models.StringField(blank=True, initial="") StageIII_easy34_answer = models.StringField(blank=True, initial="") StageIII_easy35_answer = models.StringField(blank=True, initial="") StageIII_easy41_answer = models.StringField(blank=True, initial="") StageIII_easy42_answer = models.StringField(blank=True, initial="") StageIII_easy43_answer = models.StringField(blank=True, initial="") StageIII_easy44_answer = models.StringField(blank=True, initial="") StageIII_easy45_answer = models.StringField(blank=True, initial="") StageIII_easy46_answer = models.StringField(blank=True, initial="") StageIII_easy47_answer = models.StringField(blank=True, initial="") StageIII_easy48_answer = models.StringField(blank=True, initial="") StageIII_easy49_answer = models.StringField(blank=True, initial="") StageIII_easy50_answer = models.StringField(blank=True, initial="") StageIII_easy51_answer = models.StringField(blank=True, initial="") StageIII_easy52_answer = models.StringField(blank=True, initial="") StageIII_easy53_answer = models.StringField(blank=True, initial="") StageIII_easy54_answer = models.StringField(blank=True, initial="") StageIII_easy55_answer = models.StringField(blank=True, initial="") # Answer for Stage IV-Easy StageIV_easy1_answer = models.StringField(blank=True, initial="") StageIV_easy2_answer = models.StringField(blank=True, initial="") StageIV_easy3_answer = models.StringField(blank=True, initial="") StageIV_easy4_answer = models.StringField(blank=True, initial="") StageIV_easy5_answer = models.StringField(blank=True, initial="") StageIV_easy6_answer = models.StringField(blank=True, initial="") StageIV_easy7_answer = models.StringField(blank=True, initial="") StageIV_easy8_answer = models.StringField(blank=True, initial="") StageIV_easy9_answer = models.StringField(blank=True, initial="") StageIV_easy10_answer = models.StringField(blank=True, initial="") StageIV_easy11_answer = models.StringField(blank=True, initial="") StageIV_easy12_answer = models.StringField(blank=True, initial="") StageIV_easy13_answer = models.StringField(blank=True, initial="") StageIV_easy14_answer = models.StringField(blank=True, initial="") StageIV_easy15_answer = models.StringField(blank=True, initial="") StageIV_easy21_answer = models.StringField(blank=True, initial="") StageIV_easy22_answer = models.StringField(blank=True, initial="") StageIV_easy23_answer = models.StringField(blank=True, initial="") StageIV_easy24_answer = models.StringField(blank=True, initial="") StageIV_easy25_answer = models.StringField(blank=True, initial="") StageIV_easy26_answer = models.StringField(blank=True, initial="") StageIV_easy27_answer = models.StringField(blank=True, initial="") StageIV_easy28_answer = models.StringField(blank=True, initial="") StageIV_easy29_answer = models.StringField(blank=True, initial="") StageIV_easy30_answer = models.StringField(blank=True, initial="") StageIV_easy31_answer = models.StringField(blank=True, initial="") StageIV_easy32_answer = models.StringField(blank=True, initial="") StageIV_easy33_answer = models.StringField(blank=True, initial="") StageIV_easy34_answer = models.StringField(blank=True, initial="") StageIV_easy35_answer = models.StringField(blank=True, initial="") StageIV_easy41_answer = models.StringField(blank=True, initial="") StageIV_easy42_answer = models.StringField(blank=True, initial="") StageIV_easy43_answer = models.StringField(blank=True, initial="") StageIV_easy44_answer = models.StringField(blank=True, initial="") StageIV_easy45_answer = models.StringField(blank=True, initial="") StageIV_easy46_answer = models.StringField(blank=True, initial="") StageIV_easy47_answer = models.StringField(blank=True, initial="") StageIV_easy48_answer = models.StringField(blank=True, initial="") StageIV_easy49_answer = models.StringField(blank=True, initial="") StageIV_easy50_answer = models.StringField(blank=True, initial="") StageIV_easy51_answer = models.StringField(blank=True, initial="") StageIV_easy52_answer = models.StringField(blank=True, initial="") StageIV_easy53_answer = models.StringField(blank=True, initial="") StageIV_easy54_answer = models.StringField(blank=True, initial="") StageIV_easy55_answer = models.StringField(blank=True, initial="") # Answer for Stage IV-Hard StageIV_hard1_answer = models.StringField(blank=True, initial="") StageIV_hard2_answer = models.StringField(blank=True, initial="") StageIV_hard3_answer = models.StringField(blank=True, initial="") StageIV_hard4_answer = models.StringField(blank=True, initial="") StageIV_hard5_answer = models.StringField(blank=True, initial="") StageIV_hard6_answer = models.StringField(blank=True, initial="") StageIV_hard7_answer = models.StringField(blank=True, initial="") StageIV_hard8_answer = models.StringField(blank=True, initial="") StageIV_hard9_answer = models.StringField(blank=True, initial="") StageIV_hard10_answer = models.StringField(blank=True, initial="") StageIV_hard11_answer = models.StringField(blank=True, initial="") StageIV_hard12_answer = models.StringField(blank=True, initial="") StageIV_hard13_answer = models.StringField(blank=True, initial="") StageIV_hard14_answer = models.StringField(blank=True, initial="") StageIV_hard15_answer = models.StringField(blank=True, initial="") StageIV_hard21_answer = models.StringField(blank=True, initial="") StageIV_hard22_answer = models.StringField(blank=True, initial="") StageIV_hard23_answer = models.StringField(blank=True, initial="") StageIV_hard24_answer = models.StringField(blank=True, initial="") StageIV_hard25_answer = models.StringField(blank=True, initial="") StageIV_hard26_answer = models.StringField(blank=True, initial="") StageIV_hard27_answer = models.StringField(blank=True, initial="") StageIV_hard28_answer = models.StringField(blank=True, initial="") StageIV_hard29_answer = models.StringField(blank=True, initial="") StageIV_hard30_answer = models.StringField(blank=True, initial="") StageIV_hard31_answer = models.StringField(blank=True, initial="") StageIV_hard32_answer = models.StringField(blank=True, initial="") StageIV_hard33_answer = models.StringField(blank=True, initial="") StageIV_hard34_answer = models.StringField(blank=True, initial="") StageIV_hard35_answer = models.StringField(blank=True, initial="") StageIV_hard41_answer = models.StringField(blank=True, initial="") StageIV_hard42_answer = models.StringField(blank=True, initial="") StageIV_hard43_answer = models.StringField(blank=True, initial="") StageIV_hard44_answer = models.StringField(blank=True, initial="") StageIV_hard45_answer = models.StringField(blank=True, initial="") StageIV_hard46_answer = models.StringField(blank=True, initial="") StageIV_hard47_answer = models.StringField(blank=True, initial="") StageIV_hard48_answer = models.StringField(blank=True, initial="") StageIV_hard49_answer = models.StringField(blank=True, initial="") StageIV_hard50_answer = models.StringField(blank=True, initial="") StageIV_hard51_answer = models.StringField(blank=True, initial="") StageIV_hard52_answer = models.StringField(blank=True, initial="") StageIV_hard53_answer = models.StringField(blank=True, initial="") StageIV_hard54_answer = models.StringField(blank=True, initial="") StageIV_hard55_answer = models.StringField(blank=True, initial="") # Time spent for stage III timeSpent_StageIII_easy1 = models.IntegerField(initial=0) timeSpent_StageIII_easy2 = models.IntegerField(initial=0) timeSpent_StageIII_easy3 = models.IntegerField(initial=0) timeSpent_StageIII_easy4 = models.IntegerField(initial=0) timeSpent_StageIII_easy5 = models.IntegerField(initial=0) timeSpent_StageIII_easy6 = models.IntegerField(initial=0) timeSpent_StageIII_easy7 = models.IntegerField(initial=0) timeSpent_StageIII_easy8 = models.IntegerField(initial=0) timeSpent_StageIII_easy9 = models.IntegerField(initial=0) timeSpent_StageIII_easy10 = models.IntegerField(initial=0) timeSpent_StageIII_easy11 = models.IntegerField(initial=0) timeSpent_StageIII_easy12 = models.IntegerField(initial=0) timeSpent_StageIII_easy13 = models.IntegerField(initial=0) timeSpent_StageIII_easy14 = models.IntegerField(initial=0) timeSpent_StageIII_easy15 = models.IntegerField(initial=0) timeSpent_StageIII_easy21 = models.IntegerField(initial=0) timeSpent_StageIII_easy22 = models.IntegerField(initial=0) timeSpent_StageIII_easy23 = models.IntegerField(initial=0) timeSpent_StageIII_easy24 = models.IntegerField(initial=0) timeSpent_StageIII_easy25 = models.IntegerField(initial=0) timeSpent_StageIII_easy26 = models.IntegerField(initial=0) timeSpent_StageIII_easy27 = models.IntegerField(initial=0) timeSpent_StageIII_easy28 = models.IntegerField(initial=0) timeSpent_StageIII_easy29 = models.IntegerField(initial=0) timeSpent_StageIII_easy30 = models.IntegerField(initial=0) timeSpent_StageIII_easy31 = models.IntegerField(initial=0) timeSpent_StageIII_easy32 = models.IntegerField(initial=0) timeSpent_StageIII_easy33 = models.IntegerField(initial=0) timeSpent_StageIII_easy34 = models.IntegerField(initial=0) timeSpent_StageIII_easy35 = models.IntegerField(initial=0) timeSpent_StageIII_easy41 = models.IntegerField(initial=0) timeSpent_StageIII_easy42 = models.IntegerField(initial=0) timeSpent_StageIII_easy43 = models.IntegerField(initial=0) timeSpent_StageIII_easy44 = models.IntegerField(initial=0) timeSpent_StageIII_easy45 = models.IntegerField(initial=0) timeSpent_StageIII_easy46 = models.IntegerField(initial=0) timeSpent_StageIII_easy47 = models.IntegerField(initial=0) timeSpent_StageIII_easy48 = models.IntegerField(initial=0) timeSpent_StageIII_easy49 = models.IntegerField(initial=0) timeSpent_StageIII_easy50 = models.IntegerField(initial=0) timeSpent_StageIII_easy51 = models.IntegerField(initial=0) timeSpent_StageIII_easy52 = models.IntegerField(initial=0) timeSpent_StageIII_easy53 = models.IntegerField(initial=0) timeSpent_StageIII_easy54 = models.IntegerField(initial=0) timeSpent_StageIII_easy55 = models.IntegerField(initial=0) # Time spent for stage IV timeSpent_StageIV_easy1 = models.IntegerField(initial=0) timeSpent_StageIV_easy2 = models.IntegerField(initial=0) timeSpent_StageIV_easy3 = models.IntegerField(initial=0) timeSpent_StageIV_easy4 = models.IntegerField(initial=0) timeSpent_StageIV_easy5 = models.IntegerField(initial=0) timeSpent_StageIV_easy6 = models.IntegerField(initial=0) timeSpent_StageIV_easy7 = models.IntegerField(initial=0) timeSpent_StageIV_easy8 = models.IntegerField(initial=0) timeSpent_StageIV_easy9 = models.IntegerField(initial=0) timeSpent_StageIV_easy10 = models.IntegerField(initial=0) timeSpent_StageIV_easy11 = models.IntegerField(initial=0) timeSpent_StageIV_easy12 = models.IntegerField(initial=0) timeSpent_StageIV_easy13 = models.IntegerField(initial=0) timeSpent_StageIV_easy14 = models.IntegerField(initial=0) timeSpent_StageIV_easy15 = models.IntegerField(initial=0) timeSpent_StageIV_easy21 = models.IntegerField(initial=0) timeSpent_StageIV_easy22 = models.IntegerField(initial=0) timeSpent_StageIV_easy23 = models.IntegerField(initial=0) timeSpent_StageIV_easy24 = models.IntegerField(initial=0) timeSpent_StageIV_easy25 = models.IntegerField(initial=0) timeSpent_StageIV_easy26 = models.IntegerField(initial=0) timeSpent_StageIV_easy27 = models.IntegerField(initial=0) timeSpent_StageIV_easy28 = models.IntegerField(initial=0) timeSpent_StageIV_easy29 = models.IntegerField(initial=0) timeSpent_StageIV_easy30 = models.IntegerField(initial=0) timeSpent_StageIV_easy31 = models.IntegerField(initial=0) timeSpent_StageIV_easy32 = models.IntegerField(initial=0) timeSpent_StageIV_easy33 = models.IntegerField(initial=0) timeSpent_StageIV_easy34 = models.IntegerField(initial=0) timeSpent_StageIV_easy35 = models.IntegerField(initial=0) timeSpent_StageIV_easy41 = models.IntegerField(initial=0) timeSpent_StageIV_easy42 = models.IntegerField(initial=0) timeSpent_StageIV_easy43 = models.IntegerField(initial=0) timeSpent_StageIV_easy44 = models.IntegerField(initial=0) timeSpent_StageIV_easy45 = models.IntegerField(initial=0) timeSpent_StageIV_easy46 = models.IntegerField(initial=0) timeSpent_StageIV_easy47 = models.IntegerField(initial=0) timeSpent_StageIV_easy48 = models.IntegerField(initial=0) timeSpent_StageIV_easy49 = models.IntegerField(initial=0) timeSpent_StageIV_easy50 = models.IntegerField(initial=0) timeSpent_StageIV_easy51 = models.IntegerField(initial=0) timeSpent_StageIV_easy52 = models.IntegerField(initial=0) timeSpent_StageIV_easy53 = models.IntegerField(initial=0) timeSpent_StageIV_easy54 = models.IntegerField(initial=0) timeSpent_StageIV_easy55 = models.IntegerField(initial=0) timeSpent_StageIV_hard1 = models.IntegerField(initial=0) timeSpent_StageIV_hard2 = models.IntegerField(initial=0) timeSpent_StageIV_hard3 = models.IntegerField(initial=0) timeSpent_StageIV_hard4 = models.IntegerField(initial=0) timeSpent_StageIV_hard5 = models.IntegerField(initial=0) timeSpent_StageIV_hard6 = models.IntegerField(initial=0) timeSpent_StageIV_hard7 = models.IntegerField(initial=0) timeSpent_StageIV_hard8 = models.IntegerField(initial=0) timeSpent_StageIV_hard9 = models.IntegerField(initial=0) timeSpent_StageIV_hard10 = models.IntegerField(initial=0) timeSpent_StageIV_hard11 = models.IntegerField(initial=0) timeSpent_StageIV_hard12 = models.IntegerField(initial=0) timeSpent_StageIV_hard13 = models.IntegerField(initial=0) timeSpent_StageIV_hard14 = models.IntegerField(initial=0) timeSpent_StageIV_hard15 = models.IntegerField(initial=0) timeSpent_StageIV_hard21 = models.IntegerField(initial=0) timeSpent_StageIV_hard22 = models.IntegerField(initial=0) timeSpent_StageIV_hard23 = models.IntegerField(initial=0) timeSpent_StageIV_hard24 = models.IntegerField(initial=0) timeSpent_StageIV_hard25 = models.IntegerField(initial=0) timeSpent_StageIV_hard26 = models.IntegerField(initial=0) timeSpent_StageIV_hard27 = models.IntegerField(initial=0) timeSpent_StageIV_hard28 = models.IntegerField(initial=0) timeSpent_StageIV_hard29 = models.IntegerField(initial=0) timeSpent_StageIV_hard30 = models.IntegerField(initial=0) timeSpent_StageIV_hard31 = models.IntegerField(initial=0) timeSpent_StageIV_hard32 = models.IntegerField(initial=0) timeSpent_StageIV_hard33 = models.IntegerField(initial=0) timeSpent_StageIV_hard34 = models.IntegerField(initial=0) timeSpent_StageIV_hard35 = models.IntegerField(initial=0) timeSpent_StageIV_hard41 = models.IntegerField(initial=0) timeSpent_StageIV_hard42 = models.IntegerField(initial=0) timeSpent_StageIV_hard43 = models.IntegerField(initial=0) timeSpent_StageIV_hard44 = models.IntegerField(initial=0) timeSpent_StageIV_hard45 = models.IntegerField(initial=0) timeSpent_StageIV_hard46 = models.IntegerField(initial=0) timeSpent_StageIV_hard47 = models.IntegerField(initial=0) timeSpent_StageIV_hard48 = models.IntegerField(initial=0) timeSpent_StageIV_hard49 = models.IntegerField(initial=0) timeSpent_StageIV_hard50 = models.IntegerField(initial=0) timeSpent_StageIV_hard51 = models.IntegerField(initial=0) timeSpent_StageIV_hard52 = models.IntegerField(initial=0) timeSpent_StageIV_hard53 = models.IntegerField(initial=0) timeSpent_StageIV_hard54 = models.IntegerField(initial=0) timeSpent_StageIV_hard55 = models.IntegerField(initial=0) # Random Name List def Pseudonym_Male_choices(player: Player): choices1 = ['James', 'William', 'Lucas', 'Michael', 'Daniel'] random.shuffle(choices1) return choices1 def Pseudonym_Female_choices(player: Player): choices = ['Emma', 'Sarah', 'Elizabeth', 'Megan', 'Katherine'] random.shuffle(choices) return choices def Pseudonym_Non_binary_choices(player: Player): choices = ['Pat', 'Cameron', 'Jordan', 'Jessie', 'Peyton'] random.shuffle(choices) return choices def get_timeout_seconds_a(player: Player): participant = player.participant import time return participant.expiry - time.time() def get_timeout_seconds_b(player: Player): participant = player.participant import time return participant.expiry_b - time.time() def get_timeout_seconds_c(player: Player): participant = player.participant import time return participant.expiry_c - time.time() def is_displayed_a(player: Player): return player.enroll == 1 and get_timeout_seconds_a(player) > 0 def is_displayed_b(player: Player): return player.enroll == 1 and get_timeout_seconds_b(player) > 0 def is_displayed_c(player: Player): return player.enroll == 1 and get_timeout_seconds_c(player) > 0 and player.id_in_group == 2 def is_displayed_e1(player: Player): group = player.group return player.enroll == 1 and get_timeout_seconds_c(player) > 0 and player.id_in_group == 2 and group.task_choice == 1 def is_displayed_e2(player: Player): group = player.group return player.enroll == 1 and get_timeout_seconds_c(player) > 0 and player.id_in_group == 2 and group.task_choice == 2 def set_payoffs(player: Player): player.letters_easy1 = compare_strings(player.StageII_easy1_answer, C.StageII_easy1) player.letters_easy2 = compare_strings(player.StageII_easy2_answer, C.StageII_easy2) player.letters_easy3 = compare_strings(player.StageII_easy3_answer, C.StageII_easy3) player.letters_easy4 = compare_strings(player.StageII_easy4_answer, C.StageII_easy4) player.letters_easy5 = compare_strings(player.StageII_easy5_answer, C.StageII_easy5) player.letters_easy6 = compare_strings(player.StageII_easy6_answer, C.StageII_easy6) player.letters_easy7 = compare_strings(player.StageII_easy7_answer, C.StageII_easy7) player.letters_easy8 = compare_strings(player.StageII_easy8_answer, C.StageII_easy8) player.letters_easy9 = compare_strings(player.StageII_easy9_answer, C.StageII_easy9) player.letters_easy10 = compare_strings(player.StageII_easy10_answer, C.StageII_easy10) player.letters_easy11 = compare_strings(player.StageII_easy11_answer, C.StageII_easy11) player.letters_easy12 = compare_strings(player.StageII_easy12_answer, C.StageII_easy12) player.letters_easy13 = compare_strings(player.StageII_easy13_answer, C.StageII_easy13) player.letters_easy14 = compare_strings(player.StageII_easy14_answer, C.StageII_easy14) player.letters_easy15 = compare_strings(player.StageII_easy15_answer, C.StageII_easy15) player.total_correct_StageII_easy = player.letters_easy1 + player.letters_easy2 + player.letters_easy3 + \ player.letters_easy4 + player.letters_easy5 + player.letters_easy6 + \ player.letters_easy7 + player.letters_easy8 + player.letters_easy9 + \ player.letters_easy10 + player.letters_easy11 + player.letters_easy12 + \ player.letters_easy13 + player.letters_easy14 + player.letters_easy15 player.total_perfect_StageII_easy = perfect_easy(player.letters_easy1) + perfect_easy(player.letters_easy2) + perfect_easy(player.letters_easy3) + \ perfect_easy(player.letters_easy4) + perfect_easy(player.letters_easy5) + perfect_easy(player.letters_easy6) + \ perfect_easy(player.letters_easy7) + perfect_easy(player.letters_easy8) + perfect_easy(player.letters_easy9) + \ perfect_easy(player.letters_easy10) + perfect_easy(player.letters_easy11) + perfect_easy(player.letters_easy12) + \ perfect_easy(player.letters_easy13) + perfect_easy(player.letters_easy14) + perfect_easy(player.letters_easy15) def set_payoffs_b(player: Player): player.letters_hard1 = compare_strings(player.StageII_hard1_answer, C.StageII_hard1) player.letters_hard2 = compare_strings(player.StageII_hard2_answer, C.StageII_hard2) player.letters_hard3 = compare_strings(player.StageII_hard3_answer, C.StageII_hard3) player.letters_hard4 = compare_strings(player.StageII_hard4_answer, C.StageII_hard4) player.letters_hard5 = compare_strings(player.StageII_hard5_answer, C.StageII_hard5) player.letters_hard6 = compare_strings(player.StageII_hard6_answer, C.StageII_hard6) player.letters_hard7 = compare_strings(player.StageII_hard7_answer, C.StageII_hard7) player.letters_hard8 = compare_strings(player.StageII_hard8_answer, C.StageII_hard8) player.letters_hard9 = compare_strings(player.StageII_hard9_answer, C.StageII_hard9) player.letters_hard10 = compare_strings(player.StageII_hard10_answer, C.StageII_hard10) player.letters_hard11 = compare_strings(player.StageII_hard11_answer, C.StageII_hard11) player.letters_hard12 = compare_strings(player.StageII_hard12_answer, C.StageII_hard12) player.letters_hard13 = compare_strings(player.StageII_hard13_answer, C.StageII_hard13) player.letters_hard14 = compare_strings(player.StageII_hard14_answer, C.StageII_hard14) player.letters_hard15 = compare_strings(player.StageII_hard15_answer, C.StageII_hard15) player.total_correct_StageII_hard = player.letters_hard1 + player.letters_hard2 + player.letters_hard3 + \ player.letters_hard4 + player.letters_hard5 + player.letters_hard6 + \ player.letters_hard7 + player.letters_hard8 + player.letters_hard9 + \ player.letters_hard10 + player.letters_hard11 + player.letters_hard12 + \ player.letters_hard13 + player.letters_hard14 + player.letters_hard15 player.total_perfect_StageII_hard = perfect_hard(player.letters_hard1) + perfect_hard(player.letters_hard2) + perfect_hard(player.letters_hard3) + \ perfect_hard(player.letters_hard4) + perfect_hard(player.letters_hard5) + perfect_hard(player.letters_hard6) + \ perfect_hard(player.letters_hard7) + perfect_hard(player.letters_hard8) + perfect_hard(player.letters_hard9) + \ perfect_hard(player.letters_hard10) + perfect_hard(player.letters_hard11) + perfect_hard(player.letters_hard12) + \ perfect_hard(player.letters_hard13) + perfect_hard(player.letters_hard14) + perfect_hard(player.letters_hard15) def set_payoffs_c(group: Group): p2 = group.get_player_by_id(2) group.letters_StageIII_easy1 = compare_strings(p2.StageIII_easy1_answer, C.StageIII_easy1) group.letters_StageIII_easy2 = compare_strings(p2.StageIII_easy2_answer, C.StageIII_easy2) group.letters_StageIII_easy3 = compare_strings(p2.StageIII_easy3_answer, C.StageIII_easy3) group.letters_StageIII_easy4 = compare_strings(p2.StageIII_easy4_answer, C.StageIII_easy4) group.letters_StageIII_easy5 = compare_strings(p2.StageIII_easy5_answer, C.StageIII_easy5) group.letters_StageIII_easy6 = compare_strings(p2.StageIII_easy6_answer, C.StageIII_easy6) group.letters_StageIII_easy7 = compare_strings(p2.StageIII_easy7_answer, C.StageIII_easy7) group.letters_StageIII_easy8 = compare_strings(p2.StageIII_easy8_answer, C.StageIII_easy8) group.letters_StageIII_easy9 = compare_strings(p2.StageIII_easy9_answer, C.StageIII_easy9) group.letters_StageIII_easy10 = compare_strings(p2.StageIII_easy10_answer, C.StageIII_easy10) group.letters_StageIII_easy11 = compare_strings(p2.StageIII_easy11_answer, C.StageIII_easy11) group.letters_StageIII_easy12 = compare_strings(p2.StageIII_easy12_answer, C.StageIII_easy12) group.letters_StageIII_easy13 = compare_strings(p2.StageIII_easy13_answer, C.StageIII_easy13) group.letters_StageIII_easy14 = compare_strings(p2.StageIII_easy14_answer, C.StageIII_easy14) group.letters_StageIII_easy15 = compare_strings(p2.StageIII_easy15_answer, C.StageIII_easy15) group.total_correct_StageIII_p1 = group.letters_StageIII_easy1 + group.letters_StageIII_easy2 + group.letters_StageIII_easy3 + group.letters_StageIII_easy4\ + group.letters_StageIII_easy5 + group.letters_StageIII_easy6 + group.letters_StageIII_easy7 + group.letters_StageIII_easy8 \ + group.letters_StageIII_easy9 + group.letters_StageIII_easy10 + group.letters_StageIII_easy11 + \ group.letters_StageIII_easy12 + group.letters_StageIII_easy13 + group.letters_StageIII_easy14 + group.letters_StageIII_easy15 group.total_perfect_StageIII_p1 = perfect_easy(group.letters_StageIII_easy1) + perfect_easy(group.letters_StageIII_easy2) + \ perfect_easy(group.letters_StageIII_easy3) + perfect_easy(group.letters_StageIII_easy4) + \ perfect_easy(group.letters_StageIII_easy5) + perfect_easy(group.letters_StageIII_easy6) + \ perfect_easy(group.letters_StageIII_easy7) + perfect_easy(group.letters_StageIII_easy8) + \ perfect_easy(group.letters_StageIII_easy9) + perfect_easy(group.letters_StageIII_easy10) + \ perfect_easy(group.letters_StageIII_easy11) + perfect_easy(group.letters_StageIII_easy12) + \ perfect_easy(group.letters_StageIII_easy13) + perfect_easy(group.letters_StageIII_easy14) + \ perfect_easy(group.letters_StageIII_easy15) group.Total_payment_StageIII_R1 = pay_easy(group.letters_StageIII_easy1) + pay_easy(group.letters_StageIII_easy2) + \ pay_easy(group.letters_StageIII_easy3) + pay_easy(group.letters_StageIII_easy4) + \ pay_easy(group.letters_StageIII_easy5) + pay_easy(group.letters_StageIII_easy6) + \ pay_easy(group.letters_StageIII_easy7) + pay_easy(group.letters_StageIII_easy8) + \ pay_easy(group.letters_StageIII_easy9) + pay_easy(group.letters_StageIII_easy10) + \ pay_easy(group.letters_StageIII_easy11) + pay_easy(group.letters_StageIII_easy12) + \ pay_easy(group.letters_StageIII_easy13) + pay_easy(group.letters_StageIII_easy14) + \ pay_easy(group.letters_StageIII_easy15) group.summative_positive = 'Congratulations. You have transcribed a total of ' + str(group.total_correct_StageIII_p1) + ' symbols correct!' group.summative_neutral = 'You have transcribed ' + str(group.total_correct_StageIII_p1) + ' symbols correct up to this point.' group.summative_negative = 'You can do better. You have only transcribed '+ str(group.total_correct_StageIII_p1) + ' symbols correct!' group.message_list = ';'.join([str(group.summative_negative), 'Congratulations. Even if you speed up, you still can maintain accuracy.', str(group.summative_positive), str(group.summative_neutral), 'Congratulations. If you slow down a little, your accuracy may improve.', 'You can do better. Speed up, you can still maintain accuracy.', 'Even if you speed up, you can still maintain accuracy.', 'You can do better. Slow down a little, your accuracy may improve.', 'If you slow down a little, your accuracy may improve.']) group.message_list_new = ';'.join(random.sample(group.message_list.split(';'),len(group.message_list.split(';')))) def set_payoffs_c1(group: Group): p2 = group.get_player_by_id(2) group.letters_StageIII_easy21 = compare_strings(p2.StageIII_easy21_answer, C.StageIII_easy21) group.letters_StageIII_easy22 = compare_strings(p2.StageIII_easy22_answer, C.StageIII_easy22) group.letters_StageIII_easy23 = compare_strings(p2.StageIII_easy23_answer, C.StageIII_easy23) group.letters_StageIII_easy24 = compare_strings(p2.StageIII_easy24_answer, C.StageIII_easy24) group.letters_StageIII_easy25 = compare_strings(p2.StageIII_easy25_answer, C.StageIII_easy25) group.letters_StageIII_easy26 = compare_strings(p2.StageIII_easy26_answer, C.StageIII_easy26) group.letters_StageIII_easy27 = compare_strings(p2.StageIII_easy27_answer, C.StageIII_easy27) group.letters_StageIII_easy28 = compare_strings(p2.StageIII_easy28_answer, C.StageIII_easy28) group.letters_StageIII_easy29 = compare_strings(p2.StageIII_easy29_answer, C.StageIII_easy29) group.letters_StageIII_easy30 = compare_strings(p2.StageIII_easy30_answer, C.StageIII_easy30) group.letters_StageIII_easy31 = compare_strings(p2.StageIII_easy31_answer, C.StageIII_easy31) group.letters_StageIII_easy32 = compare_strings(p2.StageIII_easy32_answer, C.StageIII_easy32) group.letters_StageIII_easy33 = compare_strings(p2.StageIII_easy33_answer, C.StageIII_easy33) group.letters_StageIII_easy34 = compare_strings(p2.StageIII_easy34_answer, C.StageIII_easy34) group.letters_StageIII_easy35 = compare_strings(p2.StageIII_easy35_answer, C.StageIII_easy35) group.total_correct_StageIII_p2 = group.letters_StageIII_easy21 + group.letters_StageIII_easy22 + group.letters_StageIII_easy23 + group.letters_StageIII_easy24 \ + group.letters_StageIII_easy25 + group.letters_StageIII_easy26 + group.letters_StageIII_easy27 + group.letters_StageIII_easy28 \ + group.letters_StageIII_easy29 + group.letters_StageIII_easy30 + group.letters_StageIII_easy31 + \ group.letters_StageIII_easy32 + group.letters_StageIII_easy33 + group.letters_StageIII_easy34 + group.letters_StageIII_easy35 group.total_perfect_StageIII_p2 = perfect_easy(group.letters_StageIII_easy21) + perfect_easy(group.letters_StageIII_easy22) + \ perfect_easy(group.letters_StageIII_easy23) + perfect_easy(group.letters_StageIII_easy24) + \ perfect_easy(group.letters_StageIII_easy25) + perfect_easy(group.letters_StageIII_easy26) + \ perfect_easy(group.letters_StageIII_easy27) + perfect_easy(group.letters_StageIII_easy28) + \ perfect_easy(group.letters_StageIII_easy29) + perfect_easy(group.letters_StageIII_easy30) + \ perfect_easy(group.letters_StageIII_easy31) + perfect_easy(group.letters_StageIII_easy32) + \ perfect_easy(group.letters_StageIII_easy33) + perfect_easy(group.letters_StageIII_easy34) + \ perfect_easy(group.letters_StageIII_easy35) group.Total_payment_StageIII_R2 = pay_easy(group.letters_StageIII_easy21) + pay_easy(group.letters_StageIII_easy22) + \ pay_easy(group.letters_StageIII_easy23) + pay_easy(group.letters_StageIII_easy24) + \ pay_easy(group.letters_StageIII_easy25) + pay_easy(group.letters_StageIII_easy26) + \ pay_easy(group.letters_StageIII_easy27) + pay_easy(group.letters_StageIII_easy28) + \ pay_easy(group.letters_StageIII_easy29) + pay_easy(group.letters_StageIII_easy30) + \ pay_easy(group.letters_StageIII_easy31) + pay_easy(group.letters_StageIII_easy32) + \ pay_easy(group.letters_StageIII_easy33) + pay_easy(group.letters_StageIII_easy34) + \ pay_easy(group.letters_StageIII_easy35) group.summative_positive_1 = 'Congratulations. You have transcribed a total of ' + str(group.total_correct_StageIII_p2) + ' symbols correct!' group.summative_neutral_1 = 'You have transcribed ' + str(group.total_correct_StageIII_p2) + ' symbols correct up to this point.' group.summative_negative_1 = 'You can do better. You have only transcribed '+ str(group.total_correct_StageIII_p2) + ' symbols correct!' group.message_list_1 = ';'.join([str(group.summative_negative_1), 'Congratulations. Even if you speed up, you still can maintain accuracy.', str(group.summative_positive_1), str(group.summative_neutral_1), 'Congratulations. If you slow down a little, your accuracy may improve.', 'You can do better. Speed up, you can still maintain accuracy.', 'Even if you speed up, you can still maintain accuracy.', 'You can do better. Slow down a little, your accuracy may improve.', 'If you slow down a little, your accuracy may improve.']) group.message_list_new1 = ';'.join(random.sample(group.message_list_1.split(';'),len(group.message_list_1.split(';')))) def set_payoffs_c2(group: Group): p2 = group.get_player_by_id(2) group.letters_StageIII_easy41 = compare_strings(p2.StageIII_easy41_answer, C.StageIII_easy41) group.letters_StageIII_easy42 = compare_strings(p2.StageIII_easy42_answer, C.StageIII_easy42) group.letters_StageIII_easy43 = compare_strings(p2.StageIII_easy43_answer, C.StageIII_easy43) group.letters_StageIII_easy44 = compare_strings(p2.StageIII_easy44_answer, C.StageIII_easy44) group.letters_StageIII_easy45 = compare_strings(p2.StageIII_easy45_answer, C.StageIII_easy45) group.letters_StageIII_easy46 = compare_strings(p2.StageIII_easy46_answer, C.StageIII_easy46) group.letters_StageIII_easy47 = compare_strings(p2.StageIII_easy47_answer, C.StageIII_easy47) group.letters_StageIII_easy48 = compare_strings(p2.StageIII_easy48_answer, C.StageIII_easy48) group.letters_StageIII_easy49 = compare_strings(p2.StageIII_easy49_answer, C.StageIII_easy49) group.letters_StageIII_easy50 = compare_strings(p2.StageIII_easy50_answer, C.StageIII_easy50) group.letters_StageIII_easy51 = compare_strings(p2.StageIII_easy51_answer, C.StageIII_easy51) group.letters_StageIII_easy52 = compare_strings(p2.StageIII_easy52_answer, C.StageIII_easy52) group.letters_StageIII_easy53 = compare_strings(p2.StageIII_easy53_answer, C.StageIII_easy53) group.letters_StageIII_easy54 = compare_strings(p2.StageIII_easy54_answer, C.StageIII_easy54) group.letters_StageIII_easy55 = compare_strings(p2.StageIII_easy55_answer, C.StageIII_easy55) group.total_correct_StageIII_p3 = group.letters_StageIII_easy41 + group.letters_StageIII_easy42 + group.letters_StageIII_easy43 + group.letters_StageIII_easy44 \ + group.letters_StageIII_easy45 + group.letters_StageIII_easy46 + group.letters_StageIII_easy47 + group.letters_StageIII_easy48 \ + group.letters_StageIII_easy49 + group.letters_StageIII_easy50 + group.letters_StageIII_easy51 + \ group.letters_StageIII_easy52 + group.letters_StageIII_easy53 + group.letters_StageIII_easy54 + group.letters_StageIII_easy55 group.total_perfect_StageIII_p3 = perfect_easy(group.letters_StageIII_easy41) + perfect_easy(group.letters_StageIII_easy42) + \ perfect_easy(group.letters_StageIII_easy43) + perfect_easy(group.letters_StageIII_easy44) + \ perfect_easy(group.letters_StageIII_easy45) + perfect_easy(group.letters_StageIII_easy46) + \ perfect_easy(group.letters_StageIII_easy47) + perfect_easy(group.letters_StageIII_easy48) + \ perfect_easy(group.letters_StageIII_easy49) + perfect_easy(group.letters_StageIII_easy50) + \ perfect_easy(group.letters_StageIII_easy51) + perfect_easy(group.letters_StageIII_easy52) + \ perfect_easy(group.letters_StageIII_easy53) + perfect_easy(group.letters_StageIII_easy54) + \ perfect_easy(group.letters_StageIII_easy55) group.Total_payment_StageIII_R3 = pay_easy(group.letters_StageIII_easy41) + pay_easy(group.letters_StageIII_easy42) + \ pay_easy(group.letters_StageIII_easy43) + pay_easy(group.letters_StageIII_easy44) + \ pay_easy(group.letters_StageIII_easy45) + pay_easy(group.letters_StageIII_easy46) + \ pay_easy(group.letters_StageIII_easy47) + pay_easy(group.letters_StageIII_easy48) + \ pay_easy(group.letters_StageIII_easy49) + pay_easy(group.letters_StageIII_easy50) + \ pay_easy(group.letters_StageIII_easy51) + pay_easy(group.letters_StageIII_easy52) + \ pay_easy(group.letters_StageIII_easy53) + pay_easy(group.letters_StageIII_easy54) + \ pay_easy(group.letters_StageIII_easy55) def set_payoffs_d(group: Group): p2 = group.get_player_by_id(2) group.letters_StageIV_easy1 = compare_strings(p2.StageIV_easy1_answer, C.StageIV_easy1) group.letters_StageIV_easy2 = compare_strings(p2.StageIV_easy2_answer, C.StageIV_easy2) group.letters_StageIV_easy3 = compare_strings(p2.StageIV_easy3_answer, C.StageIV_easy3) group.letters_StageIV_easy4 = compare_strings(p2.StageIV_easy4_answer, C.StageIV_easy4) group.letters_StageIV_easy5 = compare_strings(p2.StageIV_easy5_answer, C.StageIV_easy5) group.letters_StageIV_easy6 = compare_strings(p2.StageIV_easy6_answer, C.StageIV_easy6) group.letters_StageIV_easy7 = compare_strings(p2.StageIV_easy7_answer, C.StageIV_easy7) group.letters_StageIV_easy8 = compare_strings(p2.StageIV_easy8_answer, C.StageIV_easy8) group.letters_StageIV_easy9 = compare_strings(p2.StageIV_easy9_answer, C.StageIV_easy9) group.letters_StageIV_easy10 = compare_strings(p2.StageIV_easy10_answer, C.StageIV_easy10) group.letters_StageIV_easy11 = compare_strings(p2.StageIV_easy11_answer, C.StageIV_easy11) group.letters_StageIV_easy12 = compare_strings(p2.StageIV_easy12_answer, C.StageIV_easy12) group.letters_StageIV_easy13 = compare_strings(p2.StageIV_easy13_answer, C.StageIV_easy13) group.letters_StageIV_easy14 = compare_strings(p2.StageIV_easy14_answer, C.StageIV_easy14) group.letters_StageIV_easy15 = compare_strings(p2.StageIV_easy15_answer, C.StageIV_easy15) # Hard Task group.letters_StageIV_hard1 = compare_strings(p2.StageIV_hard1_answer, C.StageIV_hard1) group.letters_StageIV_hard2 = compare_strings(p2.StageIV_hard2_answer, C.StageIV_hard2) group.letters_StageIV_hard3 = compare_strings(p2.StageIV_hard3_answer, C.StageIV_hard3) group.letters_StageIV_hard4 = compare_strings(p2.StageIV_hard4_answer, C.StageIV_hard4) group.letters_StageIV_hard5 = compare_strings(p2.StageIV_hard5_answer, C.StageIV_hard5) group.letters_StageIV_hard6 = compare_strings(p2.StageIV_hard6_answer, C.StageIV_hard6) group.letters_StageIV_hard7 = compare_strings(p2.StageIV_hard7_answer, C.StageIV_hard7) group.letters_StageIV_hard8 = compare_strings(p2.StageIV_hard8_answer, C.StageIV_hard8) group.letters_StageIV_hard9 = compare_strings(p2.StageIV_hard9_answer, C.StageIV_hard9) group.letters_StageIV_hard10 = compare_strings(p2.StageIV_hard10_answer, C.StageIV_hard10) group.letters_StageIV_hard11 = compare_strings(p2.StageIV_hard11_answer, C.StageIV_hard11) group.letters_StageIV_hard12 = compare_strings(p2.StageIV_hard12_answer, C.StageIV_hard12) group.letters_StageIV_hard13 = compare_strings(p2.StageIV_hard13_answer, C.StageIV_hard13) group.letters_StageIV_hard14 = compare_strings(p2.StageIV_hard14_answer, C.StageIV_hard14) group.letters_StageIV_hard15 = compare_strings(p2.StageIV_hard15_answer, C.StageIV_hard15) group.total_correct_StageIV_p1_easy = group.letters_StageIV_easy1 + group.letters_StageIV_easy2 + group.letters_StageIV_easy3 + group.letters_StageIV_easy4\ + group.letters_StageIV_easy5 + group.letters_StageIV_easy6 + group.letters_StageIV_easy7 + group.letters_StageIV_easy8 \ + group.letters_StageIV_easy9 + group.letters_StageIV_easy10 + group.letters_StageIV_easy11 + \ group.letters_StageIV_easy12 + group.letters_StageIV_easy13 + group.letters_StageIV_easy14 + group.letters_StageIV_easy15 group.total_correct_StageIV_p1_hard = group.letters_StageIV_hard1 + group.letters_StageIV_hard2 + group.letters_StageIV_hard3 + group.letters_StageIV_hard4\ + group.letters_StageIV_hard5 + group.letters_StageIV_hard6 + group.letters_StageIV_hard7 + group.letters_StageIV_hard8 \ + group.letters_StageIV_hard9 + group.letters_StageIV_hard10 + group.letters_StageIV_hard11 + \ group.letters_StageIV_hard12 + group.letters_StageIV_hard13 + group.letters_StageIV_hard14 + group.letters_StageIV_hard15 group.total_perfect_StageIV_p1_easy = perfect_easy(group.letters_StageIV_easy1) + perfect_easy(group.letters_StageIV_easy2) + \ perfect_easy(group.letters_StageIV_easy3) + perfect_easy(group.letters_StageIV_easy4) + \ perfect_easy(group.letters_StageIV_easy5) + perfect_easy(group.letters_StageIV_easy6) + \ perfect_easy(group.letters_StageIV_easy7) + perfect_easy(group.letters_StageIV_easy8) + \ perfect_easy(group.letters_StageIV_easy9) + perfect_easy(group.letters_StageIV_easy10) + \ perfect_easy(group.letters_StageIV_easy11) + perfect_easy(group.letters_StageIV_easy12) + \ perfect_easy(group.letters_StageIV_easy13) + perfect_easy(group.letters_StageIV_easy14) + \ perfect_easy(group.letters_StageIV_easy15) group.total_perfect_StageIV_p1_hard = perfect_hard(group.letters_StageIV_hard1) + perfect_hard(group.letters_StageIV_hard2) + \ perfect_hard(group.letters_StageIV_hard3) + perfect_hard(group.letters_StageIV_hard4) + \ perfect_hard(group.letters_StageIV_hard5) + perfect_hard(group.letters_StageIV_hard6) + \ perfect_hard(group.letters_StageIV_hard7) + perfect_hard(group.letters_StageIV_hard8) + \ perfect_hard(group.letters_StageIV_hard9) + perfect_hard(group.letters_StageIV_hard10) + \ perfect_hard(group.letters_StageIV_hard11) + perfect_hard(group.letters_StageIV_hard12) + \ perfect_hard(group.letters_StageIV_hard13) + perfect_hard(group.letters_StageIV_hard14) + \ perfect_hard(group.letters_StageIV_hard15) if group.task_choice == 1: group.total_correct_StageIV_p1 = group.total_correct_StageIV_p1_easy group.total_perfect_StageIV_p1 = group.total_perfect_StageIV_p1_easy group.Total_payment_StageIV_R1 = pay_easy(group.letters_StageIV_easy1) + pay_easy(group.letters_StageIV_easy2) + \ pay_easy(group.letters_StageIV_easy3) + pay_easy(group.letters_StageIV_easy4) + \ pay_easy(group.letters_StageIV_easy5) + pay_easy(group.letters_StageIV_easy6) + \ pay_easy(group.letters_StageIV_easy7) + pay_easy(group.letters_StageIV_easy8) + \ pay_easy(group.letters_StageIV_easy9) + pay_easy(group.letters_StageIV_easy10) + \ pay_easy(group.letters_StageIV_easy11) + pay_easy(group.letters_StageIV_easy12) + \ pay_easy(group.letters_StageIV_easy13) + pay_easy(group.letters_StageIV_easy14) + \ pay_easy(group.letters_StageIV_easy15) else: group.total_correct_StageIV_p1 = group.total_correct_StageIV_p1_hard group.total_perfect_StageIV_p1 = group.total_perfect_StageIV_p1_hard group.Total_payment_StageIV_R1 = pay_hard(group.letters_StageIV_hard1) + pay_hard(group.letters_StageIV_hard2) + \ pay_hard(group.letters_StageIV_hard3) + pay_hard(group.letters_StageIV_hard4) + \ pay_hard(group.letters_StageIV_hard5) + pay_hard(group.letters_StageIV_hard6) + \ pay_hard(group.letters_StageIV_hard7) + pay_hard(group.letters_StageIV_hard8) + \ pay_hard(group.letters_StageIV_hard9) + pay_hard(group.letters_StageIV_hard10) + \ pay_hard(group.letters_StageIV_hard11) + pay_hard(group.letters_StageIV_hard12) + \ pay_hard(group.letters_StageIV_hard13) + pay_hard(group.letters_StageIV_hard14) + \ pay_hard(group.letters_StageIV_hard15) group.summative_positive_2 = 'Congratulations. You have transcribed a total of ' + str(group.total_correct_StageIV_p1) + ' symbols correct!' group.summative_neutral_2 = 'You have transcribed ' + str(group.total_correct_StageIV_p1) + ' symbols correct up to this point.' group.summative_negative_2 = 'You can do better. You have only transcribed '+ str(group.total_correct_StageIV_p1) + ' symbols correct!' group.message_list_2 = ';'.join([str(group.summative_negative_2), 'Congratulations. Even if you speed up, you still can maintain accuracy.', str(group.summative_positive_2), str(group.summative_neutral_2), 'Congratulations. If you slow down a little, your accuracy may improve.', 'You can do better. Speed up, you can still maintain accuracy.', 'Even if you speed up, you can still maintain accuracy.', 'You can do better. Slow down a little, your accuracy may improve.', 'If you slow down a little, your accuracy may improve.']) group.message_list_new2 = ';'.join(random.sample(group.message_list_2.split(';'), len(group.message_list_2.split(';')))) def set_payoffs_d1(group: Group): p2 = group.get_player_by_id(2) group.letters_StageIV_easy21 = compare_strings(p2.StageIV_easy21_answer, C.StageIV_easy21) group.letters_StageIV_easy22 = compare_strings(p2.StageIV_easy22_answer, C.StageIV_easy22) group.letters_StageIV_easy23 = compare_strings(p2.StageIV_easy23_answer, C.StageIV_easy23) group.letters_StageIV_easy24 = compare_strings(p2.StageIV_easy24_answer, C.StageIV_easy24) group.letters_StageIV_easy25 = compare_strings(p2.StageIV_easy25_answer, C.StageIV_easy25) group.letters_StageIV_easy26 = compare_strings(p2.StageIV_easy26_answer, C.StageIV_easy26) group.letters_StageIV_easy27 = compare_strings(p2.StageIV_easy27_answer, C.StageIV_easy27) group.letters_StageIV_easy28 = compare_strings(p2.StageIV_easy28_answer, C.StageIV_easy28) group.letters_StageIV_easy29 = compare_strings(p2.StageIV_easy29_answer, C.StageIV_easy29) group.letters_StageIV_easy30 = compare_strings(p2.StageIV_easy30_answer, C.StageIV_easy30) group.letters_StageIV_easy31 = compare_strings(p2.StageIV_easy31_answer, C.StageIV_easy31) group.letters_StageIV_easy32 = compare_strings(p2.StageIV_easy32_answer, C.StageIV_easy32) group.letters_StageIV_easy33 = compare_strings(p2.StageIV_easy33_answer, C.StageIV_easy33) group.letters_StageIV_easy34 = compare_strings(p2.StageIV_easy34_answer, C.StageIV_easy34) group.letters_StageIV_easy35 = compare_strings(p2.StageIV_easy35_answer, C.StageIV_easy35) # Hard Task group.letters_StageIV_hard21 = compare_strings(p2.StageIV_hard21_answer, C.StageIV_hard21) group.letters_StageIV_hard22 = compare_strings(p2.StageIV_hard22_answer, C.StageIV_hard22) group.letters_StageIV_hard23 = compare_strings(p2.StageIV_hard23_answer, C.StageIV_hard23) group.letters_StageIV_hard24 = compare_strings(p2.StageIV_hard24_answer, C.StageIV_hard24) group.letters_StageIV_hard25 = compare_strings(p2.StageIV_hard25_answer, C.StageIV_hard25) group.letters_StageIV_hard26 = compare_strings(p2.StageIV_hard26_answer, C.StageIV_hard26) group.letters_StageIV_hard27 = compare_strings(p2.StageIV_hard27_answer, C.StageIV_hard27) group.letters_StageIV_hard28 = compare_strings(p2.StageIV_hard28_answer, C.StageIV_hard28) group.letters_StageIV_hard29 = compare_strings(p2.StageIV_hard29_answer, C.StageIV_hard29) group.letters_StageIV_hard30 = compare_strings(p2.StageIV_hard30_answer, C.StageIV_hard30) group.letters_StageIV_hard31 = compare_strings(p2.StageIV_hard31_answer, C.StageIV_hard31) group.letters_StageIV_hard32 = compare_strings(p2.StageIV_hard32_answer, C.StageIV_hard32) group.letters_StageIV_hard33 = compare_strings(p2.StageIV_hard33_answer, C.StageIV_hard33) group.letters_StageIV_hard34 = compare_strings(p2.StageIV_hard34_answer, C.StageIV_hard34) group.letters_StageIV_hard35 = compare_strings(p2.StageIV_hard35_answer, C.StageIV_hard35) group.total_correct_StageIV_p2_easy = group.letters_StageIV_easy21 + group.letters_StageIV_easy22 + group.letters_StageIV_easy23 + group.letters_StageIV_easy24\ + group.letters_StageIV_easy25 + group.letters_StageIV_easy26 + group.letters_StageIV_easy27 + group.letters_StageIV_easy28 \ + group.letters_StageIV_easy29 + group.letters_StageIV_easy30 + group.letters_StageIV_easy31 + \ group.letters_StageIV_easy32 + group.letters_StageIV_easy33 + group.letters_StageIV_easy34 + group.letters_StageIV_easy35 group.total_correct_StageIV_p2_hard = group.letters_StageIV_hard21 + group.letters_StageIV_hard22 + group.letters_StageIV_hard23 + group.letters_StageIV_hard24\ + group.letters_StageIV_hard25 + group.letters_StageIV_hard26 + group.letters_StageIV_hard27 + group.letters_StageIV_hard28 \ + group.letters_StageIV_hard29 + group.letters_StageIV_hard30 + group.letters_StageIV_hard31 + \ group.letters_StageIV_hard32 + group.letters_StageIV_hard33 + group.letters_StageIV_hard34 + group.letters_StageIV_hard35 group.total_perfect_StageIV_p2_easy = perfect_easy(group.letters_StageIV_easy21) + perfect_easy(group.letters_StageIV_easy22) + \ perfect_easy(group.letters_StageIV_easy23) + perfect_easy(group.letters_StageIV_easy24) + \ perfect_easy(group.letters_StageIV_easy25) + perfect_easy(group.letters_StageIV_easy26) + \ perfect_easy(group.letters_StageIV_easy27) + perfect_easy(group.letters_StageIV_easy28) + \ perfect_easy(group.letters_StageIV_easy29) + perfect_easy(group.letters_StageIV_easy30) + \ perfect_easy(group.letters_StageIV_easy31) + perfect_easy(group.letters_StageIV_easy32) + \ perfect_easy(group.letters_StageIV_easy33) + perfect_easy(group.letters_StageIV_easy34) + \ perfect_easy(group.letters_StageIV_easy35) group.total_perfect_StageIV_p2_hard = perfect_hard(group.letters_StageIV_hard21) + perfect_hard(group.letters_StageIV_hard22) + \ perfect_hard(group.letters_StageIV_hard23) + perfect_hard(group.letters_StageIV_hard24) + \ perfect_hard(group.letters_StageIV_hard25) + perfect_hard(group.letters_StageIV_hard26) + \ perfect_hard(group.letters_StageIV_hard27) + perfect_hard(group.letters_StageIV_hard28) + \ perfect_hard(group.letters_StageIV_hard29) + perfect_hard(group.letters_StageIV_hard30) + \ perfect_hard(group.letters_StageIV_hard31) + perfect_hard(group.letters_StageIV_hard32) + \ perfect_hard(group.letters_StageIV_hard33) + perfect_hard(group.letters_StageIV_hard34) + \ perfect_hard(group.letters_StageIV_hard35) if group.task_choice == 1: group.total_correct_StageIV_p2 = group.total_correct_StageIV_p2_easy group.total_perfect_StageIV_p2 = group.total_perfect_StageIV_p2_easy group.Total_payment_StageIV_R2 = pay_easy(group.letters_StageIV_easy21) + pay_easy(group.letters_StageIV_easy22) + \ pay_easy(group.letters_StageIV_easy23) + pay_easy(group.letters_StageIV_easy24) + \ pay_easy(group.letters_StageIV_easy25) + pay_easy(group.letters_StageIV_easy26) + \ pay_easy(group.letters_StageIV_easy27) + pay_easy(group.letters_StageIV_easy28) + \ pay_easy(group.letters_StageIV_easy29) + pay_easy(group.letters_StageIV_easy30) + \ pay_easy(group.letters_StageIV_easy31) + pay_easy(group.letters_StageIV_easy32) + \ pay_easy(group.letters_StageIV_easy33) + pay_easy(group.letters_StageIV_easy34) + \ pay_easy(group.letters_StageIV_easy35) else: group.total_correct_StageIV_p2 = group.total_correct_StageIV_p2_hard group.total_perfect_StageIV_p2 = group.total_perfect_StageIV_p2_hard group.Total_payment_StageIV_R2 = pay_hard(group.letters_StageIV_hard21) + pay_hard(group.letters_StageIV_hard22) + \ pay_hard(group.letters_StageIV_hard23) + pay_hard(group.letters_StageIV_hard24) + \ pay_hard(group.letters_StageIV_hard25) + pay_hard(group.letters_StageIV_hard26) + \ pay_hard(group.letters_StageIV_hard27) + pay_hard(group.letters_StageIV_hard28) + \ pay_hard(group.letters_StageIV_hard29) + pay_hard(group.letters_StageIV_hard30) + \ pay_hard(group.letters_StageIV_hard31) + pay_hard(group.letters_StageIV_hard32) + \ pay_hard(group.letters_StageIV_hard33) + pay_hard(group.letters_StageIV_hard34) + \ pay_hard(group.letters_StageIV_hard35) group.summative_positive_3 = 'Congratulations. You have transcribed a total of ' + str(group.total_correct_StageIV_p2) + ' symbols correct!' group.summative_neutral_3 = 'You have transcribed ' + str(group.total_correct_StageIV_p2) + ' symbols correct up to this point.' group.summative_negative_3 = 'You can do better. You have only transcribed '+ str(group.total_correct_StageIV_p2) + ' symbols correct!' group.message_list_3 = ';'.join([str(group.summative_negative_3), 'Congratulations. Even if you speed up, you still can maintain accuracy.', str(group.summative_positive_3), str(group.summative_neutral_3), 'Congratulations. If you slow down a little, your accuracy may improve.', 'You can do better. Speed up, you can still maintain accuracy.', 'Even if you speed up, you can still maintain accuracy.', 'You can do better. Slow down a little, your accuracy may improve.', 'If you slow down a little, your accuracy may improve.']) group.message_list_new3 = ';'.join(random.sample(group.message_list_3.split(';'), len(group.message_list_3.split(';')))) def set_payoffs_d2(group: Group): p2 = group.get_player_by_id(2) group.letters_StageIV_easy41 = compare_strings(p2.StageIV_easy41_answer, C.StageIV_easy41) group.letters_StageIV_easy42 = compare_strings(p2.StageIV_easy42_answer, C.StageIV_easy42) group.letters_StageIV_easy43 = compare_strings(p2.StageIV_easy43_answer, C.StageIV_easy43) group.letters_StageIV_easy44 = compare_strings(p2.StageIV_easy44_answer, C.StageIV_easy44) group.letters_StageIV_easy45 = compare_strings(p2.StageIV_easy45_answer, C.StageIV_easy45) group.letters_StageIV_easy46 = compare_strings(p2.StageIV_easy46_answer, C.StageIV_easy46) group.letters_StageIV_easy47 = compare_strings(p2.StageIV_easy47_answer, C.StageIV_easy47) group.letters_StageIV_easy48 = compare_strings(p2.StageIV_easy48_answer, C.StageIV_easy48) group.letters_StageIV_easy49 = compare_strings(p2.StageIV_easy49_answer, C.StageIV_easy49) group.letters_StageIV_easy50 = compare_strings(p2.StageIV_easy50_answer, C.StageIV_easy50) group.letters_StageIV_easy51 = compare_strings(p2.StageIV_easy51_answer, C.StageIV_easy51) group.letters_StageIV_easy52 = compare_strings(p2.StageIV_easy52_answer, C.StageIV_easy52) group.letters_StageIV_easy53 = compare_strings(p2.StageIV_easy53_answer, C.StageIV_easy53) group.letters_StageIV_easy54 = compare_strings(p2.StageIV_easy54_answer, C.StageIV_easy54) group.letters_StageIV_easy55 = compare_strings(p2.StageIV_easy55_answer, C.StageIV_easy55) # Hard Task group.letters_StageIV_hard41 = compare_strings(p2.StageIV_hard41_answer, C.StageIV_hard41) group.letters_StageIV_hard42 = compare_strings(p2.StageIV_hard42_answer, C.StageIV_hard42) group.letters_StageIV_hard43 = compare_strings(p2.StageIV_hard43_answer, C.StageIV_hard43) group.letters_StageIV_hard44 = compare_strings(p2.StageIV_hard44_answer, C.StageIV_hard44) group.letters_StageIV_hard45 = compare_strings(p2.StageIV_hard45_answer, C.StageIV_hard45) group.letters_StageIV_hard46 = compare_strings(p2.StageIV_hard46_answer, C.StageIV_hard46) group.letters_StageIV_hard47 = compare_strings(p2.StageIV_hard47_answer, C.StageIV_hard47) group.letters_StageIV_hard48 = compare_strings(p2.StageIV_hard48_answer, C.StageIV_hard48) group.letters_StageIV_hard49 = compare_strings(p2.StageIV_hard49_answer, C.StageIV_hard49) group.letters_StageIV_hard50 = compare_strings(p2.StageIV_hard50_answer, C.StageIV_hard50) group.letters_StageIV_hard51 = compare_strings(p2.StageIV_hard51_answer, C.StageIV_hard51) group.letters_StageIV_hard52 = compare_strings(p2.StageIV_hard52_answer, C.StageIV_hard52) group.letters_StageIV_hard53 = compare_strings(p2.StageIV_hard53_answer, C.StageIV_hard53) group.letters_StageIV_hard54 = compare_strings(p2.StageIV_hard54_answer, C.StageIV_hard54) group.letters_StageIV_hard55 = compare_strings(p2.StageIV_hard55_answer, C.StageIV_hard55) group.total_correct_StageIV_p3_easy = group.letters_StageIV_easy41 + group.letters_StageIV_easy42 + group.letters_StageIV_easy43 + group.letters_StageIV_easy44\ + group.letters_StageIV_easy45 + group.letters_StageIV_easy46 + group.letters_StageIV_easy47 + group.letters_StageIV_easy48 \ + group.letters_StageIV_easy49 + group.letters_StageIV_easy50 + group.letters_StageIV_easy51 + \ group.letters_StageIV_easy52 + group.letters_StageIV_easy53 + group.letters_StageIV_easy54 + group.letters_StageIV_easy55 group.total_correct_StageIV_p3_hard = group.letters_StageIV_hard41 + group.letters_StageIV_hard42 + group.letters_StageIV_hard43 + group.letters_StageIV_hard44\ + group.letters_StageIV_hard45 + group.letters_StageIV_hard46 + group.letters_StageIV_hard47 + group.letters_StageIV_hard48 \ + group.letters_StageIV_hard49 + group.letters_StageIV_hard50 + group.letters_StageIV_hard51 + \ group.letters_StageIV_hard52 + group.letters_StageIV_hard53 + group.letters_StageIV_hard54 + group.letters_StageIV_hard55 group.total_perfect_StageIV_p3_easy = perfect_easy(group.letters_StageIV_easy41) + perfect_easy(group.letters_StageIV_easy22) + \ perfect_easy(group.letters_StageIV_easy43) + perfect_easy(group.letters_StageIV_easy44) + \ perfect_easy(group.letters_StageIV_easy45) + perfect_easy(group.letters_StageIV_easy46) + \ perfect_easy(group.letters_StageIV_easy47) + perfect_easy(group.letters_StageIV_easy48) + \ perfect_easy(group.letters_StageIV_easy49) + perfect_easy(group.letters_StageIV_easy50) + \ perfect_easy(group.letters_StageIV_easy51) + perfect_easy(group.letters_StageIV_easy52) + \ perfect_easy(group.letters_StageIV_easy53) + perfect_easy(group.letters_StageIV_easy54) + \ perfect_easy(group.letters_StageIV_easy55) group.total_perfect_StageIV_p3_hard = perfect_hard(group.letters_StageIV_hard41) + perfect_hard(group.letters_StageIV_hard42) + \ perfect_hard(group.letters_StageIV_hard43) + perfect_hard(group.letters_StageIV_hard44) + \ perfect_hard(group.letters_StageIV_hard45) + perfect_hard(group.letters_StageIV_hard46) + \ perfect_hard(group.letters_StageIV_hard47) + perfect_hard(group.letters_StageIV_hard48) + \ perfect_hard(group.letters_StageIV_hard49) + perfect_hard(group.letters_StageIV_hard50) + \ perfect_hard(group.letters_StageIV_hard51) + perfect_hard(group.letters_StageIV_hard52) + \ perfect_hard(group.letters_StageIV_hard53) + perfect_hard(group.letters_StageIV_hard54) + \ perfect_hard(group.letters_StageIV_hard55) if group.task_choice == 1: group.total_correct_StageIV_p3 = group.total_correct_StageIV_p3_easy group.total_perfect_StageIV_p3 = group.total_perfect_StageIV_p3_easy group.Total_payment_StageIV_R3 = pay_easy(group.letters_StageIV_easy41) + pay_easy(group.letters_StageIV_easy42) + \ pay_easy(group.letters_StageIV_easy43) + pay_easy(group.letters_StageIV_easy44) + \ pay_easy(group.letters_StageIV_easy45) + pay_easy(group.letters_StageIV_easy46) + \ pay_easy(group.letters_StageIV_easy47) + pay_easy(group.letters_StageIV_easy48) + \ pay_easy(group.letters_StageIV_easy49) + pay_easy(group.letters_StageIV_easy50) + \ pay_easy(group.letters_StageIV_easy51) + pay_easy(group.letters_StageIV_easy52) + \ pay_easy(group.letters_StageIV_easy53) + pay_easy(group.letters_StageIV_easy54) + \ pay_easy(group.letters_StageIV_easy55) else: group.total_correct_StageIV_p3 = group.total_correct_StageIV_p3_hard group.total_perfect_StageIV_p3 = group.total_perfect_StageIV_p3_hard group.Total_payment_StageIV_R3 = pay_hard(group.letters_StageIV_hard41) + pay_hard(group.letters_StageIV_hard42) + \ pay_hard(group.letters_StageIV_hard43) + pay_hard(group.letters_StageIV_hard44) + \ pay_hard(group.letters_StageIV_hard45) + pay_hard(group.letters_StageIV_hard46) + \ pay_hard(group.letters_StageIV_hard47) + pay_hard(group.letters_StageIV_hard48) + \ pay_hard(group.letters_StageIV_hard49) + pay_hard(group.letters_StageIV_hard50) + \ pay_hard(group.letters_StageIV_hard51) + pay_hard(group.letters_StageIV_hard52) + \ pay_hard(group.letters_StageIV_hard53) + pay_hard(group.letters_StageIV_hard54) + \ pay_hard(group.letters_StageIV_hard55) def set_payoffs_e(group: Group): group.Total_point_StageIII = group.Total_payment_StageIII_R1 + group.Total_payment_StageIII_R2 + group.Total_payment_StageIII_R3 group.Total_point_StageIV = group.Total_payment_StageIV_R1 + group.Total_payment_StageIV_R2 + group.Total_payment_StageIV_R3 group.Total_point_PartII = group.Total_point_StageIII + group.Total_point_StageIV group.Total_point = group.Total_point_PartII + 360 group.Total_payment = round(group.Total_point / 120, 1) # PAGES class Consent(Page): form_model = 'player' form_fields = ['ProlificID', 'enroll'] class Consent_Completion(Page): @staticmethod def is_displayed(player): return player.enroll == 0 class Instruction(Page): @staticmethod def is_displayed(player): return player.enroll == 1 class PartI(Page): form_model = 'player' form_fields = ['Gender', 'Race', 'YOB', 'Nationality', 'Education'] @staticmethod def is_displayed(player): return player.enroll == 1 class PartII(Page): @staticmethod def is_displayed(player): return player.enroll == 1 class StageI(Page): form_model = 'player' @staticmethod def get_form_fields(player): if player.Gender == 1: return ['Pseudonym_Male'] elif player.Gender == 2: return ['Pseudonym_Female'] else: return ['Pseudonym_Non_binary'] @staticmethod def is_displayed(player): return player.enroll == 1 class StageII(Page): @staticmethod def is_displayed(player): return player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry = time.time() + C.Game_Time class StageII_easy1(Page): form_model = 'player' form_fields = ['StageII_easy1_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def vars_for_template(player): import time player.time0_E = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_E = int(time.time()) player.timeSpent_easy1 = player.time1_E - player.time0_E player.StageII_easy_count += 1 class StageII_easy2(Page): form_model = 'player' form_fields = ['StageII_easy2_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_E = int(time.time()) player.timeSpent_easy2 = player.time2_E - player.time1_E player.StageII_easy_count += 1 class StageII_easy3(Page): form_model = 'player' form_fields = ['StageII_easy3_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_E = int(time.time()) player.timeSpent_easy3 = player.time3_E - player.time2_E player.StageII_easy_count += 1 class StageII_easy4(Page): form_model = 'player' form_fields = ['StageII_easy4_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_E = int(time.time()) player.timeSpent_easy4 = player.time4_E - player.time3_E player.StageII_easy_count += 1 class StageII_easy5(Page): form_model = 'player' form_fields = ['StageII_easy5_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_E = int(time.time()) player.timeSpent_easy5 = player.time5_E - player.time4_E player.StageII_easy_count += 1 class StageII_easy6(Page): form_model = 'player' form_fields = ['StageII_easy6_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_E = int(time.time()) player.timeSpent_easy6 = player.time6_E - player.time5_E player.StageII_easy_count += 1 class StageII_easy7(Page): form_model = 'player' form_fields = ['StageII_easy7_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_E = int(time.time()) player.timeSpent_easy7 = player.time7_E - player.time6_E player.StageII_easy_count += 1 class StageII_easy8(Page): form_model = 'player' form_fields = ['StageII_easy8_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_E = int(time.time()) player.timeSpent_easy8 = player.time8_E - player.time7_E player.StageII_easy_count += 1 class StageII_easy9(Page): form_model = 'player' form_fields = ['StageII_easy9_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_E = int(time.time()) player.timeSpent_easy9 = player.time9_E - player.time8_E player.StageII_easy_count += 1 class StageII_easy10(Page): form_model = 'player' form_fields = ['StageII_easy10_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_E = int(time.time()) player.timeSpent_easy10 = player.time10_E - player.time9_E player.StageII_easy_count += 1 class StageII_easy11(Page): form_model = 'player' form_fields = ['StageII_easy11_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_E = int(time.time()) player.timeSpent_easy11 = player.time11_E - player.time10_E player.StageII_easy_count += 1 class StageII_easy12(Page): form_model = 'player' form_fields = ['StageII_easy12_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_E = int(time.time()) player.timeSpent_easy12 = player.time12_E - player.time11_E player.StageII_easy_count += 1 class StageII_easy13(Page): form_model = 'player' form_fields = ['StageII_easy13_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_E = int(time.time()) player.timeSpent_easy13 = player.time13_E - player.time12_E player.StageII_easy_count += 1 class StageII_easy14(Page): form_model = 'player' form_fields = ['StageII_easy14_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_E = int(time.time()) player.timeSpent_easy14 = player.time14_E - player.time13_E player.StageII_easy_count += 1 class StageII_easy15(Page): form_model = 'player' form_fields = ['StageII_easy15_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_a is_displayed = is_displayed_a @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_E = int(time.time()) player.timeSpent_easy15 = player.time15_E - player.time14_E player.StageII_easy_count += 1 class Results_StageII_easy_confirm(Page): form_model = 'player' form_fields = ['Rating_StageII_easy'] @staticmethod def is_displayed(player): return player.enroll == 1 @staticmethod def vars_for_template(player): import time player.DT_StageII_easy_0 = round(time.time(), 1) @staticmethod def before_next_page(player: Player, timeout_happened): set_payoffs(player) import time player.DT_StageII_easy_1 = round(time.time(), 1) player.DT_StageII_easy = round(player.DT_StageII_easy_1 - player.DT_StageII_easy_0, 1) class Results_StageII_easy(Page): @staticmethod def is_displayed(player): return player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry_b = time.time() + C.Game_Time class StageII_hard1(Page): form_model = 'player' form_fields = ['StageII_hard1_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def vars_for_template(player): import time player.time0_H = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_H = int(time.time()) player.timeSpent_hard1 = player.time1_H - player.time0_H player.StageII_hard_count += 1 class StageII_hard2(Page): form_model = 'player' form_fields = ['StageII_hard2_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_H = int(time.time()) player.timeSpent_hard2 = player.time2_H - player.time1_H player.StageII_hard_count += 1 class StageII_hard3(Page): form_model = 'player' form_fields = ['StageII_hard3_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_H = int(time.time()) player.timeSpent_hard3 = player.time3_H - player.time2_H player.StageII_hard_count += 1 class StageII_hard4(Page): form_model = 'player' form_fields = ['StageII_hard4_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_H = int(time.time()) player.timeSpent_hard4 = player.time4_H - player.time3_H player.StageII_hard_count += 1 class StageII_hard5(Page): form_model = 'player' form_fields = ['StageII_hard5_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_H = int(time.time()) player.timeSpent_hard5 = player.time5_H - player.time4_H player.StageII_hard_count += 1 class StageII_hard6(Page): form_model = 'player' form_fields = ['StageII_hard6_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_H = int(time.time()) player.timeSpent_hard6 = player.time6_H - player.time5_H player.StageII_hard_count += 1 class StageII_hard7(Page): form_model = 'player' form_fields = ['StageII_hard7_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_H = int(time.time()) player.timeSpent_hard7 = player.time7_H - player.time6_H player.StageII_hard_count += 1 class StageII_hard8(Page): form_model = 'player' form_fields = ['StageII_hard8_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_H = int(time.time()) player.timeSpent_hard8 = player.time8_H - player.time7_H player.StageII_hard_count += 1 class StageII_hard9(Page): form_model = 'player' form_fields = ['StageII_hard9_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_H = int(time.time()) player.timeSpent_hard9 = player.time9_H - player.time8_H player.StageII_hard_count += 1 class StageII_hard10(Page): form_model = 'player' form_fields = ['StageII_hard10_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_H = int(time.time()) player.timeSpent_hard10 = player.time10_H - player.time9_H player.StageII_hard_count += 1 class StageII_hard11(Page): form_model = 'player' form_fields = ['StageII_hard11_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_H = int(time.time()) player.timeSpent_hard11 = player.time11_H - player.time10_H player.StageII_hard_count += 1 class StageII_hard12(Page): form_model = 'player' form_fields = ['StageII_hard12_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_H = int(time.time()) player.timeSpent_hard12 = player.time12_H - player.time11_H player.StageII_hard_count += 1 class StageII_hard13(Page): form_model = 'player' form_fields = ['StageII_hard13_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_H = int(time.time()) player.timeSpent_hard13 = player.time13_H - player.time12_H player.StageII_hard_count += 1 class StageII_hard14(Page): form_model = 'player' form_fields = ['StageII_hard14_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_H = int(time.time()) player.timeSpent_hard14 = player.time14_H - player.time13_H player.StageII_hard_count += 1 class StageII_hard15(Page): form_model = 'player' form_fields = ['StageII_hard15_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_b is_displayed = is_displayed_b @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_H = int(time.time()) player.timeSpent_hard15 = player.time15_H - player.time14_H player.StageII_hard_count += 1 class Results_StageII_hard_confirm(Page): form_model = 'player' form_fields = ['Rating_StageII_hard'] @staticmethod def is_displayed(player): return player.enroll == 1 @staticmethod def vars_for_template(player): import time player.DT_StageII_hard_0 = round(time.time(),1) @staticmethod def before_next_page(player: Player, timeout_happened): set_payoffs_b(player) import time player.DT_StageII_hard_1 = round(time.time(),1) player.DT_StageII_hard = round(player.DT_StageII_hard_1 - player.DT_StageII_hard_0,1) class Results_StageII_hard(Page): @staticmethod def is_displayed(player): return player.enroll == 1 class PartII_Matching_rule(Page): @staticmethod def is_displayed(player): return player.enroll == 1 class Role_Assignment_WaitPage(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 @staticmethod def after_all_players_arrive(group: Group): p1 = group.get_player_by_id(1) p2 = group.get_player_by_id(2) if p2.Gender == 1: group.employee_name = p2.Pseudonym_Male group.pronoun = "he" group.pronoun2 = "his" elif p2.Gender == 2: group.employee_name = p2.Pseudonym_Female group.pronoun = "she" group.pronoun2 = "her" else: group.employee_name = p2.Pseudonym_Non_binary group.pronoun = "" group.pronoun2 = "the" class Role_Assignment(Page): @staticmethod def is_displayed(player): return player.enroll == 1 class Before_StageIII(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIII(Page): @staticmethod def is_displayed(player): return player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry_c = time.time() + C.Game_Time class StageIII_easy1(Page): form_model = 'player' form_fields = ['StageIII_easy1_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def vars_for_template(player): import time player.time0_E_StageIII_R1 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_E_StageIII_R1 = int(time.time()) player. timeSpent_StageIII_easy1 = player.time1_E_StageIII_R1 - player.time0_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy2(Page): form_model = 'player' form_fields = ['StageIII_easy2_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy2 = player.time2_E_StageIII_R1 - player.time1_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy3(Page): form_model = 'player' form_fields = ['StageIII_easy3_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy3 = player.time3_E_StageIII_R1 - player.time2_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy4(Page): form_model = 'player' form_fields = ['StageIII_easy4_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy4 = player.time4_E_StageIII_R1 - player.time3_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy5(Page): form_model = 'player' form_fields = ['StageIII_easy5_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy5 = player.time5_E_StageIII_R1 - player.time4_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy6(Page): form_model = 'player' form_fields = ['StageIII_easy6_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy6 = player.time6_E_StageIII_R1 - player.time5_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy7(Page): form_model = 'player' form_fields = ['StageIII_easy7_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy7 = player.time7_E_StageIII_R1 - player.time6_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy8(Page): form_model = 'player' form_fields = ['StageIII_easy8_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy8 = player.time8_E_StageIII_R1 - player.time7_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy9(Page): form_model = 'player' form_fields = ['StageIII_easy9_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy9 = player.time9_E_StageIII_R1 - player.time8_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy10(Page): form_model = 'player' form_fields = ['StageIII_easy10_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy10 = player.time10_E_StageIII_R1 - player.time9_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy11(Page): form_model = 'player' form_fields = ['StageIII_easy11_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy11 = player.time11_E_StageIII_R1 - player.time10_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy12(Page): form_model = 'player' form_fields = ['StageIII_easy12_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy12 = player.time12_E_StageIII_R1 - player.time11_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy13(Page): form_model = 'player' form_fields = ['StageIII_easy13_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy13 = player.time13_E_StageIII_R1 - player.time12_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy14(Page): form_model = 'player' form_fields = ['StageIII_easy14_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy14 = player.time14_E_StageIII_R1 - player.time13_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_easy15(Page): form_model = 'player' form_fields = ['StageIII_easy15_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_E_StageIII_R1 = int(time.time()) player.timeSpent_StageIII_easy15 = player.time15_E_StageIII_R1 - player.time14_E_StageIII_R1 group = player.group group.StageIII_easy_period1_count += 1 class StageIII_WaitforPeriod1(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIII_R1_WaitPage(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 after_all_players_arrive = 'set_payoffs_c' class Results_StageIII_easy_R1(Page): form_model = 'group' form_fields = ['Message_StageIII_E_R1'] @staticmethod def is_displayed(player): return player.id_in_group == 1 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M1_0 = round(time.time(),1) return dict(RT1=p2.timeSpent_StageIII_easy1, RT2=p2.timeSpent_StageIII_easy2, RT3=p2.timeSpent_StageIII_easy3, RT4=p2.timeSpent_StageIII_easy4, RT5=p2.timeSpent_StageIII_easy5, RT6=p2.timeSpent_StageIII_easy6, RT7=p2.timeSpent_StageIII_easy7, RT8=p2.timeSpent_StageIII_easy8, RT9=p2.timeSpent_StageIII_easy9, RT10=p2.timeSpent_StageIII_easy10, RT11=p2.timeSpent_StageIII_easy11, RT12=p2.timeSpent_StageIII_easy12, RT13=p2.timeSpent_StageIII_easy13, RT14=p2.timeSpent_StageIII_easy14, RT15=p2.timeSpent_StageIII_easy15, answer1=p2.StageIII_easy1_answer, answer2=p2.StageIII_easy2_answer, answer3=p2.StageIII_easy3_answer, answer4=p2.StageIII_easy4_answer, answer5=p2.StageIII_easy5_answer, answer6=p2.StageIII_easy6_answer, answer7=p2.StageIII_easy7_answer, answer8=p2.StageIII_easy8_answer, answer9=p2.StageIII_easy9_answer, answer10=p2.StageIII_easy10_answer, answer11=p2.StageIII_easy11_answer, answer12=p2.StageIII_easy12_answer, answer13=p2.StageIII_easy13_answer, answer14=p2.StageIII_easy14_answer, answer15=p2.StageIII_easy15_answer, Message1=group.message_list_new.split(';')[0], Message2=group.message_list_new.split(';')[1], Message3=group.message_list_new.split(';')[2], Message4=group.message_list_new.split(';')[3], Message5=group.message_list_new.split(';')[4], Message6=group.message_list_new.split(';')[5], Message7=group.message_list_new.split(';')[6], Message8=group.message_list_new.split(';')[7], Message9=group.message_list_new.split(';')[8],) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M1_1 = round(time.time(), 1) p2.DT_StageIII_M1 = round(p2.DT_StageIII_M1_1 - p2.DT_StageIII_M1_0,1) class StageIII_WaitforM_R1(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Feedback_StageIII_easy_R1(Page): @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M1_reading_0 = round(time.time(), 1) return dict(Message=group.Message_StageIII_E_R1) @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M1_reading_1 = round(time.time(), 1) p2.DT_StageIII_M1_reading = round(p2.DT_StageIII_M1_reading_1 - p2.DT_StageIII_M1_reading_0, 1) class Before_StageIII_R2(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Start_StageIIIR2(Page): @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry_c = time.time() + C.Game_Time class StageIII_easy21(Page): form_model = 'player' form_fields = ['StageIII_easy21_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def vars_for_template(player): import time player.time0_E_StageIII_R2 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy21 = player.time1_E_StageIII_R2 - player.time0_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy22(Page): form_model = 'player' form_fields = ['StageIII_easy22_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy22 = player.time2_E_StageIII_R2 - player.time1_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy23(Page): form_model = 'player' form_fields = ['StageIII_easy23_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy23 = player.time3_E_StageIII_R2 - player.time2_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy24(Page): form_model = 'player' form_fields = ['StageIII_easy24_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy24 = player.time4_E_StageIII_R2 - player.time3_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy25(Page): form_model = 'player' form_fields = ['StageIII_easy25_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy25 = player.time5_E_StageIII_R2 - player.time4_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy26(Page): form_model = 'player' form_fields = ['StageIII_easy26_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy26 = player.time6_E_StageIII_R2 - player.time5_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy27(Page): form_model = 'player' form_fields = ['StageIII_easy27_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy27 = player.time7_E_StageIII_R2 - player.time6_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy28(Page): form_model = 'player' form_fields = ['StageIII_easy28_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy28 = player.time8_E_StageIII_R2 - player.time7_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy29(Page): form_model = 'player' form_fields = ['StageIII_easy29_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy29 = player.time9_E_StageIII_R2 - player.time8_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy30(Page): form_model = 'player' form_fields = ['StageIII_easy30_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy30 = player.time10_E_StageIII_R2 - player.time9_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy31(Page): form_model = 'player' form_fields = ['StageIII_easy31_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy31 = player.time11_E_StageIII_R2 - player.time10_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy32(Page): form_model = 'player' form_fields = ['StageIII_easy32_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy32 = player.time12_E_StageIII_R2 - player.time11_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy33(Page): form_model = 'player' form_fields = ['StageIII_easy33_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy33 = player.time13_E_StageIII_R2 - player.time12_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy34(Page): form_model = 'player' form_fields = ['StageIII_easy34_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy34 = player.time14_E_StageIII_R2 - player.time13_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_easy35(Page): form_model = 'player' form_fields = ['StageIII_easy35_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_E_StageIII_R2 = int(time.time()) player. timeSpent_StageIII_easy35 = player.time15_E_StageIII_R2 - player.time14_E_StageIII_R2 group = player.group group.StageIII_easy_period2_count += 1 class StageIII_WaitforPeriod2(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIII_R2_WaitPage(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 after_all_players_arrive = 'set_payoffs_c1' class Results_StageIII_easy_R2(Page): form_model = 'group' form_fields = ['Message_StageIII_E_R2'] @staticmethod def is_displayed(player): return player.id_in_group == 1 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M2_0 = round(time.time(),1) return dict(RT1=p2.timeSpent_StageIII_easy21, RT2=p2.timeSpent_StageIII_easy22, RT3=p2.timeSpent_StageIII_easy23, RT4=p2.timeSpent_StageIII_easy24, RT5=p2.timeSpent_StageIII_easy25, RT6=p2.timeSpent_StageIII_easy26, RT7=p2.timeSpent_StageIII_easy27, RT8=p2.timeSpent_StageIII_easy28, RT9=p2.timeSpent_StageIII_easy29, RT10=p2.timeSpent_StageIII_easy30, RT11=p2.timeSpent_StageIII_easy31, RT12=p2.timeSpent_StageIII_easy32, RT13=p2.timeSpent_StageIII_easy33, RT14=p2.timeSpent_StageIII_easy34, RT15=p2.timeSpent_StageIII_easy35, answer1=p2.StageIII_easy21_answer, answer2=p2.StageIII_easy22_answer, answer3=p2.StageIII_easy23_answer, answer4=p2.StageIII_easy24_answer, answer5=p2.StageIII_easy25_answer, answer6=p2.StageIII_easy26_answer, answer7=p2.StageIII_easy27_answer, answer8=p2.StageIII_easy28_answer, answer9=p2.StageIII_easy29_answer, answer10=p2.StageIII_easy30_answer, answer11=p2.StageIII_easy31_answer, answer12=p2.StageIII_easy32_answer, answer13=p2.StageIII_easy33_answer, answer14=p2.StageIII_easy34_answer, answer15=p2.StageIII_easy35_answer, Message1=group.message_list_new1.split(';')[0], Message2=group.message_list_new1.split(';')[1], Message3=group.message_list_new1.split(';')[2], Message4=group.message_list_new1.split(';')[3], Message5=group.message_list_new1.split(';')[4], Message6=group.message_list_new1.split(';')[5], Message7=group.message_list_new1.split(';')[6], Message8=group.message_list_new1.split(';')[7], Message9=group.message_list_new1.split(';')[8],) @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M2_1 = round(time.time(),1) p2.DT_StageIII_M2 = round(p2.DT_StageIII_M2_1 - p2.DT_StageIII_M2_0,1) class StageIII_WaitforM_R2(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Feedback_StageIII_easy_R2(Page): @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M2_reading_0 = round(time.time(), 1) return dict(Message=group.Message_StageIII_E_R2) @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIII_M2_reading_1 = round(time.time(),1) p2.DT_StageIII_M2_reading = round(p2.DT_StageIII_M2_reading_1 - p2.DT_StageIII_M2_reading_0,1) class Before_StageIII_R3(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Start_StageIIIR3(Page): @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry_c = time.time() + C.Game_Time class StageIII_easy41(Page): form_model = 'player' form_fields = ['StageIII_easy41_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def vars_for_template(player): import time player.time0_E_StageIII_R3 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy41 = player.time1_E_StageIII_R3 - player.time0_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy42(Page): form_model = 'player' form_fields = ['StageIII_easy42_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy42 = player.time2_E_StageIII_R3 - player.time1_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy43(Page): form_model = 'player' form_fields = ['StageIII_easy43_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy43 = player.time3_E_StageIII_R3 - player.time2_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy44(Page): form_model = 'player' form_fields = ['StageIII_easy44_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy44 = player.time4_E_StageIII_R3 - player.time3_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy45(Page): form_model = 'player' form_fields = ['StageIII_easy45_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy45 = player.time5_E_StageIII_R3 - player.time4_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy46(Page): form_model = 'player' form_fields = ['StageIII_easy46_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy46 = player.time6_E_StageIII_R3 - player.time5_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy47(Page): form_model = 'player' form_fields = ['StageIII_easy47_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy47 = player.time7_E_StageIII_R3 - player.time6_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy48(Page): form_model = 'player' form_fields = ['StageIII_easy48_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy48 = player.time8_E_StageIII_R3 - player.time7_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy49(Page): form_model = 'player' form_fields = ['StageIII_easy49_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy49 = player.time9_E_StageIII_R3 - player.time8_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy50(Page): form_model = 'player' form_fields = ['StageIII_easy50_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy50 = player.time10_E_StageIII_R3 - player.time9_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy51(Page): form_model = 'player' form_fields = ['StageIII_easy51_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy51 = player.time11_E_StageIII_R3 - player.time10_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy52(Page): form_model = 'player' form_fields = ['StageIII_easy52_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy52 = player.time12_E_StageIII_R3 - player.time11_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy53(Page): form_model = 'player' form_fields = ['StageIII_easy53_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy53 = player.time13_E_StageIII_R3 - player.time12_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy54(Page): form_model = 'player' form_fields = ['StageIII_easy54_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy54 = player.time14_E_StageIII_R3 - player.time13_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_easy55(Page): form_model = 'player' form_fields = ['StageIII_easy55_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_c @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_E_StageIII_R3 = int(time.time()) player.timeSpent_StageIII_easy55 = player.time15_E_StageIII_R3 - player.time14_E_StageIII_R3 group = player.group group.StageIII_easy_period3_count += 1 class StageIII_WaitforPeriod3(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIII_R3_WaitPage(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 after_all_players_arrive = 'set_payoffs_c2' class Results_StageIII_easy_R3(Page): @staticmethod def is_displayed(player): return player.id_in_group == 1 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) return dict(RT1=p2.timeSpent_StageIII_easy41, RT2=p2.timeSpent_StageIII_easy42, RT3=p2.timeSpent_StageIII_easy43, RT4=p2.timeSpent_StageIII_easy44, RT5=p2.timeSpent_StageIII_easy45, RT6=p2.timeSpent_StageIII_easy46, RT7=p2.timeSpent_StageIII_easy47, RT8=p2.timeSpent_StageIII_easy48, RT9=p2.timeSpent_StageIII_easy49, RT10=p2.timeSpent_StageIII_easy50, RT11=p2.timeSpent_StageIII_easy51, RT12=p2.timeSpent_StageIII_easy52, RT13=p2.timeSpent_StageIII_easy53, RT14=p2.timeSpent_StageIII_easy54, RT15=p2.timeSpent_StageIII_easy55, answer1=p2.StageIII_easy41_answer, answer2=p2.StageIII_easy42_answer, answer3=p2.StageIII_easy43_answer, answer4=p2.StageIII_easy44_answer, answer5=p2.StageIII_easy45_answer, answer6=p2.StageIII_easy46_answer, answer7=p2.StageIII_easy47_answer, answer8=p2.StageIII_easy48_answer, answer9=p2.StageIII_easy49_answer, answer10=p2.StageIII_easy50_answer, answer11=p2.StageIII_easy51_answer, answer12=p2.StageIII_easy52_answer, answer13=p2.StageIII_easy53_answer, answer14=p2.StageIII_easy54_answer, answer15=p2.StageIII_easy55_answer,) class Before_StageIV_Task_Assignment(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIV(Page): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIV_Task_Assignment(Page): form_model = 'group' form_fields = ['task_choice'] @staticmethod def is_displayed(player): return player.id_in_group == 1 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p1 = group.get_player_by_id(1) import time p1.DT_TaskAssignment_0 = round(time.time(), 1) @staticmethod def before_next_page(player, timeout_happened): group = player.group p1 = group.get_player_by_id(1) import time p1.DT_TaskAssignment_1 = round(time.time(), 1) p1.DT_TaskAssignment = round(p1.DT_TaskAssignment_1 - p1.DT_TaskAssignment_0, 1) class StageIV_WaitforM_Task_Assignment(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIV_Task_Confirmation(Page): @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry_c = time.time() + C.Game_Time class StageIV_easy1(Page): form_model = 'player' form_fields = ['StageIV_easy1_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def vars_for_template(player): import time player.time0_E_StageIV_R1 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_E_StageIV_R1 = int(time.time()) player. timeSpent_StageIV_easy1 = player.time1_E_StageIV_R1 - player.time0_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy2(Page): form_model = 'player' form_fields = ['StageIV_easy2_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy2 = player.time2_E_StageIV_R1 - player.time1_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy3(Page): form_model = 'player' form_fields = ['StageIV_easy3_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy3 = player.time3_E_StageIV_R1 - player.time2_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy4(Page): form_model = 'player' form_fields = ['StageIV_easy4_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy4 = player.time4_E_StageIV_R1 - player.time3_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy5(Page): form_model = 'player' form_fields = ['StageIV_easy5_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy5 = player.time5_E_StageIV_R1 - player.time4_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy6(Page): form_model = 'player' form_fields = ['StageIV_easy6_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy6 = player.time6_E_StageIV_R1 - player.time5_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy7(Page): form_model = 'player' form_fields = ['StageIV_easy7_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy7 = player.time7_E_StageIV_R1 - player.time6_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy8(Page): form_model = 'player' form_fields = ['StageIV_easy8_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy8 = player.time8_E_StageIV_R1 - player.time7_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy9(Page): form_model = 'player' form_fields = ['StageIV_easy9_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy9 = player.time9_E_StageIV_R1 - player.time8_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy10(Page): form_model = 'player' form_fields = ['StageIV_easy10_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy10 = player.time10_E_StageIV_R1 - player.time9_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy11(Page): form_model = 'player' form_fields = ['StageIV_easy11_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy11 = player.time11_E_StageIV_R1 - player.time10_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy12(Page): form_model = 'player' form_fields = ['StageIV_easy12_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy12 = player.time12_E_StageIV_R1 - player.time11_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy13(Page): form_model = 'player' form_fields = ['StageIV_easy13_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy13 = player.time13_E_StageIV_R1 - player.time12_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy14(Page): form_model = 'player' form_fields = ['StageIV_easy14_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy14 = player.time14_E_StageIV_R1 - player.time13_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_easy15(Page): form_model = 'player' form_fields = ['StageIV_easy15_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_E_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_easy15 = player.time15_E_StageIV_R1 - player.time14_E_StageIV_R1 group = player.group group.StageIV_easy_period1_count += 1 class StageIV_hard1(Page): form_model = 'player' form_fields = ['StageIV_hard1_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def vars_for_template(player): import time player.time0_H_StageIV_R1 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_H_StageIV_R1 = int(time.time()) player. timeSpent_StageIV_hard1 = player.time1_H_StageIV_R1 - player.time0_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard2(Page): form_model = 'player' form_fields = ['StageIV_hard2_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard2 = player.time2_H_StageIV_R1 - player.time1_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard3(Page): form_model = 'player' form_fields = ['StageIV_hard3_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard3 = player.time3_H_StageIV_R1 - player.time2_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard4(Page): form_model = 'player' form_fields = ['StageIV_hard4_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard4 = player.time4_H_StageIV_R1 - player.time3_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard5(Page): form_model = 'player' form_fields = ['StageIV_hard5_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard5 = player.time5_H_StageIV_R1 - player.time4_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard6(Page): form_model = 'player' form_fields = ['StageIV_hard6_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard6 = player.time6_H_StageIV_R1 - player.time5_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard7(Page): form_model = 'player' form_fields = ['StageIV_hard7_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard7 = player.time7_H_StageIV_R1 - player.time6_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard8(Page): form_model = 'player' form_fields = ['StageIV_hard8_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard8 = player.time8_H_StageIV_R1 - player.time7_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard9(Page): form_model = 'player' form_fields = ['StageIV_hard9_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard9 = player.time9_H_StageIV_R1 - player.time8_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard10(Page): form_model = 'player' form_fields = ['StageIV_hard10_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard10 = player.time10_H_StageIV_R1 - player.time9_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard11(Page): form_model = 'player' form_fields = ['StageIV_hard11_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard11 = player.time11_H_StageIV_R1 - player.time10_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard12(Page): form_model = 'player' form_fields = ['StageIV_hard12_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard12 = player.time12_H_StageIV_R1 - player.time11_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard13(Page): form_model = 'player' form_fields = ['StageIV_hard13_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard13 = player.time13_H_StageIV_R1 - player.time12_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard14(Page): form_model = 'player' form_fields = ['StageIV_hard14_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard14 = player.time14_H_StageIV_R1 - player.time13_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_hard15(Page): form_model = 'player' form_fields = ['StageIV_hard15_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_H_StageIV_R1 = int(time.time()) player.timeSpent_StageIV_hard15 = player.time15_H_StageIV_R1 - player.time14_H_StageIV_R1 group = player.group group.StageIV_hard_period1_count += 1 class StageIV_WaitforPeriod1(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIV_R1_WaitPage(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 after_all_players_arrive = 'set_payoffs_d' class Results_StageIV_R1(Page): form_model = 'group' @staticmethod def get_form_fields(player): group = player.group if group.task_choice == 1: return ['Message_StageIV_E_R1'] else: return ['Message_StageIV_H_R1'] @staticmethod def is_displayed(player): return player.id_in_group == 1 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M1_0 = round(time.time(),1) if group.task_choice == 1: return dict(RT1=p2.timeSpent_StageIV_easy1, RT2=p2.timeSpent_StageIV_easy2, RT3=p2.timeSpent_StageIV_easy3, RT4=p2.timeSpent_StageIV_easy4, RT5=p2.timeSpent_StageIV_easy5, RT6=p2.timeSpent_StageIV_easy6, RT7=p2.timeSpent_StageIV_easy7, RT8=p2.timeSpent_StageIV_easy8, RT9=p2.timeSpent_StageIV_easy9, RT10=p2.timeSpent_StageIV_easy10, RT11=p2.timeSpent_StageIV_easy11, RT12=p2.timeSpent_StageIV_easy12, RT13=p2.timeSpent_StageIV_easy13, RT14=p2.timeSpent_StageIV_easy14, RT15=p2.timeSpent_StageIV_easy15, answer1=p2.StageIV_easy1_answer, answer2=p2.StageIV_easy2_answer, answer3=p2.StageIV_easy3_answer, answer4=p2.StageIV_easy4_answer, answer5=p2.StageIV_easy5_answer, answer6=p2.StageIV_easy6_answer, answer7=p2.StageIV_easy7_answer, answer8=p2.StageIV_easy8_answer, answer9=p2.StageIV_easy9_answer, answer10=p2.StageIV_easy10_answer, answer11=p2.StageIV_easy11_answer, answer12=p2.StageIV_easy12_answer, answer13=p2.StageIV_easy13_answer, answer14=p2.StageIV_easy14_answer, answer15=p2.StageIV_easy15_answer, Message1=group.message_list_new2.split(';')[0], Message2=group.message_list_new2.split(';')[1], Message3=group.message_list_new2.split(';')[2], Message4=group.message_list_new2.split(';')[3], Message5=group.message_list_new2.split(';')[4], Message6=group.message_list_new2.split(';')[5], Message7=group.message_list_new2.split(';')[6], Message8=group.message_list_new2.split(';')[7], Message9=group.message_list_new2.split(';')[8],) else: return dict(RT1=p2.timeSpent_StageIV_hard1, RT2=p2.timeSpent_StageIV_hard2, RT3=p2.timeSpent_StageIV_hard3, RT4=p2.timeSpent_StageIV_hard4, RT5=p2.timeSpent_StageIV_hard5, RT6=p2.timeSpent_StageIV_hard6, RT7=p2.timeSpent_StageIV_hard7, RT8=p2.timeSpent_StageIV_hard8, RT9=p2.timeSpent_StageIV_hard9, RT10=p2.timeSpent_StageIV_hard10, RT11=p2.timeSpent_StageIV_hard11, RT12=p2.timeSpent_StageIV_hard12, RT13=p2.timeSpent_StageIV_hard13, RT14=p2.timeSpent_StageIV_hard14, RT15=p2.timeSpent_StageIV_hard15, answer1=p2.StageIV_hard1_answer, answer2=p2.StageIV_hard2_answer, answer3=p2.StageIV_hard3_answer, answer4=p2.StageIV_hard4_answer, answer5=p2.StageIV_hard5_answer, answer6=p2.StageIV_hard6_answer, answer7=p2.StageIV_hard7_answer, answer8=p2.StageIV_hard8_answer, answer9=p2.StageIV_hard9_answer, answer10=p2.StageIV_hard10_answer, answer11=p2.StageIV_hard11_answer, answer12=p2.StageIV_hard12_answer, answer13=p2.StageIV_hard13_answer, answer14=p2.StageIV_hard14_answer, answer15=p2.StageIV_hard15_answer, Message1=group.message_list_new2.split(';')[0], Message2=group.message_list_new2.split(';')[1], Message3=group.message_list_new2.split(';')[2], Message4=group.message_list_new2.split(';')[3], Message5=group.message_list_new2.split(';')[4], Message6=group.message_list_new2.split(';')[5], Message7=group.message_list_new2.split(';')[6], Message8=group.message_list_new2.split(';')[7], Message9=group.message_list_new2.split(';')[8],) @staticmethod def before_next_page(player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M1_1 = round(time.time(),1) p2.DT_StageIV_M1 = round(p2.DT_StageIV_M1_1 - p2.DT_StageIV_M1_0,1) class StageIV_WaitforM_R1(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Feedback_StageIV_R1(Page): @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M1_reading_0 = round(time.time(),1) if group.task_choice == 1: return dict(Message=group.Message_StageIV_E_R1) else: return dict(Message=group.Message_StageIV_H_R1) @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M1_reading_1 = round(time.time(),1) p2.DT_StageIV_M1_reading = round(p2.DT_StageIV_M1_reading_1 - p2.DT_StageIV_M1_reading_0,1) class Before_StageIV_R2(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Start_StageIVR2(Page): @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry_c = time.time() + C.Game_Time class StageIV_easy21(Page): form_model = 'player' form_fields = ['StageIV_easy21_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def vars_for_template(player): import time player.time0_E_StageIV_R2 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy21 = player.time1_E_StageIV_R2 - player.time0_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy22(Page): form_model = 'player' form_fields = ['StageIV_easy22_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy22 = player.time2_E_StageIV_R2 - player.time1_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy23(Page): form_model = 'player' form_fields = ['StageIV_easy23_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy23 = player.time3_E_StageIV_R2 - player.time2_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy24(Page): form_model = 'player' form_fields = ['StageIV_easy24_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy24 = player.time4_E_StageIV_R2 - player.time3_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy25(Page): form_model = 'player' form_fields = ['StageIV_easy25_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy25 = player.time5_E_StageIV_R2 - player.time4_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy26(Page): form_model = 'player' form_fields = ['StageIV_easy26_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy26 = player.time6_E_StageIV_R2 - player.time5_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy27(Page): form_model = 'player' form_fields = ['StageIV_easy27_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy27 = player.time7_E_StageIV_R2 - player.time6_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy28(Page): form_model = 'player' form_fields = ['StageIV_easy28_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy28 = player.time8_E_StageIV_R2 - player.time7_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy29(Page): form_model = 'player' form_fields = ['StageIV_easy29_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy29 = player.time9_E_StageIV_R2 - player.time8_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy30(Page): form_model = 'player' form_fields = ['StageIV_easy30_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy30 = player.time10_E_StageIV_R2 - player.time9_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy31(Page): form_model = 'player' form_fields = ['StageIV_easy31_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy31 = player.time11_E_StageIV_R2 - player.time10_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy32(Page): form_model = 'player' form_fields = ['StageIV_easy32_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy32 = player.time12_E_StageIV_R2 - player.time11_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy33(Page): form_model = 'player' form_fields = ['StageIV_easy33_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy33 = player.time13_E_StageIV_R2 - player.time12_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy34(Page): form_model = 'player' form_fields = ['StageIV_easy34_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy34 = player.time14_E_StageIV_R2 - player.time13_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_easy35(Page): form_model = 'player' form_fields = ['StageIV_easy35_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_E_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_easy35 = player.time15_E_StageIV_R2 - player.time14_E_StageIV_R2 group = player.group group.StageIV_easy_period2_count += 1 class StageIV_hard21(Page): form_model = 'player' form_fields = ['StageIV_hard21_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def vars_for_template(player): import time player.time0_H_StageIV_R2 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard21 = player.time1_H_StageIV_R2 - player.time0_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard22(Page): form_model = 'player' form_fields = ['StageIV_hard22_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard22 = player.time2_H_StageIV_R2 - player.time1_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard23(Page): form_model = 'player' form_fields = ['StageIV_hard23_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard23 = player.time3_H_StageIV_R2 - player.time2_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard24(Page): form_model = 'player' form_fields = ['StageIV_hard24_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard24 = player.time4_H_StageIV_R2 - player.time3_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard25(Page): form_model = 'player' form_fields = ['StageIV_hard25_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard25 = player.time5_H_StageIV_R2 - player.time4_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard26(Page): form_model = 'player' form_fields = ['StageIV_hard26_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard26 = player.time6_H_StageIV_R2 - player.time5_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard27(Page): form_model = 'player' form_fields = ['StageIV_hard27_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard27 = player.time7_H_StageIV_R2 - player.time6_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard28(Page): form_model = 'player' form_fields = ['StageIV_hard28_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard28 = player.time8_H_StageIV_R2 - player.time7_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard29(Page): form_model = 'player' form_fields = ['StageIV_hard29_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard29 = player.time9_H_StageIV_R2 - player.time8_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard30(Page): form_model = 'player' form_fields = ['StageIV_hard30_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard30 = player.time10_H_StageIV_R2 - player.time9_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard31(Page): form_model = 'player' form_fields = ['StageIV_hard31_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard31 = player.time11_H_StageIV_R2 - player.time10_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard32(Page): form_model = 'player' form_fields = ['StageIV_hard32_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard32 = player.time12_H_StageIV_R2 - player.time11_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard33(Page): form_model = 'player' form_fields = ['StageIV_hard33_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard33 = player.time13_H_StageIV_R2 - player.time12_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard34(Page): form_model = 'player' form_fields = ['StageIV_hard34_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard34 = player.time14_H_StageIV_R2 - player.time13_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_hard35(Page): form_model = 'player' form_fields = ['StageIV_hard35_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_H_StageIV_R2 = int(time.time()) player. timeSpent_StageIV_hard35 = player.time15_H_StageIV_R2 - player.time14_H_StageIV_R2 group = player.group group.StageIV_hard_period2_count += 1 class StageIV_WaitforPeriod2(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIV_R2_WaitPage(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 after_all_players_arrive = 'set_payoffs_d1' class Results_StageIV_R2(Page): form_model = 'group' @staticmethod def get_form_fields(player): group = player.group if group.task_choice == 1: return ['Message_StageIV_E_R2'] else: return ['Message_StageIV_H_R2'] @staticmethod def is_displayed(player): return player.id_in_group == 1 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M2_0 = round(time.time(),1) if group.task_choice == 1: return dict(RT1=p2.timeSpent_StageIV_easy21, RT2=p2.timeSpent_StageIV_easy22, RT3=p2.timeSpent_StageIV_easy23, RT4=p2.timeSpent_StageIV_easy24, RT5=p2.timeSpent_StageIV_easy25, RT6=p2.timeSpent_StageIV_easy26, RT7=p2.timeSpent_StageIV_easy27, RT8=p2.timeSpent_StageIV_easy28, RT9=p2.timeSpent_StageIV_easy29, RT10=p2.timeSpent_StageIV_easy30, RT11=p2.timeSpent_StageIV_easy31, RT12=p2.timeSpent_StageIV_easy32, RT13=p2.timeSpent_StageIV_easy33, RT14=p2.timeSpent_StageIV_easy34, RT15=p2.timeSpent_StageIV_easy35, answer1=p2.StageIV_easy21_answer, answer2=p2.StageIV_easy22_answer, answer3=p2.StageIV_easy23_answer, answer4=p2.StageIV_easy24_answer, answer5=p2.StageIV_easy25_answer, answer6=p2.StageIV_easy26_answer, answer7=p2.StageIV_easy27_answer, answer8=p2.StageIV_easy28_answer, answer9=p2.StageIV_easy29_answer, answer10=p2.StageIV_easy30_answer, answer11=p2.StageIV_easy31_answer, answer12=p2.StageIV_easy32_answer, answer13=p2.StageIV_easy33_answer, answer14=p2.StageIV_easy34_answer, answer15=p2.StageIV_easy35_answer, Message1=group.message_list_new3.split(';')[0], Message2=group.message_list_new3.split(';')[1], Message3=group.message_list_new3.split(';')[2], Message4=group.message_list_new3.split(';')[3], Message5=group.message_list_new3.split(';')[4], Message6=group.message_list_new3.split(';')[5], Message7=group.message_list_new3.split(';')[6], Message8=group.message_list_new3.split(';')[7], Message9=group.message_list_new3.split(';')[8],) else: return dict(RT1=p2.timeSpent_StageIV_hard21, RT2=p2.timeSpent_StageIV_hard22, RT3=p2.timeSpent_StageIV_hard23, RT4=p2.timeSpent_StageIV_hard24, RT5=p2.timeSpent_StageIV_hard25, RT6=p2.timeSpent_StageIV_hard26, RT7=p2.timeSpent_StageIV_hard27, RT8=p2.timeSpent_StageIV_hard28, RT9=p2.timeSpent_StageIV_hard29, RT10=p2.timeSpent_StageIV_hard30, RT11=p2.timeSpent_StageIV_hard31, RT12=p2.timeSpent_StageIV_hard32, RT13=p2.timeSpent_StageIV_hard33, RT14=p2.timeSpent_StageIV_hard34, RT15=p2.timeSpent_StageIV_hard35, answer1=p2.StageIV_hard21_answer, answer2=p2.StageIV_hard22_answer, answer3=p2.StageIV_hard23_answer, answer4=p2.StageIV_hard24_answer, answer5=p2.StageIV_hard25_answer, answer6=p2.StageIV_hard26_answer, answer7=p2.StageIV_hard27_answer, answer8=p2.StageIV_hard28_answer, answer9=p2.StageIV_hard29_answer, answer10=p2.StageIV_hard30_answer, answer11=p2.StageIV_hard31_answer, answer12=p2.StageIV_hard32_answer, answer13=p2.StageIV_hard33_answer, answer14=p2.StageIV_hard34_answer, answer15=p2.StageIV_hard35_answer, Message1=group.message_list_new3.split(';')[0], Message2=group.message_list_new3.split(';')[1], Message3=group.message_list_new3.split(';')[2], Message4=group.message_list_new3.split(';')[3], Message5=group.message_list_new3.split(';')[4], Message6=group.message_list_new3.split(';')[5], Message7=group.message_list_new3.split(';')[6], Message8=group.message_list_new3.split(';')[7], Message9=group.message_list_new3.split(';')[8],) @staticmethod def before_next_page(player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M2_1 = round(time.time(), 1) p2.DT_StageIV_M2 = round(p2.DT_StageIV_M2_1 - p2.DT_StageIV_M2_0, 1) class StageIV_WaitforM_R2(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Feedback_StageIV_R2(Page): @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M2_reading_0 = round(time.time(),1) if group.task_choice == 1: return dict(Message=group.Message_StageIV_E_R2) else: return dict(Message=group.Message_StageIV_H_R2) @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): group = player.group p2 = group.get_player_by_id(2) import time p2.DT_StageIV_M2_reading_1 = round(time.time(), 1) p2.DT_StageIV_M2_reading = round(p2.DT_StageIV_M2_reading_1 - p2.DT_StageIV_M2_reading_0, 1) class Before_StageIV_R3(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class Start_StageIVR3(Page): @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time participant.expiry_c = time.time() + C.Game_Time class StageIV_easy41(Page): form_model = 'player' form_fields = ['StageIV_easy41_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def vars_for_template(player): import time player.time0_E_StageIV_R3 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy41 = player.time1_E_StageIV_R3 - player.time0_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy42(Page): form_model = 'player' form_fields = ['StageIV_easy42_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy42 = player.time2_E_StageIV_R3 - player.time1_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy43(Page): form_model = 'player' form_fields = ['StageIV_easy43_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy43 = player.time3_E_StageIV_R3 - player.time2_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy44(Page): form_model = 'player' form_fields = ['StageIV_easy44_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy44 = player.time4_E_StageIV_R3 - player.time3_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy45(Page): form_model = 'player' form_fields = ['StageIV_easy45_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy45 = player.time5_E_StageIV_R3 - player.time4_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy46(Page): form_model = 'player' form_fields = ['StageIV_easy46_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy46 = player.time6_E_StageIV_R3 - player.time5_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy47(Page): form_model = 'player' form_fields = ['StageIV_easy47_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy47 = player.time7_E_StageIV_R3 - player.time6_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy48(Page): form_model = 'player' form_fields = ['StageIV_easy48_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy48 = player.time8_E_StageIV_R3 - player.time7_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy49(Page): form_model = 'player' form_fields = ['StageIV_easy49_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy49 = player.time9_E_StageIV_R3 - player.time8_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy50(Page): form_model = 'player' form_fields = ['StageIV_easy50_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy50 = player.time10_E_StageIV_R3 - player.time9_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy51(Page): form_model = 'player' form_fields = ['StageIV_easy51_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy51 = player.time11_E_StageIV_R3 - player.time10_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy52(Page): form_model = 'player' form_fields = ['StageIV_easy52_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy52 = player.time12_E_StageIV_R3 - player.time11_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy53(Page): form_model = 'player' form_fields = ['StageIV_easy53_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy53 = player.time13_E_StageIV_R3 - player.time12_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy54(Page): form_model = 'player' form_fields = ['StageIV_easy54_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy54 = player.time14_E_StageIV_R3 - player.time13_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_easy55(Page): form_model = 'player' form_fields = ['StageIV_easy55_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e1 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_E_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_easy55 = player.time15_E_StageIV_R3 - player.time14_E_StageIV_R3 group = player.group group.StageIV_easy_period3_count += 1 class StageIV_hard41(Page): form_model = 'player' form_fields = ['StageIV_hard41_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def vars_for_template(player): import time player.time0_H_StageIV_R3 = int(time.time()) @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time1_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard41 = player.time1_H_StageIV_R3 - player.time0_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard42(Page): form_model = 'player' form_fields = ['StageIV_hard42_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time2_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard42 = player.time2_H_StageIV_R3 - player.time1_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard43(Page): form_model = 'player' form_fields = ['StageIV_hard43_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time3_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard43 = player.time3_H_StageIV_R3 - player.time2_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard44(Page): form_model = 'player' form_fields = ['StageIV_hard44_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time4_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard44 = player.time4_H_StageIV_R3 - player.time3_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard45(Page): form_model = 'player' form_fields = ['StageIV_hard45_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time5_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard45 = player.time5_H_StageIV_R3 - player.time4_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard46(Page): form_model = 'player' form_fields = ['StageIV_hard46_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time6_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard46 = player.time6_H_StageIV_R3 - player.time5_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard47(Page): form_model = 'player' form_fields = ['StageIV_hard47_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time7_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard47 = player.time7_H_StageIV_R3 - player.time6_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard48(Page): form_model = 'player' form_fields = ['StageIV_hard48_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time8_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard48 = player.time8_H_StageIV_R3 - player.time7_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard49(Page): form_model = 'player' form_fields = ['StageIV_hard49_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time9_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard49 = player.time9_H_StageIV_R3 - player.time8_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard50(Page): form_model = 'player' form_fields = ['StageIV_hard50_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time10_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard50 = player.time10_H_StageIV_R3 - player.time9_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard51(Page): form_model = 'player' form_fields = ['StageIV_hard51_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time11_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard51 = player.time11_H_StageIV_R3 - player.time10_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard52(Page): form_model = 'player' form_fields = ['StageIV_hard52_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time12_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard52 = player.time12_H_StageIV_R3 - player.time11_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard53(Page): form_model = 'player' form_fields = ['StageIV_hard53_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time13_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard53 = player.time13_H_StageIV_R3 - player.time12_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard54(Page): form_model = 'player' form_fields = ['StageIV_hard54_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time14_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard54 = player.time14_H_StageIV_R3 - player.time13_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_hard55(Page): form_model = 'player' form_fields = ['StageIV_hard55_answer'] timer_text = C.TIMER_TEXT get_timeout_seconds = get_timeout_seconds_c is_displayed = is_displayed_e2 @staticmethod def before_next_page(player: Player, timeout_happened): import time player.time15_H_StageIV_R3 = int(time.time()) player. timeSpent_StageIV_hard55 = player.time15_H_StageIV_R3 - player.time14_H_StageIV_R3 group = player.group group.StageIV_hard_period3_count += 1 class StageIV_WaitforPeriod3(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 class StageIV_R3_WaitPage(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 after_all_players_arrive = 'set_payoffs_d2' class Results_StageIV_R3(Page): @staticmethod def is_displayed(player): return player.id_in_group == 1 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) if group.task_choice == 1: return dict(RT1=p2.timeSpent_StageIV_easy41, RT2=p2.timeSpent_StageIV_easy42, RT3=p2.timeSpent_StageIV_easy43, RT4=p2.timeSpent_StageIV_easy44, RT5=p2.timeSpent_StageIV_easy45, RT6=p2.timeSpent_StageIV_easy46, RT7=p2.timeSpent_StageIV_easy47, RT8=p2.timeSpent_StageIV_easy48, RT9=p2.timeSpent_StageIV_easy49, RT10=p2.timeSpent_StageIV_easy50, RT11=p2.timeSpent_StageIV_easy51, RT12=p2.timeSpent_StageIV_easy52, RT13=p2.timeSpent_StageIV_easy53, RT14=p2.timeSpent_StageIV_easy54, RT15=p2.timeSpent_StageIV_easy55, answer1=p2.StageIV_easy41_answer, answer2=p2.StageIV_easy42_answer, answer3=p2.StageIV_easy43_answer, answer4=p2.StageIV_easy44_answer, answer5=p2.StageIV_easy45_answer, answer6=p2.StageIV_easy46_answer, answer7=p2.StageIV_easy47_answer, answer8=p2.StageIV_easy48_answer, answer9=p2.StageIV_easy49_answer, answer10=p2.StageIV_easy50_answer, answer11=p2.StageIV_easy51_answer, answer12=p2.StageIV_easy52_answer, answer13=p2.StageIV_easy53_answer, answer14=p2.StageIV_easy54_answer, answer15=p2.StageIV_easy55_answer) else: return dict(RT1=p2.timeSpent_StageIV_hard41, RT2=p2.timeSpent_StageIV_hard42, RT3=p2.timeSpent_StageIV_hard43, RT4=p2.timeSpent_StageIV_hard44, RT5=p2.timeSpent_StageIV_hard45, RT6=p2.timeSpent_StageIV_hard46, RT7=p2.timeSpent_StageIV_hard47, RT8=p2.timeSpent_StageIV_hard48, RT9=p2.timeSpent_StageIV_hard49, RT10=p2.timeSpent_StageIV_hard50, RT11=p2.timeSpent_StageIV_hard51, RT12=p2.timeSpent_StageIV_hard52, RT13=p2.timeSpent_StageIV_hard53, RT14=p2.timeSpent_StageIV_hard54, RT15=p2.timeSpent_StageIV_hard55, answer1=p2.StageIV_hard41_answer, answer2=p2.StageIV_hard42_answer, answer3=p2.StageIV_hard43_answer, answer4=p2.StageIV_hard44_answer, answer5=p2.StageIV_hard45_answer, answer6=p2.StageIV_hard46_answer, answer7=p2.StageIV_hard47_answer, answer8=p2.StageIV_hard48_answer, answer9=p2.StageIV_hard49_answer, answer10=p2.StageIV_hard50_answer, answer11=p2.StageIV_hard51_answer, answer12=p2.StageIV_hard52_answer, answer13=p2.StageIV_hard53_answer, answer14=p2.StageIV_hard54_answer, answer15=p2.StageIV_hard55_answer) class StageIV_Waitforall(WaitPage): @staticmethod def is_displayed(player): return player.enroll == 1 after_all_players_arrive = 'set_payoffs_e' class Performance_report(Page): @staticmethod def is_displayed(player): return player.id_in_group == 2 and player.enroll == 1 @staticmethod def vars_for_template(player): group = player.group p2 = group.get_player_by_id(2) if group.task_choice == 1: return dict(RT1_StageIII_R1=p2.timeSpent_StageIII_easy1, RT2_StageIII_R1=p2.timeSpent_StageIII_easy2, RT3_StageIII_R1=p2.timeSpent_StageIII_easy3, RT4_StageIII_R1=p2.timeSpent_StageIII_easy4, RT5_StageIII_R1=p2.timeSpent_StageIII_easy5, RT6_StageIII_R1=p2.timeSpent_StageIII_easy6, RT7_StageIII_R1=p2.timeSpent_StageIII_easy7, RT8_StageIII_R1=p2.timeSpent_StageIII_easy8, RT9_StageIII_R1=p2.timeSpent_StageIII_easy9, RT10_StageIII_R1=p2.timeSpent_StageIII_easy10, RT11_StageIII_R1=p2.timeSpent_StageIII_easy11, RT12_StageIII_R1=p2.timeSpent_StageIII_easy12, RT13_StageIII_R1=p2.timeSpent_StageIII_easy13, RT14_StageIII_R1=p2.timeSpent_StageIII_easy14, RT15_StageIII_R1=p2.timeSpent_StageIII_easy15, answer1_StageIII_R1=p2.StageIII_easy1_answer, answer2_StageIII_R1=p2.StageIII_easy2_answer, answer3_StageIII_R1=p2.StageIII_easy3_answer, answer4_StageIII_R1=p2.StageIII_easy4_answer, answer5_StageIII_R1=p2.StageIII_easy5_answer, answer6_StageIII_R1=p2.StageIII_easy6_answer, answer7_StageIII_R1=p2.StageIII_easy7_answer, answer8_StageIII_R1=p2.StageIII_easy8_answer, answer9_StageIII_R1=p2.StageIII_easy9_answer, answer10_StageIII_R1=p2.StageIII_easy10_answer, answer11_StageIII_R1=p2.StageIII_easy11_answer, answer12_StageIII_R1=p2.StageIII_easy12_answer, answer13_StageIII_R1=p2.StageIII_easy13_answer, answer14_StageIII_R1=p2.StageIII_easy14_answer, answer15_StageIII_R1=p2.StageIII_easy15_answer, RT1_StageIII_R2=p2.timeSpent_StageIII_easy21, RT2_StageIII_R2=p2.timeSpent_StageIII_easy22, RT3_StageIII_R2=p2.timeSpent_StageIII_easy23, RT4_StageIII_R2=p2.timeSpent_StageIII_easy24, RT5_StageIII_R2=p2.timeSpent_StageIII_easy25, RT6_StageIII_R2=p2.timeSpent_StageIII_easy26, RT7_StageIII_R2=p2.timeSpent_StageIII_easy27, RT8_StageIII_R2=p2.timeSpent_StageIII_easy28, RT9_StageIII_R2=p2.timeSpent_StageIII_easy29, RT10_StageIII_R2=p2.timeSpent_StageIII_easy30, RT11_StageIII_R2=p2.timeSpent_StageIII_easy31, RT12_StageIII_R2=p2.timeSpent_StageIII_easy32, RT13_StageIII_R2=p2.timeSpent_StageIII_easy33, RT14_StageIII_R2=p2.timeSpent_StageIII_easy34, RT15_StageIII_R2=p2.timeSpent_StageIII_easy35, answer1_StageIII_R2=p2.StageIII_easy21_answer, answer2_StageIII_R2=p2.StageIII_easy22_answer, answer3_StageIII_R2=p2.StageIII_easy23_answer, answer4_StageIII_R2=p2.StageIII_easy24_answer, answer5_StageIII_R2=p2.StageIII_easy25_answer, answer6_StageIII_R2=p2.StageIII_easy26_answer, answer7_StageIII_R2=p2.StageIII_easy27_answer, answer8_StageIII_R2=p2.StageIII_easy28_answer, answer9_StageIII_R2=p2.StageIII_easy29_answer, answer10_StageIII_R2=p2.StageIII_easy30_answer, answer11_StageIII_R2=p2.StageIII_easy31_answer, answer12_StageIII_R2=p2.StageIII_easy32_answer, answer13_StageIII_R2=p2.StageIII_easy33_answer, answer14_StageIII_R2=p2.StageIII_easy34_answer, answer15_StageIII_R2=p2.StageIII_easy35_answer, RT1_StageIII_R3=p2.timeSpent_StageIII_easy41, RT2_StageIII_R3=p2.timeSpent_StageIII_easy42, RT3_StageIII_R3=p2.timeSpent_StageIII_easy43, RT4_StageIII_R3=p2.timeSpent_StageIII_easy44, RT5_StageIII_R3=p2.timeSpent_StageIII_easy45, RT6_StageIII_R3=p2.timeSpent_StageIII_easy46, RT7_StageIII_R3=p2.timeSpent_StageIII_easy47, RT8_StageIII_R3=p2.timeSpent_StageIII_easy48, RT9_StageIII_R3=p2.timeSpent_StageIII_easy49, RT10_StageIII_R3=p2.timeSpent_StageIII_easy50, RT11_StageIII_R3=p2.timeSpent_StageIII_easy51, RT12_StageIII_R3=p2.timeSpent_StageIII_easy52, RT13_StageIII_R3=p2.timeSpent_StageIII_easy53, RT14_StageIII_R3=p2.timeSpent_StageIII_easy54, RT15_StageIII_R3=p2.timeSpent_StageIII_easy55, answer1_StageIII_R3=p2.StageIII_easy41_answer, answer2_StageIII_R3=p2.StageIII_easy42_answer, answer3_StageIII_R3=p2.StageIII_easy43_answer, answer4_StageIII_R3=p2.StageIII_easy44_answer, answer5_StageIII_R3=p2.StageIII_easy45_answer, answer6_StageIII_R3=p2.StageIII_easy46_answer, answer7_StageIII_R3=p2.StageIII_easy47_answer, answer8_StageIII_R3=p2.StageIII_easy48_answer, answer9_StageIII_R3=p2.StageIII_easy49_answer, answer10_StageIII_R3=p2.StageIII_easy50_answer, answer11_StageIII_R3=p2.StageIII_easy51_answer, answer12_StageIII_R3=p2.StageIII_easy52_answer, answer13_StageIII_R3=p2.StageIII_easy53_answer, answer14_StageIII_R3=p2.StageIII_easy54_answer, answer15_StageIII_R3=p2.StageIII_easy55_answer, RT1_StageIV_R1=p2.timeSpent_StageIV_easy1, RT2_StageIV_R1=p2.timeSpent_StageIV_easy2, RT3_StageIV_R1=p2.timeSpent_StageIV_easy3, RT4_StageIV_R1=p2.timeSpent_StageIV_easy4, RT5_StageIV_R1=p2.timeSpent_StageIV_easy5, RT6_StageIV_R1=p2.timeSpent_StageIV_easy6, RT7_StageIV_R1=p2.timeSpent_StageIV_easy7, RT8_StageIV_R1=p2.timeSpent_StageIV_easy8, RT9_StageIV_R1=p2.timeSpent_StageIV_easy9, RT10_StageIV_R1=p2.timeSpent_StageIV_easy10, RT11_StageIV_R1=p2.timeSpent_StageIV_easy11, RT12_StageIV_R1=p2.timeSpent_StageIV_easy12, RT13_StageIV_R1=p2.timeSpent_StageIV_easy13, RT14_StageIV_R1=p2.timeSpent_StageIV_easy14, RT15_StageIV_R1=p2.timeSpent_StageIV_easy15, answer1_StageIV_R1=p2.StageIV_easy1_answer, answer2_StageIV_R1=p2.StageIV_easy2_answer, answer3_StageIV_R1=p2.StageIV_easy3_answer, answer4_StageIV_R1=p2.StageIV_easy4_answer, answer5_StageIV_R1=p2.StageIV_easy5_answer, answer6_StageIV_R1=p2.StageIV_easy6_answer, answer7_StageIV_R1=p2.StageIV_easy7_answer, answer8_StageIV_R1=p2.StageIV_easy8_answer, answer9_StageIV_R1=p2.StageIV_easy9_answer, answer10_StageIV_R1=p2.StageIV_easy10_answer, answer11_StageIV_R1=p2.StageIV_easy11_answer, answer12_StageIV_R1=p2.StageIV_easy12_answer, answer13_StageIV_R1=p2.StageIV_easy13_answer, answer14_StageIV_R1=p2.StageIV_easy14_answer, answer15_StageIV_R1=p2.StageIV_easy15_answer, RT1_StageIV_R2=p2.timeSpent_StageIV_easy21, RT2_StageIV_R2=p2.timeSpent_StageIV_easy22, RT3_StageIV_R2=p2.timeSpent_StageIV_easy23, RT4_StageIV_R2=p2.timeSpent_StageIV_easy24, RT5_StageIV_R2=p2.timeSpent_StageIV_easy25, RT6_StageIV_R2=p2.timeSpent_StageIV_easy26, RT7_StageIV_R2=p2.timeSpent_StageIV_easy27, RT8_StageIV_R2=p2.timeSpent_StageIV_easy28, RT9_StageIV_R2=p2.timeSpent_StageIV_easy29, RT10_StageIV_R2=p2.timeSpent_StageIV_easy30, RT11_StageIV_R2=p2.timeSpent_StageIV_easy31, RT12_StageIV_R2=p2.timeSpent_StageIV_easy32, RT13_StageIV_R2=p2.timeSpent_StageIV_easy33, RT14_StageIV_R2=p2.timeSpent_StageIV_easy34, RT15_StageIV_R2=p2.timeSpent_StageIV_easy35, answer1_StageIV_R2=p2.StageIV_easy21_answer, answer2_StageIV_R2=p2.StageIV_easy22_answer, answer3_StageIV_R2=p2.StageIV_easy23_answer, answer4_StageIV_R2=p2.StageIV_easy24_answer, answer5_StageIV_R2=p2.StageIV_easy25_answer, answer6_StageIV_R2=p2.StageIV_easy26_answer, answer7_StageIV_R2=p2.StageIV_easy27_answer, answer8_StageIV_R2=p2.StageIV_easy28_answer, answer9_StageIV_R2=p2.StageIV_easy29_answer, answer10_StageIV_R2=p2.StageIV_easy30_answer, answer11_StageIV_R2=p2.StageIV_easy31_answer, answer12_StageIV_R2=p2.StageIV_easy32_answer, answer13_StageIV_R2=p2.StageIV_easy33_answer, answer14_StageIV_R2=p2.StageIV_easy34_answer, answer15_StageIV_R2=p2.StageIV_easy35_answer, RT1_StageIV_R3=p2.timeSpent_StageIV_easy41, RT2_StageIV_R3=p2.timeSpent_StageIV_easy42, RT3_StageIV_R3=p2.timeSpent_StageIV_easy43, RT4_StageIV_R3=p2.timeSpent_StageIV_easy44, RT5_StageIV_R3=p2.timeSpent_StageIV_easy45, RT6_StageIV_R3=p2.timeSpent_StageIV_easy46, RT7_StageIV_R3=p2.timeSpent_StageIV_easy47, RT8_StageIV_R3=p2.timeSpent_StageIV_easy48, RT9_StageIV_R3=p2.timeSpent_StageIV_easy49, RT10_StageIV_R3=p2.timeSpent_StageIV_easy50, RT11_StageIV_R3=p2.timeSpent_StageIV_easy51, RT12_StageIV_R3=p2.timeSpent_StageIV_easy52, RT13_StageIV_R3=p2.timeSpent_StageIV_easy53, RT14_StageIV_R3=p2.timeSpent_StageIV_easy54, RT15_StageIV_R3=p2.timeSpent_StageIV_easy55, answer1_StageIV_R3=p2.StageIV_easy41_answer, answer2_StageIV_R3=p2.StageIV_easy42_answer, answer3_StageIV_R3=p2.StageIV_easy43_answer, answer4_StageIV_R3=p2.StageIV_easy44_answer, answer5_StageIV_R3=p2.StageIV_easy45_answer, answer6_StageIV_R3=p2.StageIV_easy46_answer, answer7_StageIV_R3=p2.StageIV_easy47_answer, answer8_StageIV_R3=p2.StageIV_easy48_answer, answer9_StageIV_R3=p2.StageIV_easy49_answer, answer10_StageIV_R3=p2.StageIV_easy50_answer, answer11_StageIV_R3=p2.StageIV_easy51_answer, answer12_StageIV_R3=p2.StageIV_easy52_answer, answer13_StageIV_R3=p2.StageIV_easy53_answer, answer14_StageIV_R3=p2.StageIV_easy54_answer, answer15_StageIV_R3=p2.StageIV_easy55_answer,) else: return dict(RT1_StageIII_R1=p2.timeSpent_StageIII_easy1, RT2_StageIII_R1=p2.timeSpent_StageIII_easy2, RT3_StageIII_R1=p2.timeSpent_StageIII_easy3, RT4_StageIII_R1=p2.timeSpent_StageIII_easy4, RT5_StageIII_R1=p2.timeSpent_StageIII_easy5, RT6_StageIII_R1=p2.timeSpent_StageIII_easy6, RT7_StageIII_R1=p2.timeSpent_StageIII_easy7, RT8_StageIII_R1=p2.timeSpent_StageIII_easy8, RT9_StageIII_R1=p2.timeSpent_StageIII_easy9, RT10_StageIII_R1=p2.timeSpent_StageIII_easy10, RT11_StageIII_R1=p2.timeSpent_StageIII_easy11, RT12_StageIII_R1=p2.timeSpent_StageIII_easy12, RT13_StageIII_R1=p2.timeSpent_StageIII_easy13, RT14_StageIII_R1=p2.timeSpent_StageIII_easy14, RT15_StageIII_R1=p2.timeSpent_StageIII_easy15, answer1_StageIII_R1=p2.StageIII_easy1_answer, answer2_StageIII_R1=p2.StageIII_easy2_answer, answer3_StageIII_R1=p2.StageIII_easy3_answer, answer4_StageIII_R1=p2.StageIII_easy4_answer, answer5_StageIII_R1=p2.StageIII_easy5_answer, answer6_StageIII_R1=p2.StageIII_easy6_answer, answer7_StageIII_R1=p2.StageIII_easy7_answer, answer8_StageIII_R1=p2.StageIII_easy8_answer, answer9_StageIII_R1=p2.StageIII_easy9_answer, answer10_StageIII_R1=p2.StageIII_easy10_answer, answer11_StageIII_R1=p2.StageIII_easy11_answer, answer12_StageIII_R1=p2.StageIII_easy12_answer, answer13_StageIII_R1=p2.StageIII_easy13_answer, answer14_StageIII_R1=p2.StageIII_easy14_answer, answer15_StageIII_R1=p2.StageIII_easy15_answer, RT1_StageIII_R2=p2.timeSpent_StageIII_easy21, RT2_StageIII_R2=p2.timeSpent_StageIII_easy22, RT3_StageIII_R2=p2.timeSpent_StageIII_easy23, RT4_StageIII_R2=p2.timeSpent_StageIII_easy24, RT5_StageIII_R2=p2.timeSpent_StageIII_easy25, RT6_StageIII_R2=p2.timeSpent_StageIII_easy26, RT7_StageIII_R2=p2.timeSpent_StageIII_easy27, RT8_StageIII_R2=p2.timeSpent_StageIII_easy28, RT9_StageIII_R2=p2.timeSpent_StageIII_easy29, RT10_StageIII_R2=p2.timeSpent_StageIII_easy30, RT11_StageIII_R2=p2.timeSpent_StageIII_easy31, RT12_StageIII_R2=p2.timeSpent_StageIII_easy32, RT13_StageIII_R2=p2.timeSpent_StageIII_easy33, RT14_StageIII_R2=p2.timeSpent_StageIII_easy34, RT15_StageIII_R2=p2.timeSpent_StageIII_easy35, answer1_StageIII_R2=p2.StageIII_easy21_answer, answer2_StageIII_R2=p2.StageIII_easy22_answer, answer3_StageIII_R2=p2.StageIII_easy23_answer, answer4_StageIII_R2=p2.StageIII_easy24_answer, answer5_StageIII_R2=p2.StageIII_easy25_answer, answer6_StageIII_R2=p2.StageIII_easy26_answer, answer7_StageIII_R2=p2.StageIII_easy27_answer, answer8_StageIII_R2=p2.StageIII_easy28_answer, answer9_StageIII_R2=p2.StageIII_easy29_answer, answer10_StageIII_R2=p2.StageIII_easy30_answer, answer11_StageIII_R2=p2.StageIII_easy31_answer, answer12_StageIII_R2=p2.StageIII_easy32_answer, answer13_StageIII_R2=p2.StageIII_easy33_answer, answer14_StageIII_R2=p2.StageIII_easy34_answer, answer15_StageIII_R2=p2.StageIII_easy35_answer, RT1_StageIII_R3=p2.timeSpent_StageIII_easy41, RT2_StageIII_R3=p2.timeSpent_StageIII_easy42, RT3_StageIII_R3=p2.timeSpent_StageIII_easy43, RT4_StageIII_R3=p2.timeSpent_StageIII_easy44, RT5_StageIII_R3=p2.timeSpent_StageIII_easy45, RT6_StageIII_R3=p2.timeSpent_StageIII_easy46, RT7_StageIII_R3=p2.timeSpent_StageIII_easy47, RT8_StageIII_R3=p2.timeSpent_StageIII_easy48, RT9_StageIII_R3=p2.timeSpent_StageIII_easy49, RT10_StageIII_R3=p2.timeSpent_StageIII_easy50, RT11_StageIII_R3=p2.timeSpent_StageIII_easy51, RT12_StageIII_R3=p2.timeSpent_StageIII_easy52, RT13_StageIII_R3=p2.timeSpent_StageIII_easy53, RT14_StageIII_R3=p2.timeSpent_StageIII_easy54, RT15_StageIII_R3=p2.timeSpent_StageIII_easy55, answer1_StageIII_R3=p2.StageIII_easy41_answer, answer2_StageIII_R3=p2.StageIII_easy42_answer, answer3_StageIII_R3=p2.StageIII_easy43_answer, answer4_StageIII_R3=p2.StageIII_easy44_answer, answer5_StageIII_R3=p2.StageIII_easy45_answer, answer6_StageIII_R3=p2.StageIII_easy46_answer, answer7_StageIII_R3=p2.StageIII_easy47_answer, answer8_StageIII_R3=p2.StageIII_easy48_answer, answer9_StageIII_R3=p2.StageIII_easy49_answer, answer10_StageIII_R3=p2.StageIII_easy50_answer, answer11_StageIII_R3=p2.StageIII_easy51_answer, answer12_StageIII_R3=p2.StageIII_easy52_answer, answer13_StageIII_R3=p2.StageIII_easy53_answer, answer14_StageIII_R3=p2.StageIII_easy54_answer, answer15_StageIII_R3=p2.StageIII_easy55_answer, RT1_StageIV_R1=p2.timeSpent_StageIV_hard1, RT2_StageIV_R1=p2.timeSpent_StageIV_hard2, RT3_StageIV_R1=p2.timeSpent_StageIV_hard3, RT4_StageIV_R1=p2.timeSpent_StageIV_hard4, RT5_StageIV_R1=p2.timeSpent_StageIV_hard5, RT6_StageIV_R1=p2.timeSpent_StageIV_hard6, RT7_StageIV_R1=p2.timeSpent_StageIV_hard7, RT8_StageIV_R1=p2.timeSpent_StageIV_hard8, RT9_StageIV_R1=p2.timeSpent_StageIV_hard9, RT10_StageIV_R1=p2.timeSpent_StageIV_hard10, RT11_StageIV_R1=p2.timeSpent_StageIV_hard11, RT12_StageIV_R1=p2.timeSpent_StageIV_hard12, RT13_StageIV_R1=p2.timeSpent_StageIV_hard13, RT14_StageIV_R1=p2.timeSpent_StageIV_hard14, RT15_StageIV_R1=p2.timeSpent_StageIV_hard15, answer1_StageIV_R1=p2.StageIV_hard1_answer, answer2_StageIV_R1=p2.StageIV_hard2_answer, answer3_StageIV_R1=p2.StageIV_hard3_answer, answer4_StageIV_R1=p2.StageIV_hard4_answer, answer5_StageIV_R1=p2.StageIV_hard5_answer, answer6_StageIV_R1=p2.StageIV_hard6_answer, answer7_StageIV_R1=p2.StageIV_hard7_answer, answer8_StageIV_R1=p2.StageIV_hard8_answer, answer9_StageIV_R1=p2.StageIV_hard9_answer, answer10_StageIV_R1=p2.StageIV_hard10_answer, answer11_StageIV_R1=p2.StageIV_hard11_answer, answer12_StageIV_R1=p2.StageIV_hard12_answer, answer13_StageIV_R1=p2.StageIV_hard13_answer, answer14_StageIV_R1=p2.StageIV_hard14_answer, answer15_StageIV_R1=p2.StageIV_hard15_answer, RT1_StageIV_R2=p2.timeSpent_StageIV_hard21, RT2_StageIV_R2=p2.timeSpent_StageIV_hard22, RT3_StageIV_R2=p2.timeSpent_StageIV_hard23, RT4_StageIV_R2=p2.timeSpent_StageIV_hard24, RT5_StageIV_R2=p2.timeSpent_StageIV_hard25, RT6_StageIV_R2=p2.timeSpent_StageIV_hard26, RT7_StageIV_R2=p2.timeSpent_StageIV_hard27, RT8_StageIV_R2=p2.timeSpent_StageIV_hard28, RT9_StageIV_R2=p2.timeSpent_StageIV_hard29, RT10_StageIV_R2=p2.timeSpent_StageIV_hard30, RT11_StageIV_R2=p2.timeSpent_StageIV_hard31, RT12_StageIV_R2=p2.timeSpent_StageIV_hard32, RT13_StageIV_R2=p2.timeSpent_StageIV_hard33, RT14_StageIV_R2=p2.timeSpent_StageIV_hard34, RT15_StageIV_R2=p2.timeSpent_StageIV_hard35, answer1_StageIV_R2=p2.StageIV_hard21_answer, answer2_StageIV_R2=p2.StageIV_hard22_answer, answer3_StageIV_R2=p2.StageIV_hard23_answer, answer4_StageIV_R2=p2.StageIV_hard24_answer, answer5_StageIV_R2=p2.StageIV_hard25_answer, answer6_StageIV_R2=p2.StageIV_hard26_answer, answer7_StageIV_R2=p2.StageIV_hard27_answer, answer8_StageIV_R2=p2.StageIV_hard28_answer, answer9_StageIV_R2=p2.StageIV_hard29_answer, answer10_StageIV_R2=p2.StageIV_hard30_answer, answer11_StageIV_R2=p2.StageIV_hard31_answer, answer12_StageIV_R2=p2.StageIV_hard32_answer, answer13_StageIV_R2=p2.StageIV_hard33_answer, answer14_StageIV_R2=p2.StageIV_hard34_answer, answer15_StageIV_R2=p2.StageIV_hard35_answer, RT1_StageIV_R3=p2.timeSpent_StageIV_hard41, RT2_StageIV_R3=p2.timeSpent_StageIV_hard42, RT3_StageIV_R3=p2.timeSpent_StageIV_hard43, RT4_StageIV_R3=p2.timeSpent_StageIV_hard44, RT5_StageIV_R3=p2.timeSpent_StageIV_hard45, RT6_StageIV_R3=p2.timeSpent_StageIV_hard46, RT7_StageIV_R3=p2.timeSpent_StageIV_hard47, RT8_StageIV_R3=p2.timeSpent_StageIV_hard48, RT9_StageIV_R3=p2.timeSpent_StageIV_hard49, RT10_StageIV_R3=p2.timeSpent_StageIV_hard50, RT11_StageIV_R3=p2.timeSpent_StageIV_hard51, RT12_StageIV_R3=p2.timeSpent_StageIV_hard52, RT13_StageIV_R3=p2.timeSpent_StageIV_hard53, RT14_StageIV_R3=p2.timeSpent_StageIV_hard54, RT15_StageIV_R3=p2.timeSpent_StageIV_hard55, answer1_StageIV_R3=p2.StageIV_hard41_answer, answer2_StageIV_R3=p2.StageIV_hard42_answer, answer3_StageIV_R3=p2.StageIV_hard43_answer, answer4_StageIV_R3=p2.StageIV_hard44_answer, answer5_StageIV_R3=p2.StageIV_hard45_answer, answer6_StageIV_R3=p2.StageIV_hard46_answer, answer7_StageIV_R3=p2.StageIV_hard47_answer, answer8_StageIV_R3=p2.StageIV_hard48_answer, answer9_StageIV_R3=p2.StageIV_hard49_answer, answer10_StageIV_R3=p2.StageIV_hard50_answer, answer11_StageIV_R3=p2.StageIV_hard51_answer, answer12_StageIV_R3=p2.StageIV_hard52_answer, answer13_StageIV_R3=p2.StageIV_hard53_answer, answer14_StageIV_R3=p2.StageIV_hard54_answer, answer15_StageIV_R3=p2.StageIV_hard55_answer,) class PartIII(Page): @staticmethod def is_displayed(player): return player.enroll == 1 form_model = 'player' @staticmethod def get_form_fields(player): if player.id_in_group == 1: return ['Reason', 'Managerial_Experience', 'Rate_Overall_Performance','Freeform_Feedback', 'Managerial_1', 'Managerial_2', 'Managerial_3', 'Managerial_4'] else: return ['Rate_Feedback', 'Gender_Guess', 'Managerial_1', 'Managerial_2', 'Managerial_3', 'Managerial_4'] @staticmethod def vars_for_template(player): group = player.group return dict( reason_label_1='Question 2: Please explain why you assigned the easy task to {} '.format(group.employee_name), reason_label_2='Question 2: Please explain why you assigned the hard task to {} '.format(group.employee_name), freeform_label='Question 4: If you can write your own feedback, what would you send to {} based on the overall performance?'.format(group.employee_name), ) class PartIII_2(Page): @staticmethod def is_displayed(player): return player.enroll == 1 form_model = 'player' form_fields = ['Attitude_1','Attitude_2','Attitude_3','Attitude_4','Attitude_5'] class Final_payment(Page): @staticmethod def is_displayed(player): return player.enroll == 1 page_sequence = [Consent, Consent_Completion, Instruction, PartI, PartII, StageI, StageII, StageII_easy1, StageII_easy2, StageII_easy3, StageII_easy4, StageII_easy5, StageII_easy6, StageII_easy7, StageII_easy8, StageII_easy9, StageII_easy10, StageII_easy11, StageII_easy12, StageII_easy13, StageII_easy14, StageII_easy15, Results_StageII_easy_confirm, Results_StageII_easy, StageII_hard1, StageII_hard2, StageII_hard3, StageII_hard4, StageII_hard5, StageII_hard6, StageII_hard7, StageII_hard8, StageII_hard9, StageII_hard10, StageII_hard11, StageII_hard12, StageII_hard13, StageII_hard14, StageII_hard15, Results_StageII_hard_confirm, Results_StageII_hard, PartII_Matching_rule, Role_Assignment_WaitPage, Role_Assignment, Before_StageIII, StageIII, StageIII_easy1, StageIII_easy2, StageIII_easy3, StageIII_easy4, StageIII_easy5, StageIII_easy6, StageIII_easy7,StageIII_easy8, StageIII_easy9, StageIII_easy10, StageIII_easy11, StageIII_easy12, StageIII_easy13, StageIII_easy14, StageIII_easy15, StageIII_WaitforPeriod1, StageIII_R1_WaitPage, Results_StageIII_easy_R1, StageIII_WaitforM_R1, Feedback_StageIII_easy_R1, Before_StageIII_R2, Start_StageIIIR2, StageIII_easy21, StageIII_easy22, StageIII_easy23, StageIII_easy24, StageIII_easy25, StageIII_easy26, StageIII_easy27, StageIII_easy28, StageIII_easy29, StageIII_easy30, StageIII_easy31, StageIII_easy32, StageIII_easy33, StageIII_easy34, StageIII_easy35, StageIII_WaitforPeriod2, StageIII_R2_WaitPage, Results_StageIII_easy_R2, StageIII_WaitforM_R2, Feedback_StageIII_easy_R2, Before_StageIII_R3, Start_StageIIIR3, StageIII_easy41, StageIII_easy42, StageIII_easy43, StageIII_easy44, StageIII_easy45, StageIII_easy46, StageIII_easy47, StageIII_easy48, StageIII_easy49, StageIII_easy50, StageIII_easy51, StageIII_easy52, StageIII_easy53, StageIII_easy54, StageIII_easy55, StageIII_WaitforPeriod3, StageIII_R3_WaitPage, Results_StageIII_easy_R3, Before_StageIV_Task_Assignment, StageIV, StageIV_Task_Assignment, StageIV_WaitforM_Task_Assignment, StageIV_Task_Confirmation, StageIV_easy1, StageIV_easy2, StageIV_easy3, StageIV_easy4, StageIV_easy5, StageIV_easy6, StageIV_easy7, StageIV_easy8, StageIV_easy9, StageIV_easy10, StageIV_easy11, StageIV_easy12, StageIV_easy13, StageIV_easy14, StageIV_easy15, StageIV_hard1, StageIV_hard2, StageIV_hard3, StageIV_hard4, StageIV_hard5, StageIV_hard6, StageIV_hard7, StageIV_hard8, StageIV_hard9, StageIV_hard10, StageIV_hard11, StageIV_hard12, StageIV_hard13, StageIV_hard14,StageIV_hard15, StageIV_WaitforPeriod1, StageIV_R1_WaitPage, Results_StageIV_R1, StageIV_WaitforM_R1, Feedback_StageIV_R1, Before_StageIV_R2, Start_StageIVR2, StageIV_easy21, StageIV_easy22, StageIV_easy23, StageIV_easy24, StageIV_easy25, StageIV_easy26, StageIV_easy27, StageIV_easy28, StageIV_easy29, StageIV_easy30, StageIV_easy31, StageIV_easy32, StageIV_easy33, StageIV_easy34, StageIV_easy35, StageIV_hard21, StageIV_hard22, StageIV_hard23, StageIV_hard24, StageIV_hard25, StageIV_hard26, StageIV_hard27, StageIV_hard28, StageIV_hard29, StageIV_hard30, StageIV_hard31, StageIV_hard32, StageIV_hard33, StageIV_hard34, StageIV_hard35, StageIV_WaitforPeriod2, StageIV_R2_WaitPage, Results_StageIV_R2, StageIV_WaitforM_R2, Feedback_StageIV_R2, Before_StageIV_R3, Start_StageIVR3, StageIV_easy41, StageIV_easy42, StageIV_easy43, StageIV_easy44, StageIV_easy45, StageIV_easy46, StageIV_easy47, StageIV_easy48, StageIV_easy49, StageIV_easy50, StageIV_easy51, StageIV_easy52, StageIV_easy53, StageIV_easy54, StageIV_easy55, StageIV_hard41, StageIV_hard42, StageIV_hard43, StageIV_hard44, StageIV_hard45, StageIV_hard46, StageIV_hard47, StageIV_hard48, StageIV_hard49, StageIV_hard50, StageIV_hard51, StageIV_hard52, StageIV_hard53, StageIV_hard54, StageIV_hard55, StageIV_WaitforPeriod3, StageIV_R3_WaitPage, Results_StageIV_R3, StageIV_Waitforall, Performance_report, PartIII, PartIII_2, Final_payment]