Лучший способ создать ti c ta c toe ascii art - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь программно сгенерировать ascii art для игры ti c ta c toe. На данный момент у меня есть:

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

, который печатает пустую доску:

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

"""

Теперь я хотел бы добавить представление «ascii art» для O или X в сетку, где игрок спрашивает. Есть ли простой способ, которым я могу программно сделать это?

Конкретно эти строки:

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

Спасибо.

1 Ответ

1 голос
/ 27 апреля 2020

Благодаря комментарию @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     |               |              
______________________________________________
               |               |              
               |      %%       |              
               |    %%  %%     |              
               |  %%      %%   |              
               |%%          %% |              
               |  %%      %%   |              
               |    %%  %%     |              
               |      %%       |              
______________________________________________
               |               |              
               |               |              
               |               |              
               |               |              
               |               |              
               |               |              
               |               |              

...