Baraja una baraja de cartas con OOPS en Python

Requisitos previos: clases y objetos de Python

Acercarse:

  • Para barajar la baraja de cartas necesitamos usar el módulo de barajar .
  • Importar el módulo requerido
  • Declare una clase llamada Cards que tendrá variables suites y valores , ahora en lugar de usar self.suites y self.values , las declararemos como variables globales.
  • Declare una baraja de clase que tendrá una lista vacía llamada mycardset , y las suites y los valores se agregarán a la lista mycardset  .
  • Declare una clase ShuffleCards junto con un método llamado shuffle() que verifique la cantidad de cartas y luego las baraje.
  • Para eliminar algunas tarjetas, crearemos un método popCard() en la clase ShuffleCards .

A continuación se muestra el programa completo basado en el enfoque anterior:

Python3

# Import required modules
from random import shuffle
  
  
# Define a class to create
# all type of cards
class Cards:
    global suites, values
    suites = ['Hearts', 'Diamonds', 'Clubs', 'Spades']
    values = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
  
    def __init__(self):
        pass
  
  
# Define a class to categorize each card
class Deck(Cards):
    def __init__(self):
        Cards.__init__(self)
        self.mycardset = []
        for n in suites:
            for c in values:
                self.mycardset.append((c)+" "+"of"+" "+n)
  
    # Method to remove a card from the deck
    def popCard(self):
        if len(self.mycardset) == 0:
            return "NO CARDS CAN BE POPPED FURTHER"
        else:
            cardpopped = self.mycardset.pop()
            print("Card removed is", cardpopped)
  
  
# Define a class gto shuffle the deck of cards
class ShuffleCards(Deck):
  
    # Constructor
    def __init__(self):
        Deck.__init__(self)
  
    # Method to shuffle cards
    def shuffle(self):
        if len(self.mycardset) < 52:
            print("cannot shuffle the cards")
        else:
            shuffle(self.mycardset)
            return self.mycardset
  
    # Method to remove a card from the deck
    def popCard(self):
        if len(self.mycardset) == 0:
            return "NO CARDS CAN BE POPPED FURTHER"
        else:
            cardpopped = self.mycardset.pop()
            return (cardpopped)
  
  
# Driver Code
# Creating objects
objCards = Cards()
objDeck = Deck()
  
# Player 1
player1Cards = objDeck.mycardset
print('\n Player 1 Cards: \n', player1Cards)
  
# Creating object
objShuffleCards = ShuffleCards()
  
# Player 2
player2Cards = objShuffleCards.shuffle()
print('\n Player 2 Cards: \n', player2Cards)
  
# Remove some cards
print('\n Removing a card from the deck:', objShuffleCards.popCard())
print('\n Removing another card from the deck:', objShuffleCards.popCard())

Producción:

Publicación traducida automáticamente

Artículo escrito por sabafreen84 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *