資訊內容
【Scratch】編程?一節課就教會你!其實我們不用一個個學習如何使用代碼。
學會STEM怎么“玩”,或許才是真正的意義。
更多學習內容,關注公眾號后,通過菜單獲取。
第199篇文章
老丁的課程
在很多教程里面,大家都喜歡把模塊拿出來一個個講述其功能。
這樣做的好處是,可以把每個代碼模塊的功能講的很清楚。但最最討厭的問題也隨之而來……
舉個例子,當你學習英語的時候,是語法好學,還是詞匯好學?
肯定是語法啊……因為語法基本上就是語言規則,規則是有限的。并且,規則在很多情況下是可以根據自己的要求重新組合的。而詞匯呢?沒完沒了……所以,英語水平的高低,從某種意義上來說,詞匯量本身就是一個很好的參考標準。
如果學習英語的時候,光背詞匯,第一,記不住,第二,用不來,那么面對浩瀚的辭海……怎么能學會呢?
所以,我們要從理解的角度來學習這些東西。
再所以,我們還是從一個編程流程的方法,作為實際操作的開始吧!
本課程將把很多應用和知識點融入課程內來講述哦!
注定,這不是一套說明書式的教程。
別看Scratch有那么多模塊的種類,其實歸根結底,只有2種。
第一種都長這個樣子,就像一個個卡片。它們負責一個程序中的具體流程執行或者執行判斷、循環。
不管它們是什么顏色,其實我們可以理解為,它們都屬于同類~都可以堆在一塊。
先不管這些代碼是干嘛的,反正你只要把這些家伙隨意的堆在一起,就可以做出一個程序。
而程序就會根據由上到下的順序,開始執行。
第二種,就是橢圓的和六邊形的。
這些我們可以認為他們是一種“條件”代碼。
專管數據條件、邏輯條件(布爾運算)、處理數據等等,反正千變萬化,可以有很多很多種,十分考驗運用能力。它們給流程模塊和輸出模塊,帶來了各種各樣的“條件要求”。當然,這些條件都可以由你自己來設置。
與EV3不同,Scratch的編程工具,開發的更為“詳細”。
比如,關于啟動的流程模塊,也就是“事件”下面所對應的各種代碼塊。
這些模塊一般都是用來啟動某一套程序的。你可以設定各種各樣的啟動條件。
其他的都很好理解,比如當小旗幟被點擊,當空格(也就是電腦鍵盤上的空格)被點擊,它們都是用來觸發程序啟動的“條件”。
誒,對了,這里我們看到了幾個關鍵詞。
角色、背景、廣播,它們是什么?請看下面這個全景圖。
跟Mindstorms相比,Scratch多了一個“角色”的感念。同時也多了一個“背景”的概念。
簡單說,這兩種東西,都是“對象”。
你編程對誰編?
當然是對“對象”來編程啦。
對象可以是“角色”,也可以是“背景”。區別是,角色可以移動來移動去,而背景就是整個背景圖案啦。
點擊上圖右下角的兩個按鈕,大家可以自己添加角色和背景。這個很簡單,沒什么特別的地方,嘗試一下馬上就明白了。
當你需要對一個添加完的角色或者背景進行編程或者修改的時候,就要去選中對應的那個對象。
然后你就可以根據上圖做這些事情。
了解了上面這些內容后,大家就明白了。
在Scratch里面,我們的編程可以明確的針對每一個被添加上的角色和背景來進行操作!
簡單說,就是,讓誰干嘛就干嘛。在一個程序里,每個對象的分工都可能是不同的,而我們,只要明確的告訴每個對象,做些什么,就ok啦!
而你可以看到,上文說到的這兩類代碼都是配合著使用的。
比如,首先,我們在程序的一開始,需要放一個啟動模塊。(什么操作觸發程序啟動)
我們當然,可以很簡單的放上另一個卡片,來控制這只Scratch貓。這只需要放上一個代碼即可。可以手動輸入半圓內的數字,來控制一下這只貓。
但這畢竟是手動輸入呀,程序不是應該可以根據一些情況自己計算距離的么?
那么我們稍微提一個復雜一點的要求好了,這樣比較容易幫助小朋友理解問題。
要求:當綠色旗幟被按下后,讓小貓,以再次按下鼠標之間的時間為條件,移動到坐標(100,0)的位置。
問題其實也挺簡單的。我們可以看得出來,最終呈現的效果一定是間隔時間越短,貓移動的越快,而間隔時間越長,貓移動的越慢。對么?
這個時候,我們就需要使用到這些“數據條件”代碼的配合啦。
首先,在程序一開始,把我們需要用到的計時器和貓的位置歸零。
這是一個習慣問題,在我們使用任何數據模塊的時候,程序一開始,盡量要養成歸零或者完成初始值設置的習慣。這樣方便我們日后檢查一些程序的問題,同時也容易幫助我們找到問題,這個在以后的課程中,我們會經常提到。
第二步,把題目中要求的兩個動作給放上去。
1、等待鼠標點擊
2、把貓移動位置給設定好
我們可以看到上圖的兩個位置,是可以放上兩種形狀的代碼的!
這種形狀,我們叫做“布爾運算”代碼。不作過多的解釋了,大家簡單理解為,這就是一種邏輯判斷就可以了。
邏輯嘛,就是“是”或者“不是”;“包含”或者“不包含”;“成立”或者“不成立”……
反正就是二選其一,單選的條件。它本身也是一種數值,不符合邏輯的時候,它的數值就是0;而符合邏輯的時候,它的數值就是1。
所以它也可以直接當做是數據來使用,只是它的數據變化,只有0和1兩種。
而上圖這些,就是“數據運算”代碼。它們的可能性就多咯。你可以運算,加減乘除,甚至更高級的數學運算。它們最終代表了各種數值。
我們分別把題目要求的兩種數據,拖動到相應的“代碼運算”位置上,這個程序就完成啦!
是不是很簡單,動手試試看吧!
當然,理解了這些內容后,自己可以作一些各種各樣的小嘗試。
學起來不難,理解也不難,但熟悉,還是需要一些時間滴!
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
