我需要制作算法,采用随机唯一字符串(哈希,无论如何),并从预备列表中生成多个随机特性。
示例:[cat algorithm]
color: white,black,brown
eye-color: blue, green, brown
size: 10,20,30
function algorithm(random_unique_hash){
...magic...
return [color, eye-color, size]
}
归来的猫对她的弦绝对是独一无二的。 字符串在整个字符串列表中是唯一的。 每只猫必须是不同的。 我需要能够从特性中再次制作哈希。
这可能吗?或者它需要以不同的方式工作?我需要制作猫然后制作独特的校验和吗?
从哪里开始?
答案 0 :(得分:1)
你有三种颜色,三种眼睛颜色和三种尺寸。这意味着你可以制作3 * 3 * 3 = 27种不同的猫。所以random_unique_hash
应该是0到26之间的数字。
要从散列中获取属性,请使用除法和模运算符将散列分解为索引,例如
index1 = random_unique_hash % 3
index2 = (random_unique_hash / 3) % 3
index3 = random_unique_hash / 9
然后可以使用索引访问每个属性列表中的正确条目。
要从属性获取哈希,您需要找到属性的索引。然后组合所有索引以重新创建哈希,如此
random_unique_hash = index3 * 9 + index2 * 3 + index1