0
Handオブジェクトをとり、一定数のCardオブジェクトを持ち、メッセージを出力してからカードを削除する、関数throw_cards
を作成しようとしています。 self.cards
リスト。 これは私が現在持っているものです:私はPythonを使用してリストからオブジェクトを削除する方法
>>> q.throw_cards()
King of Hearts deals 7 damage!
5 of Clubs deals 5 damage!
10 of Hearts deals 7 damage!
>>> print(q)
3 of Diamonds
10 of Hearts
10 of Spades
問題で終わる機能を使用して
ability = {'Clubs':5, 'Diamonds':6, 'Hearts':7, 'Spades':8}
class Hand(Deck):
"""Represents a hand of playing cards."""
def __init__(self, label=''): #name for hand? idk
self.cards = []
self.label = label
def throw_cards(self):
for card in self.cards:
print(card, 'deals', ability[Card.suit_names[card.suit]],
'damage!')
self.cards.remove(self.cards[0])
q = Hand()
w= Deck()
w.shuffle()
w.move_cards(q, 6)
このように、それはそう、それが正しい順序でカードを削除していないということです。私も.pop()
と異なるインデックス.remove()
を使ってみましたが、それを印刷して手からカードを取り除くことはできません。また、この質問自体が書式や情報の点で問題ないかどうか教えてください。私は非常にstackoverflowすることです。
ありがとう!これは当然のことですが、 'print'の後にカードを削除したいのであれば、繰り返しの途中でカードを投げ捨てるのをやめたいのです。例えば、敵が3枚目のカードを投げた後に0 HPを命中したとします。しかし、私はそれがそのように振舞うようにメソッドを書き直さなければならないことは分かっています。 –