Cette fois, j'ai créé un processus pour afficher les cartes à jouer dans la scène Pythonista.
Les grandes lignes du programme sont les suivantes. ・ Piochez 5 cartes au hasard parmi 53 cartes ・ Touchez l'écran du smartphone pour redessiner la carte
Tout d'abord, créez un jeu de 53 cartes (13 cartes illustrées + joker). Créez une chaîne de caractères sous la forme de marque + numéro et stockez-la dans le tableau de liste Trump.
Mark utilise "Clubs", "Coeurs", "Pique" et "Diamants" pour correspondre à l'image de la carte Pythonista.
class TrumpGame: def make_card_list(self): Liste de # marques symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds'] # Liste de cartes card_list = ['Joker'] Combiner # marque et numéro for symbol in symbol_list: for number in range(1, 14): # 11 et plus et 1 sont remplacés 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 ou moins tel quel card = symbol + str(number) #Ajouter une carte à la liste card_list.append(card) return card_list
Ensuite, créez la carte en tant que fonction de lecture aléatoire.
Vous pouvez facilement créer une lecture aléatoire en utilisant random.shuffle ().
◆ Exemple de mise en œuvre
def shuffle(self, card_list): #Mélanger cartes random.shuffle(card_list) return card_list
Articles connexes >> [Python] Exemple d'utilisation de random.shuffle ()
Appelez la classe Trump pour créer une liste de cartes. Ensuite, prenez 5 pièces.
class MyScene (Scene): def setup(self): Créez une liste de cartes en appelant la classe #TrumpGame () self.tg = TrumpGame() self.card_list = self.tg.make_card_list() self.card_list = self.tg.shuffle(self.card_list) self.draw_cards = [] # 5 ramassage for i in range(0, 5): self.draw_cards.append( self.card_list.pop(0) )
Vient ensuite la création du processus de dessin. Passez la chaîne de la carte avec SpriteNode () et dessinez-la à l'écran avec add_child ().
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)
Vous trouverez ci-dessous le code qui résume la création de Trump et le traitement de la scène.
from scene import * import random class MyScene (Scene): def setup(self): # Paramètres d'arrière-plan 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 processus de dessin de feuilles 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) ) #Le processus d'échange de cartes 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 de # marques symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds'] # Liste de cartes card_list = ['Joker'] Combiner # marque et numéro for symbol in symbol_list: for number in range(1, 14): # 11 et plus et 1 sont remplacés 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 ou moins tel quel card = symbol + str(number) #Ajouter une carte à la liste card_list.append(card) return card_list def shuffle(self, card_list): #Mélanger cartes random.shuffle(card_list) return card_list if __name__ == '__main__': run(MyScene(), show_fps=False)
◆ Exemple d'exécution
Il s'agit du processus de création d'une carte à jouer avec la scène Pythonista +.
Pythonista est également résumé dans le blog. Résumé de l'utilisation de Pythonista
J'ai fait un cours de poker avec Pythonista sur mon blog. Cours de création de poker de scène Pythonista +