from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'Training' players_per_group = None num_rounds = 10 instructions_template = 'Training/Instructions.html' determined_demand = [1216,968,262,952,1101,830, 1789, 801, 1371, 624, 1305, 1497, 968,504, 653, 1820,755, 503, 1366, 871, 280, 933,904,553,1320, 718,720, 1066,974,1295] round_demand = [1744, 997, 563, 1090,1238, 289, 952, 1180, 1675, 1379] underage = 9 overage = 3 name_apps = ['A', 'B'] class Subsession(BaseSubsession): def creating_session(self): players = self.get_players() for p in players: p.new_round_number = p.round_number + 30 class Group(BaseGroup): pass class Player(BasePlayer): quantity = models.IntegerField() def quantity_error_message(self, value): if value < 0: return 'Please enter order quantity with positive integer.' if value >= 4000: return 'You ordered too many quantities. Please enter order quantity less than 4000.' demand = models.IntegerField() mismatch_cost = models.IntegerField() new_round_number = models.IntegerField()