Scratch 3 範例 陣列清單的應用

問題學習目標: 認識陣列,將陣列應用在Scratch清單程式設計。

範例: 樂透選號機

(一) 情境概述

大樂透、小樂透、四星彩、刮刮樂…各式各樣的樂透,您真的樂透了嗎? 樂透的開獎原理為何?現在我們就來設計樂透隨機選號機。

(二) 問題解析

多元思考一:你想做的樂透選號機是像電視一樣,有38個彩球在箱子中滾動,隨機選一個球?

問題解析1. 38個彩球需要新增38個角色,才能獨立轉動。

問題解析2. 當按下「開始」彩球開始滾動。

問題解析3. 當選中號碼是1號時,1號彩球掉到指定位置。

多元思考二:或是像黑箱一樣38個號碼,隨機出現一個號碼?

問題解析1. 設定1個角色有38個造型或背景,依據選出的號碼變換造型或背景。

問題解析2. 當選中號碼是1號時,切換1號的造型或背景。

多元思考三:選出的號碼會重複嗎?如何設計不重複選號?

問題解析1. 將選中號碼挑出來放在清單中。

問題解析2. 判斷選中的號碼是否在清單中,如果有,就表示已選過,需要重選。


(三) 設計演算法

開始選號-->隨機選號-->判斷選中號碼是否重複-->如果重複,就重新選號。

-->如果未重複,顯示選中號碼。

(四) 設計程式

 建立角色或造型、背景。

建立清單儲存選中的號碼,並判斷是否重複。

(五) 執行結果

 點擊綠旗,執行結果。 

(六) 結果檢核

程式執行結果是否與預期的情境相符?

如果程式執行結果與預期不符? 發生什麼問題? 如何解決?

(七) 延申學習

如果我想動手腳,只想選「單號」或「雙號」限定版,應該如何設計?

 如果我想限定跳過某個號碼永遠選不到或某個號碼必中,應該如何設計?