from Data import Deck from DeckGen import CardGen from Card import DEFCard from random import choice class Player: def __init__(self, name, deck): self.hp = 15 self.name = name self.deck = deck[:] self.hand = [] self.poison = 0 def draw(self, num=1): if not self.deck: return False for _ in range(num): self.hand.append(CardGen(self.deck.pop(0))) return self.hand[-1] def inc_hp(self, hp): self.hp += hp def get(self, card): self.hand.append(card) def drop(self): if not self.hand: return False card = choice(self.hand) self.hand.remove(card) return card def defend(self, card): print("對手使用了{}".format(card)) def_cards = list(filter(lambda x: True if isinstance(x, DEFCard) else False, self.hand)) if not def_cards: return False for i, card in enumerate(def_cards): print(i, ": ", card, sep="") try: use = input() card = def_cards[int(use)] card.passive() self.hand.remove(card) return True except: return False class Keieit(Player): def __init__(self): super(Keieit, self).__init__("圭月", Deck[0]) class Rabbit(Player): def __init__(self): super(Rabbit, self).__init__("小兔", Deck[1])