我试图使用pygame制作滑动益智游戏,而且我在交换两个游戏时遇到问题。目前我想检查所需的图块(tilemap [tileh] [tilew]在这种情况下是否有一个空白图块(id 0)。如果是的话,我希望这两个图块的值交换。这是什么我现在有:
tilew = 1
tileh = 1
adjacent = [tilemap[tileh][tilew+1],tilemap[tileh][tilew-1],tilemap[tileh+1][tilew],tilemap[tileh-1][tilew]]
for x in adjacent:
if x == 0:
x = tilemap[tilew][tileh]
tilemap[tilew][tileh] = 0
然而,不是将x tilemap位置指定为新值,而是将x的tilemap值指定为等于新值。如果图块不是中心图块,而是在边缘处,则此方法也不起作用。
我很感激任何帮助解决我当前的问题,或者其他没有中心/边缘问题的解决方案。 感谢。
答案 0 :(得分:0)
我不确定这是否可以解决您的问题,但如果您想尝试交换两个磁贴,您是否需要占位符?
与使用冒泡排序时一样,您有一个“临时”占位符来存储特定值,以便可以进行交换。