Pygame数组分配错误

时间:2015-01-23 03:16:42

标签: python pygame multidimensional-array tetris

我正在研究一个俄罗斯方块克隆,一切都已经完成,但我遇到了一个我不知道如何修复的错误。我花了几天时间没有用。

发生了一段时间后,一块棋子会降落并填满其上方的所有方块。你可以在这张图片中看到我的意思:

enter image description here

我已将问题缩小到这些界限:

for row in range(4):
  for col in range(4):
    if array[row][col] != 0:
      setDead(row+self.block.pos[0], col+self.block.pos[1], 
      array[row][col])

setDead(row,col,val)在我拥有的二维数组中设置array[row][col] = val

在这些线之前一切正常,但在这些线之后添加额外的方块。这些行应该做的是从块数组复制到电路板。

我会非常感谢一些帮助,正如我所说的那样,我花了几个小时的时间。

def setDead(row, col, val):
  global dead_blocks
  dead_blocks[row][col] = val

dead_blocks是我存储所有死区的二维数组

这是一些控制台输出,这些是dead_blocks[row][col] = val之前和之后的打印语句。它看起来像在第一个赋值中,它将列中它上面的所有块设置为相同的值。

Console Ouput

正如您所看到的,只有dead_blocks[8][3]应设置为2,而是dead_blocks[8][3]dead_blocks[0][3]的方块都设置为2。< / p>

0 个答案:

没有答案