from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import random import time class Bienvenue(Page): form_model = 'player' form_fields = [] # def is_displayed(self): # return self.participant.vars['versionexp'] == 2 def is_displayed(self): return self.round_number == 1 def before_next_page(self): self.player.game_num = self.player.participant.vars['game_num'] + 1 self.player.participant.vars['game_num'] = self.player.game_num self.player.app_sequence_select = self.player.participant.vars['app_sequence_select'] self.player.app_sequence_select_n =self.player.participant.vars['app_sequence_select_n'] self.player.questionnaire_before = self.player.participant.vars['questionnaire_before'] ########################################################################################### Jeu 5 : Risk - Gneezy Potters- Questionnaire compréhension class L_risk11_qc(Page): form_model = 'player' form_fields = ['risk11_qc_a', 'risk11_qc_b', 'risk11_qc_c'] # def is_displayed(self): # return self.player.id_in_group % 2 == 1 and self.participant.vars['versionexp'] == 2 # def vars_for_template(self): self.player.task_start_19 = round(time.time(),2) ###### get_time return { 'page': self.subsession.round_number + 10, } def error_message(self, values): print('values is', values) if values['risk11_qc_a'] != 2: return 'Please correct your answer 1 !!' elif values['risk11_qc_b'] != 4: return 'Please correct your answer 2 !!' elif values['risk11_qc_c'] != 1: return 'Please correct your answer 3 !!' def before_next_page(self): self.player.task_time_19 = round(time.time() - self.player.task_start_19,2) ######### count_time #self.player.treatment = self.player.participant.vars['treatment'] class M_risk11(Page): # timeout_seconds = 1 # WB form_model = 'player' form_fields = ['risk11_a', 'risk11_b', 'risk_assessment_gp', 'confidence_level_gp', 'memory_recall_gp'] # def is_displayed(self): # return self.player.id_in_group % 2 == 1 and self.participant.vars['versionexp'] == 2 def vars_for_template(self): self.player.task_start_20 = round(time.time(),2) ###### get_time return { 'page': self.subsession.round_number + 11, } def error_message(self, values): print('values is', values) if values['risk11_a'] + values['risk11_b'] != 10: return 'The sum must be equal to 10 !!' def before_next_page(self): self.player.task_time_20 = round(time.time() - self.player.task_start_20,2) ######### count_time self.player.tiragerisk = round(random.random(), 2) ## if self.player.tiragerisk < 0.5: self.player.gainrisk = (self.player.risk11_a * 3) + self.player.risk11_b self.player.tirageriskresult = "Succès" else: self.player.gainrisk = self.player.risk11_b self.player.tirageriskresult = "Echec" self.participant.vars['tirageriskresult_j1'] = self.player.tirageriskresult self.participant.vars['risk11_a_j1'] = self.player.risk11_a self.participant.vars['risk11_b_j1'] = self.player.risk11_b self.participant.vars['gainrisk_j1'] = self.player.gainrisk page_sequence = [ Bienvenue, L_risk11_qc, M_risk11, ]