J'ai essayé d'implémenter le jeu de cartes de Trump en Python

introduction

En guise d'introduction à Python, je vais essayer Développer un «Blackjack» pour les examens de fin d'études des débutants en programmation. Les exigences sont utilisées telles quelles. Il y a des points inconnus, c'est donc bien de le faire ici! J'aimerais que vous commentiez qu'il y a quelque chose comme ça!

Ce que j'ai fait avant la mise en œuvre

Pour apprendre la syntaxe de Python, je me suis référé à ce qui suit.

Je voulais implémenter quelque chose en Python avant l'apprentissage automatique, j'ai donc fait une introduction à Python

À propos de la mise en œuvre

Avant le jeu de blackjack, je pensais que j'avais besoin de la fonction du deck Trump, qui est la base du jeu de cartes, donc je vais commencer par là.

Classe de carte

Obtenez les informations de la carte en donnant à l'instance générée à partir de la classe Card une marque et un argument numérique.

card.py


#!/usr/bin/env python
# coding: UTF-8


class Card:
    """
Marques et numéros de carte de sortie
    Attributes
    ----------
    card_mark : int
Marque de la carte (♠ ︎❤︎ ♦ ︎ ♣ ︎)
    card_value : int
Numéros de carte
    """

    #marque
    MARKS = ("♠︎-", "❤︎-", "♦︎-", "♣️-")
    #Nombres
    VALUES = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)

    def __init__(self, card_mark, card_value):
        """
        Parameters
        ----------
        card_mark : int
Marque de la carte (♠ ︎❤︎ ♦ ︎ ♣ ︎)
        card_value : int
Numéros de carte
        """
        self.mark = card_mark
        self.value = card_value

    #Remplacer et modifier la sortie de l'instance
    def __repr__(self):
        return self.MARKS[self.mark] + str(self.VALUES[self.value])

Si vous exécutez la classe de carte ci-dessus seule, ce sera comme suit. Le contenu de sortie de l'instance est modifié à l'aide de la méthode repr.

#Créer une instance à partir de la classe Card (marque et numéro comme arguments)
#Puisque le contenu de sortie est modifié par la méthode repr, il est généré comme suit
#Normal →<__main__.Card object at 0x10c949310>
#Ajouter la méthode repr → ♦ ︎-4

# ♦︎-4
card = Card(2, 4)
print(card)

Classe de pont

Utilisez la classe Card pour générer une liste aléatoire de 52 cartes par deck.

deck.py


#!/usr/bin/env python
# coding: UTF-8

#Classe de carte
import card
#Mélanger les éléments de la liste
from random import shuffle


class Deck:
    """
Créez 52 cartes Atout (1 Deck)
    Attributes
    ----------
    deck_set_no : int
Nombre de ponts
    """

    def __init__(self, deck_set_count=1):
        """
        Parameters
        ----------
        deck_set_count : int
Nombre de ponts
        """

        self.cards = []
        for index in range(deck_set_count):
            #4 points
            for mark in range(len(card.Card.MARKS)):
                #Numéros (2 à 13+1 sur 14)
                for value in range(len(card.Card.VALUES)):
                    #Ajouter aux cartes
                    self.cards.append(card.Card(mark, value))
        #Mélangez le jeu
        shuffle(self.cards)

    def get_card(self, card_num=1):
        """
Obtenir l'élément et le supprimer de la liste
        Parameters
        ----------
        card_num : int
Nombre de cartes à obtenir
        """
  
        self.card_list = []
        if len(self.cards) == 0:
            #Ne rien faire quand il n'y a aucune carte
            return

        #self.carte de la fin en cartes_Obtenez num minutes et supprimez de la liste
        for index in range(card_num):
            self.card_list.append(self.cards.pop())
        return self.card_list

Lorsque vous exécutez la classe Deck, ce sera comme suit.

#Générer deux decks
deck = Deck(2)
# [♦︎-12, ♠︎-3, ♦︎-13, ❤︎-9, ♦︎-3, ♦︎-8, ♠︎-11, ♦︎-13, ♣︎-9, ♦︎-11,
#  ♦︎-12, ♠︎-2, ♠︎-8, ❤︎-10, ♦︎-4, ♦︎-9, ♣︎-10, ♣︎-4, ♦︎-9, ♠︎-6,
#  ♠︎-3, ♣︎-12, ♠︎-12, ❤︎-13, ♣︎-11, ♣︎-8, ♦︎-10, ♦︎-5, ♦︎-7, ❤︎-12,
#  ♣︎-8, ♦︎-10, ♣︎-10, ♦︎-6, ♠︎-9, ♦︎-5, ❤︎-12, ♠︎-12, ♠︎-10, ♣︎-1,
#  ♣︎-3, ❤︎-1, ❤︎-9, ❤︎-3, ❤︎-6, ♠︎-8, ♦︎-1, ♠︎-13, ❤︎-3, ♦︎-2, ♣︎-1,
#  ♣︎-12, ♠︎-7, ❤︎-8, ♣︎-5, ♠︎-9, ♣︎-4, ♠︎-10, ❤︎-11, ❤︎-4, ♣︎-11,
#  ♠︎-4, ♣︎-7, ❤︎-7, ❤︎-6, ♣︎-3, ♣︎-9, ♦︎-2, ♦︎-11, ❤︎-5, ❤︎-4, ♠︎-13,
#  ♠︎-4, ♣︎-13, ♠︎-1, ♦︎-1, ♠︎-2, ♦︎-8, ❤︎-8, ♣︎-5, ♣︎-6, ♠︎-7, ♣︎-7,
#  ♠︎-11, ♠︎-6, ♠︎-5, ♦︎-6, ❤︎-5, ♣︎-6, ♣︎-13, ❤︎-7, ♦︎-7, ❤︎-10, ❤︎-11,
#  ♠︎-5, ❤︎-2, ❤︎-13, ♦︎-3, ♠︎-1, ❤︎-1, ♦︎-4, ♣︎-2, ❤︎-2, ♣︎-2]
print(deck.cards)

#Nombre de cartes 104
print(len(deck.cards))

#Piochez 5 cartes[♣︎-2, ❤︎-2, ♣︎-2, ♦︎-4, ❤︎-1]
#La carte tirée est supprimée de la liste
print(deck.get_card(5))

Avec cela, le deck de Trump et la fonction de piocher des cartes ont été implémentés!

La prochaine fois, j'aimerais résumer la conservation des données du joueur et du croupier!

Recommended Posts

J'ai essayé d'implémenter le jeu de cartes de Trump en Python
J'ai essayé d'implémenter le blackjack du jeu Trump en Python
J'ai essayé de jouer à un jeu de frappe avec Python
J'ai essayé d'implémenter un automate cellulaire unidimensionnel en Python
J'ai essayé d'implémenter PLSA en Python
J'ai essayé d'implémenter la permutation en Python
J'ai essayé d'implémenter PLSA dans Python 2
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé d'implémenter PPO en Python
J'ai essayé d'implémenter TOPIC MODEL en Python
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
Je veux facilement implémenter le délai d'expiration en python
J'ai essayé d'implémenter le poker de Drakue en Python
J'ai essayé d'implémenter ce qui semble être un outil de snipper Windows avec Python
J'ai essayé "Comment obtenir une méthode décorée en Python"
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python
J'ai essayé de mettre en œuvre un jeu de dilemme de prisonnier mal compris en Python
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
[Python] J'ai essayé d'implémenter un tri stable, alors notez
J'ai essayé de créer une liste de nombres premiers avec python
J'ai essayé de créer une expression régulière de "date" en utilisant Python
Implémenter un automate fini déterministe en Python pour déterminer des multiples de 3
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
Je veux créer une fenêtre avec Python
Je veux faire un jeu avec Python
J'ai essayé d'implémenter la régression linéaire bayésienne par échantillonnage de Gibbs en python
J'ai essayé de développer un formateur qui génère des journaux Python en JSON
Je veux colorer une partie de la chaîne Excel avec Python
J'ai essayé d'ajouter un module Python 3 en C
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé d'implémenter le tri par fusion en Python avec le moins de lignes possible
J'ai essayé de créer une classe qui peut facilement sérialiser Json en Python
[Python] Deep Learning: J'ai essayé d'implémenter Deep Learning (DBN, SDA) sans utiliser de bibliothèque.
[Azure] J'ai essayé de créer une machine virtuelle Linux avec Azure de Microsoft Learn
J'ai essayé de représenter graphiquement les packages installés en Python
Je souhaite intégrer une variable dans une chaîne Python
J'ai essayé de résumer comment utiliser matplotlib de python
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
Je veux écrire en Python! (2) Écrivons un test
Je veux échantillonner au hasard un fichier avec Python
J'ai essayé d'implémenter le perceptron artificiel avec python
Je veux travailler avec un robot en python.
J'ai essayé de résumer comment utiliser les pandas de python
[Python] J'ai essayé d'obtenir Json de squid ring 2
J'ai essayé d'utiliser Python (3) au lieu d'un calculateur de fonctions
J'ai essayé d'implémenter le calcul automatique de la preuve de séquence
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé d'implémenter PCANet
J'ai essayé d'implémenter StarGAN (1)
[Python & SQLite] J'ai analysé la valeur attendue d'une course avec des chevaux dans la fourchette 1x win ①
J'ai essayé d'implémenter une ligne moyenne mobile de volume avec Quantx
J'ai essayé de mettre en œuvre le modèle de base du réseau neuronal récurrent
J'ai essayé de trouver l'entropie de l'image avec python
J'ai fait un jeu de frappe simple avec tkinter de Python