#python
#питон
Вопрос:
Я пытаюсь создать эту игру, в которой улитка «@» будет двигаться в нужном вам направлении в этом поле. Когда он перемещается в пространство, он оставляет за собой след. «_ «. Я закодировал его так, чтобы он мог двигаться вправо, но я не уверен, что нужно изменить, чтобы он мог двигаться вниз.
column = int(input("column")) gameField = [] for i in range(row): gameField.append([]) for j in range(column): gameField[i].append(" ") def printField(listField): for i in listField: for j in i: print(j, end= " ") print() curRow = 0 curCol = 0 gameField[curRow][curCol] = "@" game = True while game: direction = input("wasdq") if direction == "q": game = False elif direction == "d": if curCol 1 == column: print("try again") else: gameField[curRow][curCol] = "_" curCol = 1 gameField[curRow][curCol] = "@" printField(gameField) elif direction == "s": if curCol 1 == column: print("try again") else: gameField[curRow][curCol] = "_" curCol = curCol - 1 gameField[curRow][curCol] = "@" printField(gameField)
Ответ №1:
Для начала, ваши пользовательские подсказки не очень понятны. Я бы сказал что-то вроде
columns = int(input("Enter Columns: "))
И что-то подобное wasdq
, потому что я понятия не имею, что мне с этим делать.
Но в любом случае, если изменение столбца перемещает вашу улитку влево и вправо, как вы перемещаете улитку вверх и вниз?
matrix = [[0, 1, 2], [3, 4, 5], [6, 7, 8]] # This is a matrix that looks like # [0, 1, 2] # [3, 4, 5] # [6, 7, 8] zero = matrix[0][0] one = matrix[0][1] three = matrix[1][0] four = matrix[1][1]
Если бы ваша улитка жила на матрице, перемещение вправо было бы эквивалентно перемещению из ячейки 0 в ячейку 1 (как один пример), а перемещение вниз было бы эквивалентно перемещению из ячейки 0 в ячейку 3 (как один пример).