我知道这是与游戏设计相关的,但我已经阅读了 StackOverflow 常见问题解答,其中指出可以在此处询问软件算法问题。如果这在游戏设计中更好,那么我希望有人可以帮助我移动它,谢谢!
我正在设计一个多线程程序地牢生成器。但是,我想知道我可能会遇到什么样的问题——我无法找到许多清楚地显示多线程的算法。
我有三个必须创建的不同对象。一个包含多个“房间”的“世界”,每个房间都将容纳潜在的“对象”。
当前算法的工作原理如下:
Step 1: Generate World
Step 2: Generate Rooms and Objects concurrently
World 包含一个房间列表和一个“可用对象列表”。Room 创建方法将生成房间并将它们添加到 World 的房间列表中。-- Object 创建过程不会以任何方式与 Room 过程通信。相反,对象创建过程将从世界的房间列表中选择随机房间并在房间中生成随机对象。
我看到的唯一问题是——如果对象创建过程过早完成。换句话说,房间列表中只有一些房间会在其中创建对象,因为房间创建过程晚于对象创建过程完成。
是否还有更多问题,是否有人对开发此类算法有任何建议或经验?