iT邦幫忙

DAY 13
0

JavaScript學習路系列 第 13

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);

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

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

以上同步發表於 http://azzurro.blog.aznc.cc/learn\_javascript\_13/


上一篇
JavaScript學習路-(12)猜數字遊戲
下一篇
JavaScript學習路-(14)DOM
系列文
JavaScript學習路30

尚未有邦友留言

立即登入留言