如何從用戶處輸入文本(他們的鍵盤允許他們輸入的任何東西),然後將其傳輸到數字中?對種子隨機輸入的文本輸入
從那裏,我可能會拿這個數字,並餵它到一個種子隨機數發生器。
我從Minecraft的隨機種子選項中得到了這個想法,但是我找不到任何東西。
如何從用戶處輸入文本(他們的鍵盤允許他們輸入的任何東西),然後將其傳輸到數字中?對種子隨機輸入的文本輸入
從那裏,我可能會拿這個數字,並餵它到一個種子隨機數發生器。
我從Minecraft的隨機種子選項中得到了這個想法,但是我找不到任何東西。
有可能是更有趣的算法,但這只是將字符轉換爲整數,並乘以位置以加權(因此'abc'與'cba'不同)。你也可以使用某種哈希函數,但我認爲這可能是矯枉過正的。
var input = 'askljfhasjfh', num = 0;
for (var i = 0, len = input.length; i < len; ++i) {
num += input.charCodeAt(i) * (i + 1);
}
console.log(num);
但請記住,你不能播種在JavaScript中Math.random()
功能,它始終只是使用了種子的當前日期。
*我的部分是什麼?你會忽略第一個字符。你是否想要做* Math.pow(2,3 * i)之類的東西? – CrazyCasta
我並不是想成爲那樣的人,儘管那樣也會起作用。只是想爲角色添加一個基本的權重。我將它固定在上面,這樣我就不會跳過第一個字符。 – Bill
你只是讓我意識到我很容易忽視那種方法o.o – Tgwizman
我不確定如何在javascript中執行此操作,但是當與鍵盤進行交互時,您將獲得的是關鍵代碼。這些將是整數。還有其他的東西是隨機的,就像擊鍵和鼠標移動之間的時間間隔一樣。 – CrazyCasta