My situation is as follows: I m working on an implementation of BlackJack. I ve got classes for Card, Hand, Player, Deck, and Game. The main game object stores players and a deck, while players stores hands which store cards.
我常常做如下事情。 在这个例子中,我向每个参与者发放了最初的卡片。
num_cards = 2
for player in self.players:
new_hand = Hand()
for i in range(num_cards):
new_hand.add_card(self.deck.get_next_card())
player.assign_hand(new_hand)
这一工作很简单。 我现在的问题是,我希望删除一组参与者的一手手(一个角色可以在黑杰克分裂,造成一手以上。 在以下职能中,我打算通过每个参与者的手。 如果手面价值大于21,我想删除手头。 (请注意,下文所述移除功能通常在运动员类别中进行,采用代号为正文的运动员方法。) 我也存在同样的问题,因此,我已将该守则移至某些地方,以备保存。
for player in self.players:
for hand in player.hands:
if hand.smallest_value() > 21:
player.hands.remove(hand)
这并不可行。 显而易见,我能够在拆除线前印制手稿,之后不印制。 这就是说,这似乎已被删除。 然而,在接下来的游戏中,这又是一回头。 因此,参与者的双向发展。
以上法典的职能是确认“游戏者”在游戏中。 这一功能是从一个称为游戏的卷宗中发出的,该档案是为了开始/结束游戏,并为主要的游戏圈提供便利。 因此,唯一要求验证_互动器_手(手)的人正在发挥作用。 py file, one indent in, in themmer. 我呼吁:
game.validate_player_hands()
我也尝试利用关键词确定手法指数,但结果相同。
为什么清单要素(一个称为参与者清单中的物体)在删除时不会删除?
提前感谢,
ParagonRG