我一直有一些随机生成地图的问题。尽管它似乎生成地图很好,但是游戏的运动被颠倒了,我认为这是因为倒置生成的问题。
我找到了一种方法来修复它,但是它需要在运动的可怕if语句中反转所有的X和Y,这很糟糕。
tilemap=[[grass for w in range(MAPWIDTH)] for h in range(MAPHEIGHT)]
DISPLAYSURF=pygame.display.set_mode((MAPWIDTH*TILESIZE, MAPHEIGHT*TILESIZE))
def mapGen():
for cl in range(MAPWIDTH):
for rw in range(MAPHEIGHT):
randomNumber=random.randint(1,100)
if randomNumber>=1 and randomNumber<=20:
tile=dirt
elif randomNumber>=21 and randomNumber<=100:
tile=grass
tilemap[rw][cl]=tile
def start():
mapGen()
while True:
events()
for cl in range(MAPWIDTH):
for rw in range(MAPHEIGHT):
pygame.display.set_caption('Invert')
DISPLAYSURF.blit(Tile.t[tilemap[cl][rw].ID].texture, (rw*TILESIZE,cl*TILESIZE))
DISPLAYSURF.blit(PLAYER.texture,(PLAYER.y*TILESIZE, PLAYER.x*TILESIZE))
pygame.display.update()
start()
这与地图生成有关。
我确定这不是玩家的动作,因为我已经测试了它认为每个瓷砖的位置和错误。
非常感谢任何帮助或一般性建议。
谢谢!