本文想要分享,如何用javascript制作一個抽籤程式,然後是以樂透號碼為範例。 一、 首先,我們必須要知道如何使用亂數產生器,在javascript裡面 Math.random() 可以取得一個介於 0 ~ 1 (不包含1) 的浮點數亂數,而在實際使用上我們希望得到的是某個正整數,也就是編號幾號的東西,所以我們得動點手腳運算。 比如現在有一個陣列 arr[10],裡面放著 arr['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] 十樣東西,我們要挑出一個,所以我們希望得到的亂數是 arr 的 index: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 其中一個號碼,於是做這樣的運算 Math.floor(Math.random() * 10) ,比如 0.452 * 10 = 4.52 去掉小數位數得到 4,比如 0.999 * 10 = 9.99 去掉小數位數得到 9。 * 10 是因為有10個選項,而 Math.floor 是去掉小數位數只取整數部份的涵式。 這樣的運算會使得每個東西的機會均等嗎? 當亂數 0 ~ 0.099... * 10 得到 0 ~ 0.99... 取 0 當亂數 0.1 ~ 0.199... * 10 得到 1 ~ 1.99... 取 1 當亂數 0.2 ~ 0.299... * 10 得到 2 ~ 2.99... 取 2 當亂數 0.3 ~ 0.399... * 10 得到 3 ~ 3.99... 取 3 當亂數 0.4 ~ 0.499... * 10 得到 4 ~ 4.99... 取 4 當亂數 0.5 ~ 0.599... * 10 得到 5 ~ 5.99... 取 5 當亂數 0.6 ~ 0.699... * 10 得到 6 ~ 6.99... 取 6 當亂數 0.7 ~ 0.799... * 10 得到 7 ~ 7.99... 取 7 當亂數 0.8 ~ 0.899... * 10 得到 8 ~ 8.99... 取 8 當亂數 0.9 ~ 0.999... * 10
留言
張貼留言