Pythonista+scene에서 무작위로 트럼프 보이기
절차 개요는 아래와 같다.
· 53장 중 무작위로 카드 5장 뽑기
• 스마트폰 화면 터치 후 다시 라카
어떻게 카드 처리를 만듭니까
우선 53장(화패+조커 13장씩)의 포커 세트를 만든다.
표기+숫자 형식으로 문자열을 만들어 카드 목록의 배열에 저장합니다.
태그는 Clubs, Hearts, Spades, Diamonds를 사용하여 Pythonista의 카드 이미지와 일치합니다.
구현 예
※ 2020/01/06 수정
card_list.append () 의 위치가 벗어났기 때문에 수정했습니다.
class TrumpGame:
def make_card_list(self):
# マークのリスト
symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds']
# カードリスト
card_list = ['Joker']
# マークと数字を合体させる
for symbol in symbol_list:
for number in range(1, 14):
# 11以上と1は置き換え
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以下ならそのまま
card = symbol + str(number)
# カードをリストに追加
card_list.append(card)
return card_list
그리고 카드를 함수로 카드 세척 처리를 만듭니다.randam.shuffle () 를 사용하면 간단하게 카드를 세척할 수 있습니다.
◆ 설치 예
def shuffle(self, card_list):
# カードをシャッフルする
random.shuffle(card_list)
return card_list
관련 기사 >【Python】random.shuffle () 의 활용 예 어떻게 화면에 포커를 표시합니까
카드 종류를 호출하여 카드 목록을 만듭니다.
그리고 5장을 고르세요.
class MyScene (Scene):
def setup(self):
# 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枚ピックアップ
for i in range(0, 5):
self.draw_cards.append(
self.card_list.pop(0)
)
다음은 회화 처리의 제작이다.SpriteNode()에서 카드를 전달하는 문자열,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)
카드 제작과 씬 처리 코드를 정리하면 다음과 같다.
from scene import *
import random
class MyScene (Scene):
def setup(self):
# バックグラウンド設定
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枚引く処理
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)
)
# カードを交換する処理
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):
# マークのリスト
symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds']
# カードリスト
card_list = ['Joker']
# マークと数字を合体させる
for symbol in symbol_list:
for number in range(1, 14):
# 11以上と1は置き換え
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以下ならそのまま
card = symbol + str(number)
# カードをリストに追加
card_list.append(card)
return card_list
def shuffle(self, card_list):
# カードをシャッフルする
random.shuffle(card_list)
return card_list
if __name__ == '__main__':
run(MyScene(), show_fps=False)
◆ 실행 예지금까지 Pythonista+scene으로 포커를 제작한 처리입니다.
Pythonista에 관해서도 블로그에 정리가 있습니다.
Pythonista의 사용 방법 요약
나는 블로그에서 파이썬스타로 만든 포커 제작 강좌를 했다.
Pythonista+scene 포커 제작 강좌
Reference
이 문제에 관하여(Pythonista+scene에서 무작위로 트럼프 보이기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/miyabikno/items/7dafa1ce823a7c92496f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)