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()





















