- 少兒計算思維養成記:六個孩子的編程學習筆記
- 包若寧等編著
- 1088字
- 2022-04-24 09:43:37
二、動手練:一個走動的鐘表
(一)實驗目的
做一個走動的鐘表,秒針每秒轉動一格,分針每分轉動一格,時針每小時轉動一格。
(二)基本思路
1)鐘表的表盤是固定不變的,可以設置成背景。
2)秒針、分針、時針要走動,我們把它們定義成3個角色,通過轉換方向來實現走動。
3)秒針、分針執行“重復”操作,每秒循環一次,更改角度。因為秒針每60秒走一圈,而一圈是360°,所以秒針的方向是“當前是第幾秒÷60×360°”;分鐘每60分轉動一圈,因此分針的方向是“當前是第幾分÷60×360°”。
4)時針執行“重復”操作,每分鐘循環一次,更改角度。因為時針12小時走一圈,所以時針的方向是“當前是第幾小時÷12×360°”。不過這樣時針每小時才更新一次,走得“咯噔咯噔”的。為了更順暢一些,我們每分鐘更新一下時針的角度,把方向變成“當前是第幾小時÷12×360°+當前是第幾分÷60×30°”。
5)當前的時間可以用“偵測”里的“當前時間的秒”等來獲得。
(三)編程步驟
(1)背景繪制
Scratch系統沒有鐘表表盤,我們只好自己繪制了。我們把鼠標放在背景設置區右下角的上,然后在彈出的菜單條里選擇畫筆
,即可開始繪制背景。
我們畫一個圓圈表示表盤,然后在圓圈上標上1,2,3,…,12各個數。注意,背景繪制區中有一個帶十字的圈圈,表示繪制區的中心;我們一定得保證圓圈的圓心在這個中心,如圖2-7所示。

圖2-7 “走動的鐘表”實驗里在背景區繪制表盤
(2)角色繪制
Scratch系統也沒有現成的秒針、分針和時針,需要自己繪制。我們把鼠標放在角色設置區右下角的上,然后在彈出的菜單條里選擇畫筆
,即可開始繪制角色了。
我們畫一條紅色細橫線表示秒針。注意:一定要以角色繪制區里的十字線為起點開始畫;這個點是角色的“中心點”,角色旋轉時是圍繞這個中心點旋轉的。分針和時針的繪制方法與此類似。
卜老師提示我們,Scratch2.0版本中可以指定角色的“中心點”,而在Scratch 3.0中,以十字線作為所繪制角色的中心點。
(3)角色的腳本
現在我們有三個角色,下面得為每個角色單獨寫一個腳本(見圖2-8)。

圖2-8 秒針的腳本(左)和分針的腳本(右)
在這里,我們讓秒針角色執行“移到最前面”,讓時針角色執行“移到最后面”,這樣秒針就不會被時針擋住啦!這里我們使用了“重復執行”積木,后面我們會詳細介紹。
(四)實驗結果
現在我們點擊一下綠旗,就能看到一個精美的鐘表啦!圖2-9是我的程序畫出的時鐘,秒針每秒走一格,很好看吧!

圖2-9 時針的腳本(左)和實驗結果(右)
(五)遇到的bug及改正過程
bug:一開始我們畫秒針時,沒從十字線中心開始畫,結果秒針旋轉時,是“偏心旋轉”,很不好看。
改正:后來改成從十字線中心開始畫,就好了。
(六)思考與延伸
倒著走的時鐘怎么寫程序呢?