162 lines
5.0 KiB
Python
162 lines
5.0 KiB
Python
from otree.api import Currency as c, currency_range
|
|
from ._builtin import Page, WaitPage
|
|
from .models import Constants
|
|
|
|
import random
|
|
import time
|
|
|
|
###### traitement 1 risk au début
|
|
class Risk_BinsWanger_qc(Page):
|
|
form_model = 'player'
|
|
form_fields = []
|
|
|
|
def is_displayed(self):
|
|
return self.participant.vars['versionexp'] == 1
|
|
|
|
|
|
def before_next_page(self):
|
|
self.player.treatment = self.player.participant.vars['treatment']
|
|
|
|
class Risk_BinsWanger_qc2(Page):
|
|
form_model = 'player'
|
|
form_fields = ['riskqc_a', 'riskqc_b', 'riskqc_c']
|
|
|
|
def is_displayed(self):
|
|
return self.participant.vars['versionexp'] == 1
|
|
|
|
|
|
def error_message(self, values):
|
|
print('values is', values)
|
|
if values['riskqc_a'] != 1:
|
|
return 'Please correct your answer 1!!'
|
|
elif values['riskqc_b'] != 3:
|
|
return 'Please correct your answer 2!!'
|
|
elif values['riskqc_c'] != 1:
|
|
return 'Please correct your answer 3!!'
|
|
|
|
class Risk_BinsWanger(Page):
|
|
form_model = 'player'
|
|
form_fields = ['choicerisk']
|
|
|
|
def is_displayed(self):
|
|
return self.participant.vars['versionexp'] == 1
|
|
|
|
|
|
def vars_for_template(self):
|
|
self.player.task_start_risk = time.time() ###### get_time
|
|
|
|
def before_next_page(self):
|
|
|
|
if self.player.choicerisk == 1:
|
|
self.player.choicerisknn = "A"
|
|
elif self.player.choicerisk == 2:
|
|
self.player.choicerisknn = "B"
|
|
elif self.player.choicerisk == 3:
|
|
self.player.choicerisknn = "C"
|
|
elif self.player.choicerisk == 4:
|
|
self.player.choicerisknn = "D"
|
|
else:
|
|
self.player.choicerisknn = "E"
|
|
|
|
self.player.task_time_risk = time.time() - self.player.task_start_risk ######### count_time
|
|
|
|
self.participant.vars['choicerisk'] = self.player.choicerisk
|
|
self.participant.vars['choicerisknn'] = self.player.choicerisknn
|
|
|
|
#######################################################
|
|
|
|
class Risk_BinsWanger_color(Page):
|
|
form_model = 'player'
|
|
form_fields = ['tc3']
|
|
|
|
def is_displayed(self):
|
|
return self.participant.vars['versionexp'] == 1
|
|
|
|
def before_next_page(self):
|
|
|
|
###########################
|
|
self.participant.vars['list_modif'] = self.player.tc3.split(';;')
|
|
self.player.tiragecolor = float(self.participant.vars['list_modif'][1])
|
|
self.player.colorbutton = int(self.participant.vars['list_modif'][0])
|
|
|
|
if self.player.colorbutton == 1:
|
|
if self.player.tiragecolor >= 0.5:
|
|
self.player.colorselect = 1
|
|
self.player.colorselectnn = "Vert"
|
|
|
|
elif self.player.tiragecolor < 0.5:
|
|
self.player.colorselect = 0
|
|
self.player.colorselectnn = "Rouge"
|
|
|
|
elif self.player.colorbutton == 2:
|
|
if self.player.tiragecolor <= 0.5:
|
|
self.player.colorselect = 1
|
|
self.player.colorselectnn = "Vert"
|
|
|
|
elif self.player.tiragecolor > 0.5:
|
|
self.player.colorselect = 0
|
|
self.player.colorselectnn = "Rouge"
|
|
|
|
if self.player.colorselect == 0:
|
|
if self.player.choicerisk == 1:
|
|
self.player.gainrisk = Constants.gainriskAred
|
|
|
|
elif self.player.choicerisk == 2:
|
|
self.player.gainrisk = Constants.gainriskBred
|
|
|
|
elif self.player.choicerisk == 3:
|
|
self.player.gainrisk = Constants.gainriskCred
|
|
|
|
elif self.player.choicerisk == 4:
|
|
self.player.gainrisk = Constants.gainriskDred
|
|
|
|
elif self.player.choicerisk == 5:
|
|
self.player.gainrisk = Constants.gainriskEred
|
|
|
|
elif self.player.colorselect == 1:
|
|
if self.player.choicerisk == 1:
|
|
self.player.gainrisk = Constants.gainriskAgreen
|
|
|
|
elif self.player.choicerisk == 2:
|
|
self.player.gainrisk = Constants.gainriskBgreen
|
|
|
|
elif self.player.choicerisk == 3:
|
|
self.player.gainrisk = Constants.gainriskCgreen
|
|
|
|
elif self.player.choicerisk == 4:
|
|
self.player.gainrisk = Constants.gainriskDgreen
|
|
|
|
elif self.player.choicerisk == 5:
|
|
self.player.gainrisk = Constants.gainriskEgreen
|
|
|
|
self.player.gainriskeur = self.player.gainrisk
|
|
|
|
|
|
# self.player.payoff = self.player.gainriskeurfinal * 1000
|
|
|
|
self.participant.vars['choicerisknn'] = self.player.choicerisknn
|
|
self.participant.vars['colorselectnn'] = self.player.colorselectnn
|
|
self.participant.vars['gainrisk'] = self.player.gainrisk
|
|
self.participant.vars['gainriskeur'] = self.player.gainriskeur
|
|
|
|
class Risk_BinsWanger_result(Page):
|
|
form_model = 'player'
|
|
form_fields = []
|
|
|
|
def is_displayed(self):
|
|
return self.participant.vars['versionexp'] == 1
|
|
|
|
class Jeu2End(Page):
|
|
def is_displayed(self):
|
|
return self.participant.vars['versionexp'] == 1
|
|
|
|
|
|
page_sequence = [
|
|
Risk_BinsWanger_qc,
|
|
Risk_BinsWanger_qc2,
|
|
Risk_BinsWanger,
|
|
Jeu2End,
|
|
# Risk_BinsWanger_color,
|
|
# Risk_BinsWanger_result,
|
|
]
|