我是 Python 的新手,目前正在尝试使用 ASCII 图形来表示纸牌来创建基本的二十一点游戏。我将卡片图像放在多行字符串列表中,想法是在需要显示卡片时调用每个图像的特定索引。
但是我无法让它们并排打印,似乎再多的修补也无法让它发挥作用。这是代码:
CARDS = ['''
-------
|K |
| |
| |
| |
| K|
------- ''', '''
-------
|Q |
| |
| |
| |
| Q|
------- ''', '''
-------
|J |
| |
| |
| |
| J|
------- ''', '''
-------
|10 |
| |
| |
| |
| 10|
------- ''', '''
-------
|9 |
| |
| |
| |
| 9|
------- ''', '''
-------
|8 |
| |
| |
| |
| 8|
------- ''', '''
-------
|7 |
| |
| |
| |
| 7|
------- ''', '''
-------
|6 |
| |
| |
| |
| 6|
------- ''', '''
-------
|5 |
| |
| |
| |
| 5|
------- ''', '''
-------
|6 |
| |
| |
| |
| 6|
------- ''', '''
-------
|5 |
| |
| |
| |
| 5|
------- ''', '''
-------
|4 |
| |
| |
| |
| 4|
------- ''', '''
-------
|3 |
| |
| |
| |
| 3|
------- ''', '''
-------
|2 |
| |
| |
| |
| 2|
------- ''', '''
-------
|A |
| |
| |
| |
| A|
------- '''
]
BLANKCARD = '''
-------
|XXXXXXX|
|XXXXXXX|
|XXXXXXX|
|XXXXXXX|
|XXXXXXX|
------- '''
def displayCards():
print(CARDS[2] + CARDS[14], end='')
displayCards()
上面的代码打印如下:
-------
|J |
| |
| |
| |
| J|
-------
-------
|A |
| |
| |
| |
| A|
-------
我试过使用 end='' 来摆脱新行,但没有成功。对于如何让卡片并排放置,有人有什么建议吗?
提前致谢!
请您参考如下方法:
有趣的小问题。这是我想出的一个快速解决方案。
类卡片:
def topchar(char):
return '|{} |'.format(char)
def botchar(char):
return '| {}|'.format(char)
def print(char_list):
top = ' ------- '
side ='| |'
topout = ''
topchar = ''
botchar = ''
blankside = ''
for char in char_list:
topout += top + ' '
topchar += Card.topchar(char) + ' '
blankside += side + ' '
botchar += Card.botchar(char) + ' '
print(topout)
print(topchar)
print(blankside)
print(blankside)
print(blankside)
print(botchar)
print(topout)
