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