-2
私は、ユーザーが上下左右に移動したい値を入力し、グリッドがXを正しい位置に再現するゲームを作ろうとしています。これは宝探しです。有効な移動を入力すると、プログラムは失敗したり、Xをランダムな場所に配置したりします。問題は、各列と行の番号がわからないという事実と関係していると思います。あなたは両方のwhile
間違っていPython Grid Treasure Hunt
会
Move = 0
from random import randint
GridSize = 8
board = []
for x in range(8):
board.append(["O"] * GridSize)
def print_board(board):
for row in board:
print(" ".join(row))
Player_Row = GridSize - 1
Player_Col = 0
def random_row(board):
return randint(0, len(board) - 1)
def random_col(board):
return randint(0, len(board[0]) - 1)
board[Player_Row][Player_Col] = "X"
print_board(board)
while 1:
# Player Moving Up #
Player_Row_Add = 123
while (0 >(Player_Row - Player_Row_Add) < (GridSize -1)):
try:
Player_Row_Add = int(input("How many squares up do you want to go?"))
except ValueError as ex:
print(ex)
# Player Moving Down #
Player_Col_Add = 123
while (0 >(Player_Col_Add + Player_Col)> (GridSize -1)):
try:
Player_Col_Add = int(input("How many squares along do you want to go?"))
except ValueError as ex:
print(ex)
Player_Row = Player_Row - Player_Row_Add
Player_Col = Player_Col + Player_Col_Add
board[Player_Row][Player_Col] = "X"
Move = Move + 1
print_board(board)
が必要になります
not
なければを理解することが容易であり、一方(0>(Player_Row - Player_Row_Add)<(グリッド寸法-1)): '。もっと情報が必要です(エラーメッセージ/スタックトレース) –
Pythonでゲームをデザインする場合は、[pygame](http://www.pygame.org/wiki/about)モジュールをチェックしてみてください。それは、いくつかの事で車輪を再発明することからあなたを救うかもしれません:) –
私はプログラムがXがグリッドから投げられないことを意味する動きを受け入れるように、それを取得しようとしていました。列の順序付けのために、加算よりも減算の合計を持つ方が意味がありました。私は研究しましたが、Pythonでは列と行の番号付け方法についてまだ混乱しています。 – Ravenclaw