函数赋予变量一个数字,但根据运行次数而变化

时间:2017-09-25 02:06:32

标签: python

我正在尝试制作一个二十一点游戏,我希望可以选择处理额外的卡片,但是我遇到的是我正在尝试制作能够处理其他卡片的功能,但是我我不确定最好的方法。我知道如何做到这一点,但我不知道如何实现它。

思想: 有一个能够处理附加卡的功能,并且+1将一个变量计算玩家已经拥有多少张牌,从2开始,第一次运行该功能时,将给玩家卡#3。然后该功能将随机给出一张牌,然后将卡片(也许是playerCardThree,playerCardFour)返回,一次允许限制为5张牌。这是我希望它做的一个例子,但我不确定它是否有效。

def deal():
    playerCardTotal + 1
    if playerCardTotal >= 5:
        print("Error detected, returning...")
        play()
    newPlayerCard = randint(1,10)
    print("You are given card ",playerCardTotal,"it is a",newPlayerCard)
    newPlayerCard = playerCard(4)

如果有人可以帮助我做类似的事情,或者可能引导我找到一种能够实现目标清洁的方法,因为我确信我所想到的并不是最有效的方法。

1 个答案:

答案 0 :(得分:1)

如何在类中使用计数器,每次实例化时都会自动增加。然后每张卡都是一个实例。如您在问题中所述,当计数器超过5时,您可以引发错误。游戏的简化起点可能是这样的(你应该根据需要详细说明):

import random

class MyGame():
    counter = 0

    def __init__(self):
        MyGame.counter += 1

    def deal_card(self):
        self.card = random.randint(1,10)
        if self.get_count() > 5:
            raise RuntimeError('too many cards have been played')
        print("You are given card #", self.get_count())

    def get_count(self):
        return MyGame.counter


a = MyGame()
a.deal_card()
b = MyGame()
b.deal_card()