【发布时间】:2010-11-07 13:29:51
【问题描述】:
我正在尝试为大量用户计算游戏分数,但我还没有真正得到它。这是一个金字塔游戏,您可以在其中邀请人,而您邀请的人在关系树中位于您的下方。
所以,如果我邀请 X 和 X 邀请 Y,我会从他们俩那里得到回扣。假设 10%^steps...
所以我从 X 那里得到他分数的 10%,从 Y 那里得到 1%,X 从 Y 那里得到 10%。
所以要计算这个,我认为每个“玩家”都有一个计算他的总分的函数。这个函数必须是递归的,并且“知道”它在树中的距离,以便它能够返回正确的值。
def get_score(player):
if children:
score = player.points
for child in children:
score += child.points*math.pow(.1, get_ancestors(child))
score += get_score(child)
return score
else:
return player.points
但这不能正常工作,它给出了我认为在某些级别但在其他级别不正确的值。所以认为我的功能被破坏了。有人知道如何解决这个问题吗?
【问题讨论】:
-
我希望你不会全力以赴麦道夫 :)
-
不抱歉,这其实是一款ARG游戏,有钱,玩家不用花钱,所以不用担心......