莊家指定 1 ~ 100 間的一個整數。
玩家說出數字後,莊家回答 "太大了" 或 "太小了",直到玩家猜中為止。
功能:
- 設定answer變數,存 1 ~ 100 中的隨機一個值。
- 設定guess變數,代表玩家猜的數字。
- 玩家可重複猜數字
- 比對answer 和 guess,判斷太大或太小。
- 若兩者相等,則結束遊戲,並結束時計算玩家猜了幾次。
規格:
- 宣告3個變數 answer、guess、count當前回合數。
- 程式執行過程,用console.log()把猜數字過程輸出到console中觀察。
- 運用 while loop讓玩家持續猜數字,直到猜對才跳出while loop。
- 運用if / else 來根據比對數值太大或太小或猜對的情況,切換不同流程。
執行畫面參考
第一次寫法
L12 while 的條件可改成 while (guess !== answer)
L14 count += 1
也就是count = count + 1 ,右邊加1後再賦值到左邊的count。
意思和 ++count
(中間無空格)相同,這邊沒有指派賦值所以也可寫成count++
。
count +=1 變數位置寫在while loop 中的上方,猜數字後,再依比大小條件進入判斷式,即可得count的值,而非在判斷式中各寫count +=1,這樣不夠簡潔。
L23 若猜對答案的判斷式,放在if 或else if,而非最後一個else。在if 或else if執行動作後,要記得 加上break,中斷目前的迴圈。若沒有加break,即使猜對答案,也會在while loop 中無限迴圈。
若把猜對答案情形寫在else,執行完console.log後就會結束if判斷式,且while loop的條件為while (guess !== answer)
,猜對答案不符合while loop條件,所以也就結束while loop。