from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) from Exp1_questionnaire.models import ( WaitingPeriod, GainedAmount, Treatment, OptionOfGetMoney, Constants, ) import json author = 'FuHsuan Tsai' doc = """ 決策實驗-說明部分 """ class Constants(BaseConstants): name_in_url = 'Exp1_intro' players_per_group = None num_rounds = 1 key_method = 'treatment_method' gainedamount_sooner = GainedAmount.today futureTense = Treatment.futureTense spaces = Treatment.spaces class Subsession(BaseSubsession): num_questions = models.IntegerField() def creating_session(self): self.num_questions = len(WaitingPeriod.list) config = self.session.config json_string = config['available_waiting_periods'] WaitingPeriod.list = json.loads(json_string) json_string = config['available_gained_amounts'] GainedAmount.list = json.loads(json_string) for p in self.get_players(): p.treatment_method = Treatment.get_treatment(p) class Group(BaseGroup): pass class Player(BasePlayer): waiting_period = models.IntegerField() treatment_method = models.StringField() sooner_period = models.StringField()