第1160回-運算思維-micro:bit-7-二分搜尋 binary search

今天本來想寫 micro:bit 的在教學活動設計上的精彩規劃,但因為想到一個我還蠻常跟小孩玩的猜數字遊戲:從1到100選一個數字記在心裡,給別人猜是多少,可提示大一點或小一點。我想用 micro:bit 的 Java Script Editor 程式積木編輯器來寫一個玩玩看。

我並不是從無到有來想程式怎麼寫,我是先去搜尋看看有沒有人用 Scratch 寫過類似的程式,我找到了 Ginger's Binary Search for Your Number 在 Scratch 上 來參考,這是由電腦來猜玩家心中選定的數字是那一個。

我想了一下流程:

  1. 玩家先想好一個1~100之間的數字,不要告訴 micro:bit 喔! 
  2. 由 micro:bit 亂數選出一個數字
  3. 如果 micro:bit 猜得太小,我就按 A
  4. 如果 micro:bit 猜得太大,我就按 B
  5. 如果 micro:bit 猜對了,我就按 A+B
參考別人的程式再動手寫比較快,大概15分鐘我就寫好了,不過相當粗糙,請各位玩玩看再教我改進,程式在此: micro:bit 會猜你心中的數字


程式中用到了二分搜尋演算法,但為了趣味起見,我的程式並不是每一次開始都猜50。還有, Java Script Editor 程式積木編輯器 裡面的數學除法,商數是用無條件捨去法取整數

前情提要:

留言