1
考慮一個3輪遊戲。玩家在每一輪都做出選擇(存儲在變量choice
中)。in_round()函數在oTree
現在,在第三輪我想打電話someFunction
,從而獲得第二輪的選擇。
不幸的是someFunction
返回None
。我不懂爲什麼。如果我把函數調用放在一個模板文件中,一切正常。
幫助將appriciated - 我一直在尋找小時。
class Subsession(BaseSubsession):
def before_session_starts(self):
if self.round_number == 3:
for player in self.get_players():
player.participant.vars['someKey'] = player.someFunction()
class Player(BasePlayer):
choice = models.CharField(initial=None,
choices=['A','B','C'],
widget=widgets.RadioSelect())
def someFunction(self):
return self.in_round(2).choice
這是怎麼發生的?
實際的錯誤是什麼? – OptimusCrime
player.participant.vars ['someKey']是None,而不是A,B,C(來自不明回合的選擇變量)。 –
但是,這個變量是如何定義的以及它如何被填充,它沒有解釋。我們所看到的只是'Player.choice'。 – OptimusCrime