Python Карта игры - PullRequest
       2

Python Карта игры

0 голосов
/ 02 августа 2020
world_map = [['T', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
             [' ', ' ', ' ', 'T', ' ', ' ', ' ', ' '],\
             [' ', ' ', ' ', ' ', ' ', 'T', ' ', ' '],\
             [' ', 'T', ' ', ' ', ' ', ' ', ' ', ' '],\
             [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
             [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],\
             [' ', ' ', ' ', ' ', 'T', ' ', ' ', ' '],\
             [' ', ' ', ' ', ' ', ' ', ' ', ' ', 'K']]
x=0
y=0
def print_map(x,y,world_map):
    if world_map[y][x]=='':
        world_map[y][x]=='H'
    elif world_map[y][x]=='T':
        world_map[y][x]=='H/T'
    elif world_map[y][x]=='K':
        world_map[y][x]=='H/K'
    for i in world_map:
        print('\n'+'+---'*8+'+')
        for j in i:
            print('|{:^3}'.format(j),end='')           
    print('\n'+'+---'*8+'+')

print_map(x,y,world_map)

результат

У меня 2 вопроса:

  1. Как получить последний '|' в каждой строке карты?
  2. почему 'T' не меняется на 'H / T', когда мои x = 0 и y = 0

1 Ответ

2 голосов
/ 02 августа 2020

Q1: Как получить последний '|' в каждой строке карты?

Вы можете сделать print('|', end='') после печати каждой строки.

Q2: почему 'T' не меняется на 'H / T ', когда мои x = 0 и y = 0

Вы использовали оператор сравнения ==, а не оператор присваивания =.

Вы можете попробовать следующий код:

world_map = [['T', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
             [' ', ' ', ' ', 'T', ' ', ' ', ' ', ' '],
             [' ', ' ', ' ', ' ', ' ', 'T', ' ', ' '],
             [' ', 'T', ' ', ' ', ' ', ' ', ' ', ' '],
             [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
             [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
             [' ', ' ', ' ', ' ', 'T', ' ', ' ', ' '],
             [' ', ' ', ' ', ' ', ' ', ' ', ' ', 'K']]
x = 0
y = 0


def print_map(x, y, world_map):
    if world_map[y][x] == '':
        world_map[y][x] = 'H'
    elif world_map[y][x] == 'T':
        world_map[y][x] = 'H/T'
    elif world_map[y][x] == 'K':
        world_map[y][x] = 'H/K'
    for i in world_map:
        print('\n' + '+---' * 8 + '+')
        for j in i:
            print('|{:^3}'.format(j), end='')
        print('|', end='')
    print('\n' + '+---' * 8 + '+')


print_map(x, y, world_map)

, который печатает

+---+---+---+---+---+---+---+---+
|H/T|   |   |   |   |   |   |   |
+---+---+---+---+---+---+---+---+
|   |   |   | T |   |   |   |   |
+---+---+---+---+---+---+---+---+
|   |   |   |   |   | T |   |   |
+---+---+---+---+---+---+---+---+
|   | T |   |   |   |   |   |   |
+---+---+---+---+---+---+---+---+
|   |   |   |   |   |   |   |   |
+---+---+---+---+---+---+---+---+
|   |   |   |   |   |   |   |   |
+---+---+---+---+---+---+---+---+
|   |   |   |   | T |   |   |   |
+---+---+---+---+---+---+---+---+
|   |   |   |   |   |   |   | K |
+---+---+---+---+---+---+---+---+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...