JavaScript學習路-(13)Math

昨天的猜數字遊戲範例裡,我所設定的三個數值都是固定的,這樣玩過一次的人應該就不會想玩了xD
所以今天繼續來學習數學物件,以及取得亂數的方法。

數學是一個物件,而數學物件有以下的方法:

數學亂數:隨機產生 0 ~ 1 之間數字,但不包含1
Math.random();
----> return 0.6974671666976064

最小值
Math.min(100, 0, -8);
----> return -8

最大值
Math.max(150, 20, 50);
----> return 150

取最接近的整數,但小於數字本身:因為小於3.9,所以不會出現 4 這個玩意兒
Math.floor(3.9);
----> return 3

一樣取最接近的整數,跟上例不同的是它會取大於數字本身的數
Math.ceil(4.55634707);
----> return 5

這也是取最接近的整數,如果有小數點,四捨五入
Math.round(3.9);
----> return 4
Math.round(4.5);
----> return 5
Math.round(4.4);
----> return 4
Math.round(4.49);
----> return 4

要抓取亂數整數的話:
Math.random(); 因可隨機產生 0 ~ 1 的小數點,用它乘以我要的數目,
再用 Math.floor(); 或 Math.ceil(); 將數字轉成整數,整數就出現了;在我的範例使用 Math.floor() 。

這次的題目設計是最小 / 正確 / 最大值都是亂數產生,先用函式算出來並 return 值
function startRandom(minNum, maxNum) {
return Math.floor(Math.random() * (maxNum - minNum + 1) + minNum);
}

其中這句是亂數取得整數的公式
Math.floor(Math.random() * (maxNum - minNum + 1) + minNum);

然後幫最小 / 正確 / 最大值設定範圍
var smallestNum = startRandom(0, 100);
var correctNum = startRandom(smallestNum, smallestNum + 100);
var biggestNum = startRandom(correctNum, correctNum + 100);

如此一來三個數值都出現了~

這次作出了連我都不知道答案是多少,網址點我
以下開放猜中的人可以獲得我畫的卡片一張!(誰要)

以上同步發表於 http://ithelp.ithome.com.tw/ironman7/app/article/dev/recent/10157513

在〈JavaScript學習路-(13)Math〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *