from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = '' class Constants(BaseConstants): name_in_url = 'FONTAPAPPACALCIO' players_per_group = None num_rounds = 500 class Subsession(BaseSubsession): def set_winner(self): self.get_groups()[0].top_offer = 0; self.get_groups()[0].top_offer_name = ""; self.get_groups()[0].showdown = False; for other_player in self.get_players(): if other_player.bet > self.get_groups()[0].top_offer: self.get_groups()[0].top_offer = other_player.bet self.get_groups()[0].top_offer_name = other_player.player_name for other_player in self.get_players(): if other_player.bet == self.get_groups()[0].top_offer and other_player.player_name != self.get_groups()[0].top_offer_name: self.get_groups()[0].showdown = True; if self.get_groups()[0].showdown == False: for other_player in self.get_players(): if other_player.player_name == self.get_groups()[0].top_offer_name: other_player.credits = other_player.credits - other_player.bet class Group(BaseGroup): top_offer = models.IntegerField(initial=0) top_offer_name = models.StringField(initial='') showdown = models.BooleanField(initial=False) called_footballer = models.StringField(initial='') class Player(BasePlayer): player_name = models.StringField(label='Non devi fare fuck fuck! Inserisci il nome della tua squadra!') bet = models.IntegerField(initial=0, label='Offerta attuale') credits = models.IntegerField(initial=500) called_footballer = models.StringField(initial='')