编程新手需要面向对象编程建议

2024-10-05 14:24:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我为python的一个项目制作了一个21点游戏,并且已经制作了一副牌(见下文)。但是我想用对象来提高它,因为我想我会帮助我提高我的技能更多。你知道吗

我想知道是否有人知道如何,或在哪里我可以得到一些资源,以帮助我学习面向对象编程(如果这使任何场景,对不起,如果它没有我是新的在这个)。你知道吗

import random

deck = []
hand = []

def MakeDeck(deck):
    suits = ['♠','♣','♥','♦']
    values = ['A',2,3,4,5,6,7,8,9,10,'J','Q','K']

    for suit in suits:
        for value in values:
            deck.append((value,suit))

def DrawCard(deck, hand):
    card1 = random.choice(deck)
    deck.remove(card1)
    card2 = random.choice(deck)
    deck.remove(card2)

    hand.append(card1)
    hand.append(card2)

    print("Your hand:\n", hand)


MakeDeck(deck)
DrawCard(deck, hand)

Tags: inforvaluedefrandomvaluesdeckhand
1条回答
网友
1楼 · 发布于 2024-10-05 14:24:02

试试这个:https://realpython.com/python3-object-oriented-programming/

然后您可以阅读python官方文档:https://docs.python.org/3.7/tutorial/classes.html

例如,制作面向OOP的21点游戏的一些技巧:

  • 你的游戏需要一副牌,我想一副职业牌会是一个好的开始。你知道吗
  • 这个类应该包含卡片,您可以创建一个表示卡片的类。您将在某个地方实例化52个对象,并将它们存储在实例化的Deck中。你知道吗
  • 您可以在Deck类中创建方法来管理Deck。例如,洗牌或抽牌
  • 然后你有一个游戏,21点。记住,你可以在其他游戏中重复使用你的职业牌和牌组。因此,关于21点规则的所有内容(例如,你的牌的值)都应该在21点类中描述。在这里你可以实例化你的牌组52张,因为其他游戏有时使用较少/较多。然后执行游戏规则(回合,谁赢…)
  • 您可能会创建一个类播放器来存储关于播放器的信息。你知道吗

最后一条建议是,避免在代码中使用特殊字符

suits = ['♠','♣','♥','♦']

这会给你带来麻烦。你知道吗

相关问题 更多 >