Zeigen Sie Spielkarten in der Pythonista + -Szene nach dem Zufallsprinzip an

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

So erstellen Sie eine Spielkarte

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.

Implementierungsbeispiel

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 ()

So zeigen Sie Spielkarten auf dem Bildschirm an

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

Recommended Posts

Zeigen Sie Spielkarten in der Pythonista + -Szene nach dem Zufallsprinzip an
Besiege ui.View.flex in Pythonista3
Zeigen Sie den Fahrplan des Morioka-Busortungssystems in Pythonista an