【发布时间】:2018-07-03 14:06:01
【问题描述】:
网络上的许多教程指导我如何创建具有不同大小房间等的随机生成的地图。我不想要这个,我想要一个 Isaac 风格地图的绑定,其中每个房间的大小相同并且是唯一的屏幕上的东西。
因此,我试图找到一种方法来生成地图,其中从房间池中随机选择的一组 8-10 个房间被挑选出来并组合在一起以创建地图。
我试过这样做,但还没有成功。这是我用来尝试让事情变得随机的代码
def main():
rooms = []
room = Room1()
rooms.append(room)
room = Room2()
rooms.append(room)
room = Room3()
rooms.append(room)
room = Room4()
rooms.append(room)
current_room_no = random.randint(0, 2)
current_room = rooms[current_room_no]
# Game Logic
player.move(current_room.wall_list)
if player.rect.x < -15:
if current_room_no == 0:
current_room_no = random.randint(0, 3)
current_room = rooms[current_room_no]
player.rect.x = 790
elif current_room_no == 3:
current_room_no = random.randint(0, 3)
current_room = rooms[current_room_no]
player.rect.x = 790
elif current_room_no == 2:
current_room_no = random.randint(0, 3)
current_room = rooms[current_room_no]
player.rect.x = 790
else:
current_room_no = 0
current_room = rooms[current_room_no]
player.rect.x = 790
if player.rect.x > 801:
if current_room_no == 0:
current_room_no = random.randint(0, 3)
current_room = rooms[current_room_no]
player.rect.x = 0
elif current_room_no == 1:
current_room_no = random.randint(0, 3)
current_room = rooms[current_room_no]
player.rect.x = 0
elif current_room_no == 2:
current_room_no = random.randint(0, 3)
current_room = rooms[current_room_no]
player.rect.x = 0
else:
current_room_no = 0
current_room = rooms[current_room_no]
player.rect.x = 0
如果需要更多代码,请告诉我!
【问题讨论】:
-
从您的代码中不太清楚您正在尝试做什么确切,因为您已经排除了 Room1 等功能的许多代码。此外,如果您遇到特定问题,通常会使用 StackOverflow,而不仅仅是想知道该去哪里。在尝试自己的项目之前,尽可能密切关注教程是个好主意,确保您了解所有内容。如果您想继续 - 请记住这将很难完成 - 请继续直到遇到特定问题,您可以追踪到代码的一小部分,然后询问。
-
别担心!从现在开始我一定要这样做。
标签: python dictionary random pygame