python创建游戏代码_用Python类创建纸牌游戏

我试图通过创建一个纸牌游戏来练习Python中的编程类。现在我要做的是让玩家从牌堆中抽一张牌。我有如下代码:

class Deck():

def __init__(self):

#create the deck

self.deck = []

self.discard_pile = []

def create_deck(self):

#assign the number of cards for each type to a card (dict)

deck_stats = {"A":4, "B":6, "C":5, "D":5, "E":5, "F":5, "G":5, "H":5, "I":5, 'J':5}

for card in deck_stats.keys():

for i in range(0,deck_stats[card]):

self.deck.append(card)

return self.deck

def shuffle(self):

#randomise the deck or for when the shuffle card is played

random.shuffle(self.deck)

return self.deck

def pickup(self):

#picks up the first card on the draw pile

picked_up = self.deck.pop(0)

print(picked_up)

return picked_up

class Player(Deck):

def __init__(self):

self.player_hand = ["defuse"]

for i in range(6):

self.draw_card()

def draw_card(self):

#draw pile reduces by one

deck = Deck()

deck.create_deck()

deck.shuffle()

self.player_hand.append(deck.pickup())

return self.player_hand

draw_card()

我调用的Player类中的

pickup

方法。我认为这样做是不对的,但我不知道如何从牌堆中取出一张牌。

draw_card

方法显然没有按预期的方式工作,因为它每次都在创建一个新的甲板,然后从新甲板上取货(至少我认为它现在正在这样做)。这让我回到了我最初的问题,我如何让玩家从同一副牌中取出一张牌,这样我就不需要每次都创建一张新牌了?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值