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 = 'teikyo_pd' players_per_group = 2 num_rounds = 5 endowment = c(50) multiplier = 2 class Subsession(BaseSubsession): #def creating_session(self): #self.group_randomly() pass class Group(BaseGroup): def set_payoffs(self): #print(self.get_players()) for p in self.get_players(): p.set_payoff() class Player(BasePlayer): decision = models.IntegerField( choices = [[1, '渡す'], [0, '渡さない']], label = "渡すか渡さないかのどちらかを選んでください", widget=widgets.RadioSelect ) previous_decision = models.IntegerField() def other_player(self): #print(self.get_others_in_group()[0]) return self.get_others_in_group()[0] def set_payoff(self): self.payoff = Constants.endowment * (1 - self.decision) + Constants.endowment * Constants.multiplier * self.other_player().decision if(self.round_number > 1): self.previous_decision = self.in_round(self.round_number - 1).decision else: self.previous_decision = -1 print(self.previous_decision) #def previous_decision(self): #print(self.in_previous_rounds()) #return [p.decision for p in self.in_previous_rounds()]