0
グリッドを作成し、ユーザーが移動できるようにする次のコードを考え出しました。プレイヤーが2Dグリッドの外に移動することを許可しないPython 3
choice_size = 8
board = []
x = choice_size
y = x
for row in range(0,x):
board.append(["."]*y)
def print_board(board):
for row in board:
print(" ".join(row))
x = choice_size - 1
y = 0
while True:
board[x][y] = "P"
print_board(board)
board[x][y] = "."
right = ["right", "Right", "R", "r"]
left = ["Left", "left", "L", "l"]
up = ["Up", "up", "U", "u"]
down = ["Down", "down", "D", "d"]
direction_choice = input("Which direction would you like to move vertically (Up/Down)?")
if direction_choice.strip() in up:
movement_value = int(input("How far do you want to move up?"))
x = x - movement_value
elif direction_choice.strip() in down:
movement_value = int(input("How far do you want to move down?"))
x = x + movement_value
else:
print("Please ensure that you have chosen a valid option")
direction_choice = input("Which direction would you like to move horizontally (Left/Right)?")
if direction_choice.strip() in right:
movement_value = int(input("How far do you want to move right?"))
y = y + movement_value
elif direction_choice.strip() in left:
movement_value = int(input("How far do you want to move left?"))
y = y - movement_value
else:
print("Please ensure that you have chosen a valid option")
私がグリッドの底から出る移動を入力すると、エラーが発生します。そして、私はまだボードの側から反対側に移動することができます(たとえば、ボードの端から左に移動すると、ボードの右側に移動します)。 Try/Except IndexErrorを試しましたが、解決策が見つかりませんでした。
だから、Y座標のサイズにこれを比較しますX座標はそのサブリスト内の位置になりますか? –