Я новичок в Python и программировании, и у меня возникла проблема с одной из задач моего курса программирования.
Мне нужно создать игру, в которую можно будет играть по сетке 6 × 6. Сетка будет представлять карту, и герой игры начнет с позиции (0,0). Также при запуске предметы будут случайным образом размещаться на уникальных позициях в сетке. Они представлены в виде букв / символов. (например, "S", "R", "*")
У меня есть несколько проблем с этим.
1) Я не уверен, как разместить героя ("H") на сетке.
2) Я не знаю, как получить элементы случайно в сетке.
Может ли кто-нибудь помочь мне с этим? Вот как я создал свою сетку:
board = []
def print_board(board):
for x in range(6):
board= (["-"] * 6)
print(" ".join(board))
return board
print_board(board)
И вот что я пытался поместить героя в сетку:
board[0][0] = "H"
Однако я не уверен, куда мне поместить этот фрагмент кода / если он даже правильный. Кроме того, я должен иметь возможность «двигать» героя (спрашивая игрока, хотят ли они двигаться влево / вправо / вверх / вниз). Вероятно, для этого требуется сначала функция, запрашивающая у игрока направление, а затем цикл for для выполнения движения, верно?
Это курс для начинающих, поэтому я думаю, что какой бы ни был ответ, он, вероятно, довольно прост. Я просто не могу обернуть голову вокруг этого. Заранее спасибо.
EDIT
Извините за беспокойство, я тоже новичок здесь. Во всяком случае, я попробовал это:
def PlaceItem(board, item):
for i in range(len(board)-1):
board[x] = randint(0,len(board) - 1)
board[y] = randint(0,len(board) - 1)
if board[x] == "-" and board[y] == "-":
board[x][y] = item
print(board)
else:
continue
return board
Я ранее определил предметы (например, меч = "S"). Затем я вызвал функцию как PlaceItem (доска, меч). Не работает, поэтому я предполагаю, что что-то не так.