python - 地牢爬行 - 地图
问题描述
网络上的很多教程指导我如何创建具有不同大小房间等的随机生成的地图。我不想要这个,我想要一个 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
让我知道是否需要更多代码!
解决方案
希望我能在你的游戏中再次发挥作用。有一个特定的函数可以获取一组数字并根据需要获取尽可能多的数字。假设您希望它选择两个具有六个值的数字。首先你必须import random
然后你必须random.sample(set([1, 2, 3, 4, 5, 6]), 2)
。这将选择 1 到 6 之间的两个值。你可以在你的游戏中做同样的事情,切换变量的数字。每个房间的。您可以将它们作为数字,但数字1
可以是Room1
等等。
希望这可以帮助!
推荐阅读
- string - Out-GridView(powershell 4)中的额外空列?
- json - JSON数据未在IONIC和ANJULAR中首次获取
- android - 如何为基隆迪语做语言翻译?
- c - 将 -static 与 GCC 一起使用可以保证我的 C 程序可以跨 x86 发行版运行吗?
- css - 使用 Selenium Web 驱动程序获取产品名称时出现 InvalidSelector 错误
- sql-server - 将表情符号添加到 SQL Server 2017
- php - 如何在 PHP 的数组中获取特定键的出现次数?
- apollo-server - 您正在使用旧的 Content Type Parser 函数签名
- rust - 无法使用 f32.rs 函数,链接器错误
- java - 我们可以用Java解密mysql加密数据吗