这是函数定义:
/**
* @param {number} x The x-coordinate (can be positive or negative)
* @param {number} y The y-coordinate (can be positive or negative)
* @param {number} tileCount The number of available tiles
* @return {number} The selected tile index
*/
function getRandomTileIndex(x, y, tileCount) {
// Fill in code here
}
例如,我可以,return x * y % tileCount
但我想引入随机性。我可以这样做return Math.round(Math.random() * (tileCount-1))
,但那样每次都会返回不同的图块索引。
我希望这个函数是确定性的,所以当使用相同的输入时(x, y, tileCount)
,总是会出现相同的输出。但我也希望它看起来(尽可能地)是随机分布的——随机性的质量不一定是完美的。
这个随机图块生成器的目的是用于具有(几乎)无限网格的游戏 - 用户从中间开始,(x,y) = (0,0)
并将朝他想要的任何方向向外移动 - 我将只有固定数量的背景图块用于“地面” -我希望它每次加载游戏时世界看起来都一样。