生成井字音ascii艺术的最佳方法。

问题描述 投票:0回答:1

我正在尝试为一个井字游戏编程生成ascii艺术。到目前为止,我有。

display = ""
for i in range(0,30):
    if i == 10 or i == 20: #If on horzontal break
        for j in range(45):
                display += "_"
        display += '\n'
    else:
        for j in range(0,45):
            if j == 15 or j == 30: #If on a vertical break
                display += "|"
            else:
                display += " "
        display += '\n

打印出一个空棋盘

"""
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |              
               |              |
_____________________________________________
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
_____________________________________________
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |
               |              |

"""

我现在想在玩家问话的格子里添加一个O或X的 "ascii艺术 "表示。有什么简单的方法可以让我在程序上做到这一点吗?

特别是这些字符串。

"""
        ?8888P
         `88'
    8b,_  88  _,d8
    88888SEAL88888
    8P~   88   ~?8
         ,88.
        d8888b
"""
"""
       ____
     ,' __ `.
    / ,'  `. \
    | | () | |
    \ `.__,' /
     `.____,`
"""

谢谢你

python python-3.x tic-tac-toe
1个回答
1
投票

感谢@Thomas的评论,我设法让这个工作,所以回来把答案贴出来,以防对其他人有帮助。

def putXInSquare(num):

    cross =  [[' ',' ',' ',' ','?','8','8','8','8','P',' ',' ',' ',' '],#0
              [' ',' ',' ',' ',' ','`','8','8','`',' ',' ',' ',' ',' '],#1
              ['8','b',',','_',' ',' ','8','8',' ',' ','_',',','d','8'],#2
              ['8','8','8','8','8','S','I','C','K','8','8','8','8','8'],#3
              ['8','P','~',' ',' ',' ','8','8',' ',' ',' ','~','?','8'],#4
              [' ',' ',' ',' ',' ',',','8','8','.',' ',' ',' ',' ',' '],#5
              [' ',' ',' ',' ','d','8','8','8','8','b',' ',' ',' ',' ']]#6


    if num == 1:
        iOffset = 0
        jOffset = 0
    if num == 2:
        iOffset = 0
        jOffset = 16
    if num == 3:
        iOffset = 0
        jOffset = 32
    if num == 4:
        iOffset = 9
        jOffset = 0
    if num == 5:
        iOffset = 9
        jOffset = 16
    if num == 6:
        iOffset = 9
        jOffset = 32
    if num == 7:
        iOffset = 17
        jOffset = 0
    if num == 8:
        iOffset = 17
        jOffset = 16
    if num == 9:
        iOffset = 17
        jOffset = 32

    for i in range(iOffset, iOffset + 7):
        for j in range(jOffset, jOffset + 14):
            board[i+1][j] = cross[i - iOffset][j - jOffset]

这将在给定的位置上产生一个交叉,看起来像这样。

               |               |              
    ?8888P     |               |              
     `88`      |               |              
8b,_  88  _,d8 |               |              
88888SICK88888 |               |              
8P~   88   ~?8 |               |              
     ,88.      |               |              
    d8888b     |               |              
______________________________________________
               |               |              
               |      %%       |              
               |    %%  %%     |              
               |  %%      %%   |              
               |%%          %% |              
               |  %%      %%   |              
               |    %%  %%     |              
               |      %%       |              
______________________________________________
               |               |              
               |               |              
               |               |              
               |               |              
               |               |              
               |               |              
               |               |              

© www.soinside.com 2019 - 2024. All rights reserved.