我目前正在使用平铺地图为pygame中的游戏开发地图编辑器。该级别由以下结构的块构成(尽管更大):
level1 = (
(1,1,1,1,1,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,0,0,0,0,1)
(1,1,1,1,1,1))
其中“ 1”是一堵墙,而“ 0”是一堵空楼。
以下代码基本上是处理块类型更改的代码:
clicked = pygame.mouse.get_pressed()
if clicked[0] == 1:
currLevel[((mousey+cameraY)/60)][((mousex+cameraX)/60)] = 1
但是由于级别存储在元组中,因此我无法更改不同块的值。如何轻松更改级别中的不同值?
12
不要使用元组,只需从头开始使用列表。如果您的代码量很大,或者必须继续转换,它可能会真的减慢您的代码
—
jamylak 2013年
从一开始就使用列表而不是元组怎么样?
—
Krzysztof Bujniewicz
@ user2133308 btw只是一个兼容性说明,您应该使用整数除法,
—
jamylak
//
而不仅仅是/
因为在Python 3 /
中将执行浮点除法并弄乱您的代码。