ゼロで満たされた行列を作成するこのコードがあります。いくつかのゼロを、スネークオブジェクトを作成するときに指定される「記号」に置き換えたいと思います。次に、マトリックス内の要素の合計量を増やすことなく、マトリックス内のゼロを自分の符号に置き換えたいと思います。
snakeクラスの「growth」関数を使用して、ゼロのみが上書きされることを確認したいのですが、エラーが発生します。
ValueError: (1, 4) is not in list
私がその位置が実際に存在すると確信しているとき!座標はランダムに生成されるため、プログラムを実行するたびにエラーコードが異なります。これが私のコードです:
class field:
def __init__(self):
self.table= [ [ "0" for i in range(10) ] for j in range(10) ]
def printfield(self):
for row in self.table:
print (row)
Class snake:
def __init__(self,sign):
self.sign = sign
self.x = random.randint(1,9)
self.y = random.randint(1,9)
field.table[self.x][self.y] = sign
def growth(self, list, index, element):
if list[index] != 0:
return False
else:
field.table[self.x-v*b][self.y-v*c] = element
def increase(self,p,b,c):
for v in range(p+1):
self.growth(field.table,field.table.index((self.x-v*b,self.y-v*c)), self.sign)