尝试使用其他类方法修改类属性

时间:2019-06-30 13:57:33

标签: python-3.x

class Player:

    def __init__(self, name, deck):
        self.name = name
        self.deck = list(deck)
        self.hand = []
        self.has_draw = False
        self.skip_turn = 0


    def skip(no, f_deck, hand):
        r = len(hand)
        for card in f_deck[-r]:
            if "skips" in card:
                return False
            else:
                return no


    def subtract_skip(self, p_list):
        if self.skip_turn != 0:
            self.skip_turn -=1
            next(p_list)
            print("!"*100 + f"{self.name} skips")
        else:
            pass

我正在尝试使用Card类中的以下方法修改Player属性self.skip_turn:card_property()

class Card:

    def __init__(self, card):
        self.card = card
        self.number = self.card_number()
        self.suit = self.card_suit()
        self.property = self.property()

    def card_property(self, table_deck):
        if self.property:
            if self.number[0] == "A":
                ch_suit = ["h", "c", "d", "s"]
                x = input(f"Choose the color: {ch_suit} -")
                if x in ch_suit:
                    return table_deck.extend(x)
                else:
                    return ("Color not eligible")
            elif self.number[0] == "4":
                i = 0
                for c in self.number:
                    if c[0] == "4":
                        i+=1
                return Player.skip(i, table_deck, self.number)
            else:
                return None
        else:
            return None

我要在这里完成的是澳门纸牌游戏。在此游戏中,如果一个玩家弃掉4个,则下一个玩家也可以弃掉4个(如果手中有4个)或应该跳过回合。

直到现在,这对我来说还是一个真正的障碍。如果有可能,我是一个初学者,我正在尝试很好地学习基础知识。因此,最简单的方法是完成此skip_turn方法。

0 个答案:

没有答案