from otree.api import * c = cu doc = '' class C(BaseConstants): # built-in constants NAME_IN_URL = 'Task_1' PLAYERS_PER_GROUP = None NUM_ROUNDS = 30 # user-defined constants PAGO_TAREA = 2000 TX = '20%' class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): response = models.IntegerField(blank=True, label='', max=999999999, min=100100100) solution = models.IntegerField() proceed = models.IntegerField(initial=1) class InstruccionesEspecificas(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return player.round_number==1 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.score_individual_task_1 =0 participant.solution= int(solution_as_string) participant = player.participant import time participant.expiry = time.time() + 120 class Task1a(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): participant = player.participant import time return (participant.expiry-time.time())> 2 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant= player.participant import time return participant.expiry-time.time() class Task1b(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1c(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1d(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1e(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1f(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1g(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1h(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response', 'solution'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1i(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Task1j(Page): timer_text = 'Tiempo restante para resolver las encriptaciones' form_model = 'player' form_fields = ['response'] @staticmethod def is_displayed(player: Player): return player.proceed == 0 @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant import time if player.field_maybe_none('response') == participant.solution: participant.score_individual_task_1 = participant.score_individual_task_1 + 1 if (participant.expiry - time.time()) > 1: player.proceed = 1 if (participant.expiry - time.time()) <=1 : player.proceed = 1 if player.field_maybe_none('response') != participant.solution: if (participant.expiry - time.time()) > 1: player.proceed = 0 if (participant.expiry - time.time()) <= 1: player.proceed = 1 if player.field_maybe_none('response') == participant.solution: import random letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.pos1 = random.choice(letters) letters.remove(participant.pos1) participant.pos2 = random.choice(letters) letters.remove(participant.pos2) participant.pos3 = random.choice(letters) letters.remove(participant.pos3) participant.pos4 = random.choice(letters) letters.remove(participant.pos4) participant.pos5 = random.choice(letters) letters.remove(participant.pos5) participant.pos6 = random.choice(letters) letters.remove(participant.pos6) participant.pos7 = random.choice(letters) letters.remove(participant.pos7) participant.pos8 = random.choice(letters) letters.remove(participant.pos8) participant.pos9 = random.choice(letters) letters.remove(participant.pos9) participant.pos10 = random.choice(letters) letters.remove(participant.pos10) participant.pos11 = random.choice(letters) letters.remove(participant.pos11) participant.pos12 = random.choice(letters) letters.remove(participant.pos12) participant.pos13 = random.choice(letters) letters.remove(participant.pos13) participant.pos14 = random.choice(letters) letters.remove(participant.pos14) participant.pos15 = random.choice(letters) letters.remove(participant.pos15) participant.pos16= random.choice(letters) letters.remove(participant.pos16) participant.pos17 = random.choice(letters) letters.remove(participant.pos17) participant.pos18 = random.choice(letters) letters.remove(participant.pos18) participant.pos19 = random.choice(letters) letters.remove(participant.pos19) participant.pos20 = random.choice(letters) letters.remove(participant.pos20) participant.pos21 = random.choice(letters) letters.remove(participant.pos21) participant.pos22 = random.choice(letters) letters.remove(participant.pos22) participant.pos23 = random.choice(letters) letters.remove(participant.pos23) participant.pos24 = random.choice(letters) letters.remove(participant.pos24) participant.pos25 = random.choice(letters) letters.remove(participant.pos25) participant.pos26 = random.choice(letters) ordered_letters = [participant.pos1, participant.pos2, participant.pos3, participant.pos4, participant.pos5, participant.pos6, participant.pos7, participant.pos8, participant.pos9, participant.pos10, participant.pos11, participant.pos12, participant.pos13, participant.pos14, participant.pos15, participant.pos16, participant.pos17, participant.pos18, participant.pos19, participant.pos20, participant.pos21, participant.pos22, participant.pos23, participant.pos24, participant.pos25, participant.pos26] letters2 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] participant.first_letter = random.choice(letters2) letters2.remove(participant.first_letter) participant.second_letter = random.choice(letters2) letters2.remove(participant.second_letter) participant.third_letter = random.choice(letters2) index1 = ordered_letters.index(participant.first_letter) index2 = ordered_letters.index(participant.second_letter) index3 = ordered_letters.index(participant.third_letter) numbers = list(range(100,1000)) participant.pos1n = random.choice(numbers) numbers.remove(participant.pos1n) participant.pos2n = random.choice(numbers) numbers.remove(participant.pos2n) participant.pos3n = random.choice(numbers) numbers.remove(participant.pos3n) participant.pos4n = random.choice(numbers) numbers.remove(participant.pos4n) participant.pos5n = random.choice(numbers) numbers.remove(participant.pos5n) participant.pos6n = random.choice(numbers) numbers.remove(participant.pos6n) participant.pos7n = random.choice(numbers) numbers.remove(participant.pos7n) participant.pos8n = random.choice(numbers) numbers.remove(participant.pos8n) participant.pos9n = random.choice(numbers) numbers.remove(participant.pos9n) participant.pos10n = random.choice(numbers) numbers.remove(participant.pos10n) participant.pos11n = random.choice(numbers) numbers.remove(participant.pos11n) participant.pos12n = random.choice(numbers) numbers.remove(participant.pos12n) participant.pos13n = random.choice(numbers) numbers.remove(participant.pos13n) participant.pos14n = random.choice(numbers) numbers.remove(participant.pos14n) participant.pos15n = random.choice(numbers) numbers.remove(participant.pos15n) participant.pos16n = random.choice(numbers) numbers.remove(participant.pos16n) participant.pos17n = random.choice(numbers) numbers.remove(participant.pos17n) participant.pos18n = random.choice(numbers) numbers.remove(participant.pos18n) participant.pos19n = random.choice(numbers) numbers.remove(participant.pos19n) participant.pos20n = random.choice(numbers) numbers.remove(participant.pos20n) participant.pos21n = random.choice(numbers) numbers.remove(participant.pos21n) participant.pos22n = random.choice(numbers) numbers.remove(participant.pos22n) participant.pos23n = random.choice(numbers) numbers.remove(participant.pos23n) participant.pos24n = random.choice(numbers) numbers.remove(participant.pos24n) participant.pos25n = random.choice(numbers) numbers.remove(participant.pos25n) participant.pos26n = random.choice(numbers) numbers.remove(participant.pos26n) ordered_numbers = [participant.pos1n, participant.pos2n, participant.pos3n, participant.pos4n, participant.pos5n, participant.pos6n, participant.pos7n, participant.pos8n, participant.pos9n, participant.pos10n, participant.pos11n, participant.pos12n, participant.pos13n, participant.pos14n, participant.pos15n, participant.pos16n, participant.pos17n, participant.pos18n, participant.pos19n, participant.pos20n, participant.pos21n, participant.pos22n, participant.pos23n, participant.pos24n, participant.pos25n, participant.pos26n] solution_as_string = str(ordered_numbers[index1]) + str(ordered_numbers[index2]) + str(ordered_numbers[index3]) participant.solution= int(solution_as_string) @staticmethod def get_timeout_seconds(player: Player): participant = player.participant participant = player.participant import time return participant.expiry - time.time() class Timeup(Page): timeout_seconds = 1 form_model = 'player' @staticmethod def is_displayed(player: Player): session = player.session subsession = player.subsession return subsession.round_number == C.NUM_ROUNDS @staticmethod def before_next_page(player: Player, timeout_happened): participant = player.participant participant.task_payment1= participant.score_individual_task_1 * C.PAGO_TAREA class Pago(Page): form_model = 'player' @staticmethod def is_displayed(player: Player): return player.round_number == C.NUM_ROUNDS page_sequence = [InstruccionesEspecificas, Task1a, Task1b, Task1c, Task1d, Task1e, Task1f, Task1g, Task1h, Task1i, Task1j, Timeup, Pago]