Игра-улитка с использованием двумерной структуры данных и циклов

#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 (как один пример).