【发布时间】:2016-03-17 00:00:21
【问题描述】:
我正在开发一个简单的 JS/canvas 游戏。在这个游戏中,我希望用户能够在每次由客户端根据相同的种子生成的世界中导航。因此,虽然世界是随机的,但每个用户都得到相同的结果。
因此,我正在寻找一种方法来执行以下操作:
var some_seed = "abcdefg" // For instance
function get_world_rect(ab, cd) { ... }
get_world_rect([0,0], [9,9])
// Yields the following:
[[0, 0, 0, 0, 0, 0, "some_feature", 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, "rock", 0, 0, "bush", 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, "bush", 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, "bush", 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, "rare_flower", 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
这里的两个重要部分是我希望能够每次在每个客户端上生成相同的“地图”并控制某些功能的“稀有性”。所以我可以说这张地图产生“灌木”的概率为 X,产生“稀有花”的概率为 Y。
【问题讨论】:
-
很遗憾,我不知道从哪里开始。
-
如果你能访问“互联网”,这里有很多教程
标签: javascript canvas random procedural-generation