from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) from random import randint author = 'Milton Aldair Vera Guzmán' doc = """ Lotery game """ class Constants(BaseConstants): name_in_url = 'lottery' players_per_group = 2 num_rounds = 1 choosen = 0 ## high and low values for gamble choices gamble_choices = { ## *L* , *H* 1 : [2.8, 2.8], 2 : [2.4, 3.6], 3 : [2.0, 4.4], 4 : [1.6, 5.3], 5 : [1.2, 6.0], 6 : [0.2, 7.0] } ## value that have to be inserted by the volunteer choosen to select either high or low amount value_for_high = 'H' value_for_low = 'L' class Subsession(BaseSubsession): choosen = models.IntegerField() def creating_session(self): players = self.get_players() num_players = len(players) self.choosen = randint(1, num_players) - 1 players[self.choosen].selected = True class Group(BaseGroup): pass class Player(BasePlayer): gamble_choice = models.IntegerField(min=1, max=6) selected = models.BooleanField(initial=False) chip = models.StringField() total_payment = models.FloatField(initial=0.0) payment = models.FloatField(initial=0.0)