from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'lottery_T5' players_per_group = 4 num_rounds = 1 class Subsession(BaseSubsession): def creating_session(self): for player in self.get_players(): player.dice_number = random.randint(1, 6) player.participant.vars['dice_number'] = player.dice_number def update_grouping(self): # for groupings players = self.get_players() for player in players: player.slider_value = player.participant.vars['slider_value'] players.sort(key=lambda player: player.slider_value) yellowGroup = players[:Constants.players_per_group] redGroup = players[Constants.players_per_group:] self.set_group_matrix([yellowGroup, redGroup]) class Group(BaseGroup): pass class Player(BasePlayer): slider_value = models.IntegerField() dice_number = models.IntegerField()