ゲームのいくつかのクリーチャーの位置を格納するオブジェクトを作成したいと思います。
タプルのリストのリストは私には適切であるように思われました。リストのリストによって作成されたマトリックスは、ゲームのボードを表し、その要素は2つの変数(「タイプ」、数値)のタプルです。例:('h'、3)は次のことを意味します:'ここには3人の人間がいます'。
ボードを初期化する方法は次のとおりです。
>>>lines = 5
>>>columns = 5
>>>board= [[(0,0)]*lines]*columns
>>>pprint(board)
[[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)]]
それから私は私のボードに何人かの人間を入れたいです:
>>> board[2][2]=('h',3)
ボードは次のようになると思います。
[[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), ('h', 3), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0), (0, 0), (0, 0)]]
しかし、代わりに、私がそうする>>> pprint(board)
と、それは戻ります:
[[(0, 0), (0, 0), ('h', 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), ('h', 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), ('h', 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), ('h', 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), ('h', 0), (0, 0), (0, 0)]]
のすべての要素が変更されている理由がわかりませんboard
。これは非常に苛立たしいことです。私は確かにここで何かが欠けています、あなたの助けに感謝します。