Dieses Mal habe ich einen Prozess zum Anzeigen von Spielkarten in der Pythonista-Szene erstellt.
Der Umriss des Programms ist wie folgt. ・ Ziehe zufällig 5 Karten aus 53 Karten ・ Berühren Sie den Smartphone-Bildschirm, um die Karte neu zu zeichnen
Erstellen Sie zunächst einen Kartensatz mit 53 Karten (13 Bildkarten + Joker). Erstellen Sie eine Zeichenfolge in Form von Mark + Number und speichern Sie sie im Trump-Listenarray.
Mark verwendet "Clubs", "Hearts", "Spades" und "Diamond", um das Pythonista-Kartenbild abzugleichen.
class TrumpGame: def make_card_list(self): Liste der # Markierungen symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds'] #Kartenliste card_list = ['Joker'] Kombinieren Sie # Marke und Nummer for symbol in symbol_list: for number in range(1, 14): # 11 und höher und 1 werden ersetzt if number == 1: card = symbol + 'A' elif number == 11: card = symbol + 'J' elif number == 12: card = symbol + 'Q' elif number == 13: card = symbol + 'K' else: # 10 oder weniger wie es ist card = symbol + str(number) #Karte zur Liste hinzufügen card_list.append(card) return card_list
Erstellen Sie als Nächstes die Karte als Funktion zum Mischen.
Mit random.shuffle () können Sie ganz einfach ein Shuffle erstellen.
◆ Implementierungsbeispiel
def shuffle(self, card_list): # Karten mischen random.shuffle(card_list) return card_list
Verwandte Artikel >> [Python] Beispiel für die Verwendung von random.shuffle ()
Rufen Sie die Trump-Klasse an, um eine Kartenliste zu erstellen. Dann 5 Stück aufheben.
class MyScene (Scene): def setup(self): Erstellen Sie eine Kartenliste, indem Sie die Klasse #TrumpGame () aufrufen self.tg = TrumpGame() self.card_list = self.tg.make_card_list() self.card_list = self.tg.shuffle(self.card_list) self.draw_cards = [] Abholung Nr. 5 for i in range(0, 5): self.draw_cards.append( self.card_list.pop(0) )
Als nächstes wird der Zeichenprozess erstellt. Übergeben Sie die Kartenzeichenfolge mit SpriteNode () und zeichnen Sie sie mit add_child () auf den Bildschirm.
self.items = [] for i,card in enumerate(self.draw_cards): item = SpriteNode('card:' + card) item.anchor_point = (0.5, 0) item.position = (80 + i * 50, 350) self.add_child(item) self.items.append(item)
Unten finden Sie den Code, der die Trump-Erstellung und Szenenverarbeitung zusammenfasst.
from scene import * import random class MyScene (Scene): def setup(self): # Hintergrundeinstellungen self.background_color = '#004f82' ground = Node(parent=self) self.tg = TrumpGame() self.make_draw_cards() self.items = [] for i,card in enumerate(self.draw_cards): item = SpriteNode('card:' + card) item.anchor_point = (0.5, 0) item.position = (80 + i * 50, 350) self.add_child(item) self.items.append(item) def touch_began(self, touch): self.change_draw_cards() # 5 Blatt Zeichenprozess def make_draw_cards(self): self.card_list = self.tg.make_card_list() self.card_list = self.tg.shuffle(self.card_list) self.draw_cards = [] for i in range(0, 5): self.draw_cards.append( self.card_list.pop(0) ) #Der Prozess des Kartenaustauschs def change_draw_cards(self): self.make_draw_cards() for i,card in enumerate(self.draw_cards): self.items[i].texture = Texture('card:' + card) class TrumpGame: def make_card_list(self): Liste der # Markierungen symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds'] #Kartenliste card_list = ['Joker'] Kombinieren Sie # Marke und Nummer for symbol in symbol_list: for number in range(1, 14): # 11 und höher und 1 werden ersetzt if number == 1: card = symbol + 'A' elif number == 11: card = symbol + 'J' elif number == 12: card = symbol + 'Q' elif number == 13: card = symbol + 'K' else: # 10 oder weniger wie es ist card = symbol + str(number) #Karte zur Liste hinzufügen card_list.append(card) return card_list def shuffle(self, card_list): # Karten mischen random.shuffle(card_list) return card_list if __name__ == '__main__': run(MyScene(), show_fps=False)
◆ Ausführungsbeispiel
Dies ist der Prozess zum Erstellen einer Spielkarte mit Pythonista + -Szene.
Pythonista ist auch im Blog zusammengefasst. Zusammenfassung der Verwendung von Pythonista
Ich habe mit Pythonista einen Poker-Kurs in meinem Blog gemacht. Pythonista + Szene Poker Erstellungskurs