import random from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = """ Author : Wael Bousselmi """ class Constants(BaseConstants): name_in_url = 'v2_exp_e4c_en_p3_risk_binswanger' players_per_group = None num_rounds = 1 tauxdechange = 1 instructions_BW_template = 'v2_exp_e4c_en_risk_p3_binswanger/Risk_BinsWanger_qc.html' gainriskAred = 8#4 gainriskBred = 6#3 gainriskCred = 4#2 gainriskDred = 2#1 gainriskEred = 0#0 gainriskAgreen = 8#4 gainriskBgreen = 12#6 gainriskCgreen = 16#8 gainriskDgreen = 20#10 gainriskEgreen = 24#12 tauxchange = 0.8 class Subsession(BaseSubsession): def vars_for_admin_report(self): report = list() for p in self.get_players(): report.append(dict(id=p.participant.id_in_session, label=p.participant.label, answers=p.gainrisk)) return dict(report=report) class Group(BaseGroup): pass ############################# def imi_inv(label): return models.IntegerField( choices=[ [0, '0'], [1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'] ], label=label, widget=widgets.RadioSelect, blank=False ) # Define template for Goal commitment questions def goal_com(label): return models.IntegerField( choices=[ [0, '0'], [1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], ], label=label, widget=widgets.RadioSelect, blank=False ) ############################# class Player(BasePlayer): id_in_group_nn = models.IntegerField() treatment = models.IntegerField() riskqc_a = models.IntegerField( choices=[ [1, '12 ECUs'], [2, '0 ECUs'], [3, '4 ECUs'], [4, '6 ECUs'], ], label="", widget=widgets.RadioSelectHorizontal, blank=False ) riskqc_b = models.IntegerField( choices=[ [1, '20 ECUs'], [2, '0 ECUs'], [3, '2 ECUs'], [4, '12 ECUs'], ], label="", widget=widgets.RadioSelectHorizontal, blank=False ) riskqc_c = models.IntegerField( choices=[ [1, '0 ECUs'], [2, '2 ECUs'], [3, '24 ECUs'], [4, '8 ECUs'], ], label="", widget=widgets.RadioSelectHorizontal, blank=False ) choicerisk = models.IntegerField( blank=False, ) choicerisknn = models.StringField() tc3 = models.StringField() tiragecolor = models.FloatField() colorbutton = models.IntegerField() colorselect = models.IntegerField() colorselectnn = models.StringField() gainrisk = models.FloatField() gainriskeur = models.FloatField() gainriskeurfinal = models.FloatField() task_start_risk = models.FloatField() task_time_risk = models.FloatField() id_in_group_nn = models.IntegerField()