何か間違って投稿すると、これは私が質問を投稿した初めてのことです。リストに複数の値を挿入するPython/Battleship
私は戦艦ゲームをPythonで作成しており、コードの特定の部分に固執しています。私は1のサイズの船を追加することができますが、1より大きい船は追加しません。私は10x10のグリッドボードのリストと船を保持するための辞書と船のサイズを使用しました。私はこれを解決する方法を理解するのを助けることができるかもしれない親切な魂がありますか?ここに私のコードは、これまでのところです:
def comp_place_ship(comp_board):
ships = {"A": 4, "B": 3, "C": 2, "S": 2, "D": 1}
for i, j in ships.items():
x = random.randint(0,9)
y = random.randint(0,9)
place = x,y
if place != 0:
print(place)
comp_board[x][y] = i
comp_board[x+j][y] = i #THIS IS WHERE I'M STUCK
print('The computer has placed ship: ', i)
comp_place_ship(comp_board)
print("--------------------------------------------")
print("--------------------------------------------")
print_comp_board(comp_board)
編集:あなたは私が何を意味するか知っているので、あなたに出力を表示するために役立つかもしれない:This is the output
私はまた、「A」ではなく0にマークされた領域を希望します。
それがエラーを投げていますか? 'x + j> 9'のときは常にインデックスを外してしまうようです。これが起こらないようにする必要があります。あなたの船はすべて同じ向きに置かれているように見えますが、これはあなたが望むものであってもなくてもかまいません。 – dashiell
'place!= 0'は決して'偽 'になりません(言い換えれば、' place'は決して '0'にならないでしょう)。 – DeepSpace
コメントありがとうございます。それはまだエラーを投げているわけではありませんが、リスト/ボードはどのようにしたいですか。 exのために挿入されません。 4 "A"がA列、A列、0,0、A(それが意味をなさない場合)質問を編集して出力を表示します。私はオリエンテーションのコードをまだ追加していない。 – Tinadark