我正在尝试为一个人创建一个 Yahtzee 游戏,使用随机数作为骰子等
我已经这样做了,但我想“漂亮”游戏,所以我想使用 ASCII 骰子,而不是一个挨一个地输出五个随机整数。
这是我目前测试这个的尝试
def DiceFive():
print ("-----")
print ("|o o|")
print ("| o |")
print ("|o o|")
print ("-----", end="")
def DiceSix():
print ("-----")
print ("|o o|")
print ("|o o|")
print ("|o o|")
print ("-----", end="")
DiceSix()
DiceFive()
然而,这输出奇怪,
-----
|o o|
|o o|
|o o|
----------
|o o|
| o |
|o o|
-----
我的目标是让它看起来像这样
----- -----
|o o| |o o|
|o o| | o |
|o o| |o o|
----- -----
有什么建议?
最佳答案
我将骰子放入包含骰子行(字符串)的元组列表中。然后你可以迭代骰子的高度(在这种情况下为 5),所以你从索引 0 开始,然后迭代滚动的骰子并打印第一个骰子的第一行,然后是第二个骰子的第一行和很快。
DICE = [
("-----",
"| |",
"| o |",
"| |",
"-----",),
("-----",
"|o |",
"| |",
"| o|",
"-----",), # etc.
]
rolled_dice = (1, 2)
for i in range(5): # 5 is the height of the die.
for die in rolled_dice:
# Now get the corresponding die in the DICE list
# and print its first line, then the first line of
# the next die and so on.
print(DICE[die-1][i], end=' ')
print()
关于python-3.x - 打印 ASCII 艺术彼此相邻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47014403/