我正在编写我自己的Lucky 9版本(当我遇到这个问题时,每个玩家获得2张牌并被问到他们是否想要另一张牌,他们的得分相当于(值的总和)%10)。
每个玩家只有在有足够的钱投注的情况下才能继续,并且如果他们不再有足够的钱,他们将被从self.playing
的游戏列表class game()
中取出。 1}}并移至self.playable
。但是,即使满足要移动的条件,也不能正确处理所有类。
所以这是我遇到问题的部分:
self.observer.notifyListeners(self.playing, self.deck.cards, self) '''yeah, i used an observer design pattern'''
然后重定向到此部分:
def notifyListeners(self, x, kards, system):
#These are all in an observer class and I pass class game as "system" as the parameter
x.sort(key = lambda x: x.points)
for y in x:
print y.name, y.points
for z in y.cards:
self.pastcards.append(z)
y.cards = []
winners = []
winners.append(x[len(x)-1])
for y in x:
if y.points == winners[0].points and y is not x[len(x)-1]:
winners.append(y)
self.money = self.money/len(winners)
for y in winners:
y.handlemove(self.money)
print y.name, " wins."
for y in x:
if y.name == "Streaky" and y not in winnders:
y.wins = 0
else:
pass
for y in x:
print y.name, ": ", y.money
print len(self.pastcards)
print "Cards left: ", len(kards)
for y in x:
if y.money < 100:
y.isEligible = False
for y in x:
if y.isEligible == False:
system.playable.append(y)
self.removelisteners(y)
system.playing.remove(y)
for y in x:
print y.name, y.money
我将它们打印出来以便我可以看到谁离开了,但有时候,<100钱的玩家仍然是该列表的一部分。有点让我回到这里。任何帮助将不胜感激。
感谢。