資訊內容
【Scratch】簡單的“魚缸”,讓你理清編程“對象”關系。
學會STEM怎么“玩”,或許才是真正的意義。
更多學習內容,關注公眾號后,通過菜單獲取。
第200篇文章
老丁的課程
經過上周的課程,想必大家已經大概了解Scratch的玩法啦。
是的,STEAM的學習很多時候要靠方法來學,而不是死記硬背。
學會方法后就需要通過一個個案例的練習,可以是老丁給的,也可以是自己想的,也可以是外面偶爾看到的。這樣一步步,就能鍛煉出編程思維。
編程思維,接單說,就是分析和解決問題的步驟。
計算機不會去幫你思考如何解決問題,它只能做到:
提出問題(人提出的)并思考解決方案,編程 —— 解決問題(人解決的)
這個過程中“——”的部分,即:替代人進行復雜的各種計算。
所以,我們要做的“編程”,其實本質就是“教會計算機如何處理問題并給出一個結果”。
換句話說,要學會做老師,手把手的指導一個“傻子”做事情……
這話一點都不夸張哈!~
今天,我們主要就講跟“對象”有關的操作。
告訴這個“傻子”怎么達到我們想要的結果。
課題:簡易魚缸
先要分析一下這個作品的相關需求。
1、背景:要是一個水的環境,用來模擬金魚缸的環境。
2、魚(3~4):多要放幾條,能夠自由移動。并且不會跑到“缸”外面。
不難吧~
經過分析,我們可以看到,這里面有4~5個對象。
對象一:背景
對象其他:魚
所以,首先做這個程序的時候,我們可以先把對象都添加進去。
右下角這兩個按鈕,可以分別添加“角色”和“背景”
?
我們點擊進入后,挑選自己想要的角色即可哦。
先添加一個背景和四條魚吧。
現在的魚都是一樣的對不對?
這里,要注意,我們指的一個“對象”是指針對一個完整的對象,而不能理解為針對了某一個造型。
舉個例子,我們的電視劇里面有男主角。
男主角就是一個“對象”,也就是一個人物。而人物本身可以是由多個人飾演的,比如童年、少年、青年、中年、老年。
很明顯,這個“對象”的造型可以是多樣的。并且在不同的時候,可以切換這個造型。比如:男主角到了老年,回想起童年時候的記憶。這個時候,畫面就會從老年變為這個對象的童年。
放到編程里面去理解,就是:
在一些條件下,“對象”可以自由的切換其造型和其他的各種設置。
所以,我們點擊任何一個“角色”,再進入“角色造型”卡片里面,就可以對這個角色進行一些造型上的修改。(以后,也可以讓程序自動來切換設定好的造型哦!)
重復這些步驟,就可以把魚變成不同的造型!
好,我們開始正式的“代碼”編程。
首先來做背景,在一個水環境下,我們的背景應該有個音效嘛,咕嚕咕嚕冒氣泡吧!
選中“背景”(注意,我們要對任何一個“對象”編程,都要先選中這個對象!這是小朋友們經常忘掉的事情……不然你對誰編程啊?!)
如果我們需要添加一個音效,可以選中背景后點“聲音卡片”。這里,你可以找到各種聲音,當然,你也可以錄制上傳一些自己想要的音樂或音效。
進入代碼編寫,我們首先要設定出程序的啟動鍵。由于一個水環境里面,冒泡泡的聲音肯定是沒有固定規律的,所以,我們要讓它隨機發聲~
老丁給的都是參考,大家可以自行在左側的代碼卡片里面去尋找相應的代碼進行嘗試。
讓這個背景音重復執行,每次隨機等待1~3秒。這樣一個水環境的背景音效就完成了!
接下來,我們來對“魚”們,進行編程。
魚嘛,當然是隨機游動的。而且它們的游動速度可能是不同的,方向可能是不同的,也不能游出魚缸……
那么,其實上面藍字這些,就是我們對魚的初步要求啦,對么?
所以,我們還是先選中其中的一條魚。
設置跟“背景”一樣的開始條件(如果有不一樣的要求,可以自己設定成不一樣的哦!)
首先重復執行,移動一個步數。
這里的步數,其實代表了魚游的速度,你可以自己設置,數值越高,游的越快。
一直這樣游,當然是會游出魚缸(舞臺)的!
所以,我們可以設定一個“布爾運算”的判斷流程:
當“碰到舞臺邊緣”那么……干嘛?
那么當然是反彈咯!反彈,就是指,方向相反。
那如果,我們要個隨機的方向繼續游呢?
可以加入一個隨機的方向,讓它在碰到“魚缸”邊緣時,自己重新找個方向去游。
這樣,就不會看上去,呆若木魚了……
好了,這樣,一條魚就搞定了,我們可以把串代碼復制給其他的魚。然后重新設定一下速度就可以了!
當然,你還可以通過一些參數的變化,優化一下這個魚缸小程序。
今天這節課,主要是針對“對象”操作的練習和理解。
“對象”關系,再結合上面兩節課的“理解”和“代碼分類”,你會發現,編程很容易是不是?發現沒?
其實編程的真相就是:讓誰……干嘛……
哈哈哈,但也別小瞧它。。
同樣是做一個魚缸,我們可以做的很細膩!編程的難度也就會隨之上升。這個,在后面的課程中,我們慢慢體會一下吧!
點擊“閱讀原文”可以獲得本程序,用scratch打開即可。別忘了先順手點個贊哦!提取碼:panz
思考題:
好像讓魚游來游去,并且碰到魚缸反彈,再隨機設定一個方向就可以做到這件事了,為什么要加入判斷流程呢?如下圖:
自己動手嘗試一下,再思考思考為什么吧!
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
