Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
219 views
in Technique[技术] by (71.8m points)

Display graphic cards next to each other in Python

I am making a card game and I want to display the cards graphically with strings. However, with my current method that are placed underneath each other. How can I put them next to each other without messing up the visuals?

def display_card(card):
    
    suit = card[0]
    value = card[1]
    
    graphic_card = (
        '┌─────────┐
'
        '│{}       │
'
        '│         │
'
        '│         │
'
        '│    {}   │
'
        '│         │
'
        '│         │
'
        '│       {}│
'
        '└─────────┘'
    ).format(
        format(value, ' <2'),
        format(suit, ' <2'),
        format(value, ' >2')
    )

    print(graphic_card)
    
 
cards= ["?2", "?3", "?4"]
for card in cards:
    display_card(card)
question from:https://stackoverflow.com/questions/65682108/display-graphic-cards-next-to-each-other-in-python

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It's probably simpler if you change your method to just return a list of the lines for the cards, then you can zip those together and print them.

def get_card(card):
    suit = card[0]
    value = card[1:]  # 1: for '10'
    return (
        '┌─────────┐
'
        '│{}       │
'
        '│         │
'
        '│         │
'
        '│    {}   │
'
        '│         │
'
        '│         │
'
        '│       {}│
'
        '└─────────┘'
    ).format(
        format(value, ' <2'),
        format(suit, ' <2'),
        format(value, ' >2')
    ).splitlines()

def display_cards(cards):
    for lines in zip(*map(get_card, cards)):
        print(*lines)
 
cards= ["?2", "?3", "?4"]
display_cards(cards)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.9k users

...