Ich habe versucht, Trumps Kartenspiel in Python zu implementieren

Einführung

Als Einführung in Python werde ich versuchen, einen "Blackjack" für Abschlussprüfungen von Programmieranfängern zu entwickeln. Die Anforderungen werden unverändert verwendet. Es gibt einige unbekannte Punkte, also ist es gut, dies hier zu tun! Ich möchte, dass Sie kommentieren, dass es so etwas gibt!

Was ich vor der Implementierung gemacht habe

Um die Syntax von Python zu lernen, habe ich mich auf Folgendes bezogen.

Ich wollte vor dem maschinellen Lernen etwas in Python implementieren, also habe ich eine Einführung in Python gemacht

Über die Implementierung

Vor dem Blackjack-Spiel dachte ich, ich brauche die Funktion des Trump-Decks, das die Grundlage des Kartenspiels bildet, also werde ich von dort aus beginnen.

Kartenklasse

Rufen Sie die Karteninformationen ab, indem Sie der aus der Kartenklasse generierten Instanz eine Markierung und ein Zahlenargument geben.

card.py


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


class Card:
    """
Markierungen und Nummern der Ausgabekarte
    Attributes
    ----------
    card_mark : int
Kartenmarkierung (♠ ♠ ♦ ︎ ♣ ︎)
    card_value : int
Kartennummern
    """

    #Kennzeichen
    MARKS = ("♠︎-", "❤︎-", "♦︎-", "♣️-")
    #Zahlen
    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
Kartenmarkierung (♠ ♠ ♦ ︎ ♣ ︎)
        card_value : int
Kartennummern
        """
        self.mark = card_mark
        self.value = card_value

    #Überschreiben und ändern Sie die Ausgabe der Instanz
    def __repr__(self):
        return self.MARKS[self.mark] + str(self.VALUES[self.value])

Wenn Sie die obige Kartenklasse alleine ausführen, ist dies wie folgt. Der Ausgabeinhalt der Instanz wird mit der Repr-Methode geändert.

#Erstellen Sie eine Instanz aus der Kartenklasse (markieren und nummerieren Sie als Argumente)
#Da der Ausgabeinhalt durch die Repr-Methode geändert wird, wird er wie folgt ausgegeben
#Normal →<__main__.Card object at 0x10c949310>
#Repr-Methode hinzufügen → ♦ ︎-4

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

Deckklasse

Verwenden Sie die Kartenklasse, um eine zufällige Liste mit 52 Karten pro Deck zu erstellen.

deck.py


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

#Kartenklasse
import card
#Shuffle-Listenelemente
from random import shuffle


class Deck:
    """
Erstelle 52 Trumpfkarten (1 Deck)
    Attributes
    ----------
    deck_set_no : int
Anzahl der Decks
    """

    def __init__(self, deck_set_count=1):
        """
        Parameters
        ----------
        deck_set_count : int
Anzahl der Decks
        """

        self.cards = []
        for index in range(deck_set_count):
            #4 Punkte
            for mark in range(len(card.Card.MARKS)):
                #Zahlen (2 bis 13+1 von 14)
                for value in range(len(card.Card.VALUES)):
                    #Zu Karten hinzufügen
                    self.cards.append(card.Card(mark, value))
        #Mische das Deck
        shuffle(self.cards)

    def get_card(self, card_num=1):
        """
Holen Sie sich das Element und entfernen Sie es aus der Liste
        Parameters
        ----------
        card_num : int
Anzahl der zu erhaltenden Karten
        """
  
        self.card_list = []
        if len(self.cards) == 0:
            #Tun Sie nichts, wenn 0 Karten vorhanden sind
            return

        #self.Karte vom Ende in Karten_Holen Sie sich num Minuten und löschen Sie aus der Liste
        for index in range(card_num):
            self.card_list.append(self.cards.pop())
        return self.card_list

Wenn Sie die Deck-Klasse ausführen, ist dies wie folgt.

#Generiere zwei 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)

#Anzahl der Karten 104
print(len(deck.cards))

#Ziehe 5 Karten[♣︎-2, ❤︎-2, ♣︎-2, ♦︎-4, ❤︎-1]
#Die gezogene Karte wird aus der Liste entfernt
print(deck.get_card(5))

Damit sind das Deck von Trump und die Funktion des Kartenziehens implementiert!

Nächstes Mal möchte ich die Datenaufbewahrung von Player und Dealer zusammenfassen!

Recommended Posts

Ich habe versucht, Trumps Kartenspiel in Python zu implementieren
Ich habe versucht, das Blackjack of Trump-Spiel mit Python zu implementieren
Ich habe versucht, mit Python ein Tippspiel zu spielen
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
Ich habe versucht, TOPIC MODEL in Python zu implementieren
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
Ich möchte Timeout einfach in Python implementieren
Ich habe versucht, Drakues Poker in Python zu implementieren
Ich habe versucht, ein scheinbar Windows-Snipper-Tool mit Python zu implementieren
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren
Ich habe versucht, ein missverstandenes Gefangenendilemma in Python zu implementieren
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Implementieren Sie einen deterministischen endlichen Automaten in Python, um Vielfache von 3 zu bestimmen
Ich habe versucht zu beheben "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren"
Ich möchte mit Python ein Fenster erstellen
Ich möchte ein Spiel mit Python machen
Ich habe versucht, die Bayes'sche lineare Regression durch Gibbs-Sampling in Python zu implementieren
Ich habe versucht, einen Formatierer zu entwickeln, der Python-Protokolle in JSON ausgibt
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Ich habe versucht, ein Python 3-Modul in C hinzuzufügen
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, die Zusammenführungssortierung in Python mit möglichst wenigen Zeilen zu implementieren
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
[Python] Deep Learning: Ich habe versucht, Deep Learning (DBN, SDA) ohne Verwendung einer Bibliothek zu implementieren.
[Azure] Ich habe versucht, eine virtuelle Linux-Maschine mit Azure von Microsoft Learn zu erstellen
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich möchte eine Variable in einen Python-String einbetten
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich möchte eine Datei mit Python zufällig testen
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
Ich möchte mit einem Roboter in Python arbeiten.
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
[Python] Ich habe versucht, Json von Tintenfischring 2 zu bekommen
Ich habe versucht, Python (3) anstelle eines Funktionsrechners zu verwenden
Ich habe versucht, einen automatischen Nachweis der Sequenzberechnung zu implementieren
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, PCANet zu implementieren
Ich habe versucht, StarGAN (1) zu implementieren.
[Python & SQLite] Ich habe den erwarteten Wert eines Rennens mit Pferden im 1x-Gewinnbereich ① analysiert
Ich habe versucht, mit Quantx eine Linie mit gleitendem Durchschnitt des Volumens zu implementieren
Ich habe versucht, das grundlegende Modell des wiederkehrenden neuronalen Netzwerks zu implementieren
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht