New.EoD/Player.py
2018-08-26 19:07:59 +08:00

50 lines
1.4 KiB
Python

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])