from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) doc = """ author = 'Wael Bousselmi' Exp E4C """ class Constants(BaseConstants): name_in_url = 'a5_survey' players_per_group = None num_rounds = 1 app_seq1 = ["gp", "bw", "MDG_asso", "MDG_class"] app_seq2 = ["gp", "bw", "MDG_class", "MDG_asso"] app_seq3 = ["bw", "gp", "MDG_asso", "MDG_class"] app_seq4 = ["bw", "gp", "MDG_class", "MDG_asso"] exchangerate_gp_bw = 0.8 exchangerate_DGM = 0.1 showupfee = 5 instructions_GP_template = 'a5_survey/instructions_gp.html' instructions_bw_template = 'a5_survey/instructions_bw.html' instructions_DCL_template = 'a5_survey/instructions_dcl.html' instructions_DAS_template = 'a5_survey/instructions_das.html' instructions_colors_template = 'a5_survey/instructions_colors.html' class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): app_sequence_select = models.IntegerField() app_sequence_select_n = models.StringField() #questionnaire_before = models.IntegerField() #game_num_select = models.IntegerField() #game_select_n = models.StringField() #game_select = models.IntegerField() # new 2025 g1_easy_to_understand = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g1_involves_risk = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g1_annoying_boring = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g2_easy_to_understand = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g2_involves_risk = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g2_annoying_boring = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g3_easy_to_understand = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g3_involves_altruism = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g3_annoying_boring = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g4_easy_to_understand = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g4_involves_altruism = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) g4_annoying_boring = models.IntegerField( choices=[(1, '1-Strongly Disagree'), (2, '2'), (3, '3'), (4, '4'),(5, '5'), (6, '6-Strongly Agree')], label="", blank=False ) crt1 = models.FloatField( label="", blank=True ) # Correct Answer: 5. crt2 = models.FloatField( label="", blank=True ) # Correct Answer: 5 crt3 = models.FloatField( label="", blank=True ) # Correct Answer: 47 gain_crt = models.IntegerField()