####我們上節課制作了幫悟空找回金箍棒的項目,這個項目還有一個問題,我們使用鍵盤操作悟空移動的時候,如果不小心走出了棧道,游戲依然不受影響,這個就不科學了,我們怎么來解決這個問題呢?帶著這個問題我們開始這節課的學習吧
####本節課知識點:使用碰到顏色代碼塊來操縱角色在舞臺區 算法 指定區域移動
我們現在指定區域已經有了,就是舞臺區的棧道,那剩下的 就是如何設計這個算法了,
在解決這個問題之前,我們還是要做一下分析,大家應該注意到了,我們遇到問題會習慣性的停下來分析,大家想一下這樣做有什么好處呢?
我們無論在生活中還是學習中都會遇到一些問題,很多同學都是干了再想,遇到問題抄家伙就上,經常碰一鼻子灰,如果我們事先把問題梳理清楚,弄清楚問題的關鍵點在哪里,是不是更有利于問題的解決呢,我們把這個習慣應用到學習中,會使我們的學習更加高效
回到我們的問題上,這個指定的棧道有一個共同點 — 顏色相同,是不是?所以,我們可以使用角色碰到顏色的判斷條件來實現這個效果
我們從控制模塊組里拖動一個條件判斷語句放到腳本區,從偵測模塊組里拖動“碰到顏色”代碼塊放入到條件代碼塊的判斷位置,點擊一下“碰到顏色”代碼塊里的顏色,這里鼠標指針變為了小手造型,我們現在移動鼠標,現在“碰到顏色”代碼塊時的顏色跟隨鼠標指針會發生變化,我們把鼠標指針移動到舞臺區的棧道處,這時“碰到顏色”代碼塊里的顏色定格為了棧道的顏色,點擊鼠標左鍵,這個棧道顏色就同步到"碰到顏色”代碼塊里了
這段條件代碼的意思就是:“如果悟空碰到棧道的顏色就讓他執行條件判斷里的代碼”,但是,我們要的條件是悟空沒有碰到棧道上的顏色,也就是悟空走到了棧道外邊,所以我們要把上面的條件做一個取反,所謂的取反是編程里的一個專業術語,意思是把剛剛的條件反過來,那如何進行取反操作呢?
我們要用到新的運算符的知識了。
從運算符代碼塊里拖動“某某不成立”代碼塊出來,將上面條件判斷里的代碼拖動到這個取反代碼塊中,然后再把這個整體代碼塊拖動到條件判斷當中,現在這段判斷算法的意思就是:“如果悟空沒有碰到棧道上的顏色 也就是說悟空走到了棧道外面了 就讓他執行條件判斷里的代碼”,
我們在判斷結果里添加什么呢,第一步,從外觀模塊組里拖動“將角色造型切換為”代碼塊出來,將造型更改為死亡,并從控制模塊組中拖動停止全部代碼塊出來,結束游戲的運行狀態
好了,我們使用否定運算符和碰到顏色功能 組合了一套判斷算法,來控制悟空不要走出棧道,完善了上節課的游戲項目,下面我們來看看碰到顏色代碼塊還能做哪些事情呢?一起來看下面這個迷宮,

我們想讓小松鼠走到終點吃到甜甜圈,是不是同樣可以利用鼠標的上下左右鍵和碰到顏色代碼塊來實現呢?下面就讓我們一起來完成它吧
點擊綠旗后,我們同樣可以寫出下面這樣的代碼了吧

小松鼠在屏幕中 上下左右走的特效
但是,小松鼠仍然會走到迷宮通道的外面,對于這個問題,聰明的你是不是已經知道如何解決了呢?小朋友來說說看,下面四個答案哪個才是正確的呢?
選項A:

選項B:

我們來看一下這兩段代碼,選項A,在判斷下移鍵是被按下之后才去判斷,是否碰到角色,如果碰到對應的顏色就會讓y坐標下移,這代碼會造成不管我是否按下移鍵,小松鼠都會一直上移,所以,選項A肯定是不正確的,
再來看選項B,在判斷下移鍵是被按下之的結果里同時判斷是否碰到顏色,碰到顏色例Y坐標減1,而同時碰到顏色代碼塊使小松鼠的y坐標加1,一加一減相互抵銷,所以,這段代碼實現的效果就是,如果碰到通道以外的淡綠色,繼續按下下移鍵,小松鼠就不會再移動了,顯然,選項B是我們需要的效果,
OK,我們給每一個按鍵都添加一下碰到顏色的代碼,代碼實現如下,現在,我們就可以實現小松鼠走迷宮的效果啦,快來試試吧

- scratch課標
- 第一課
- scratch編程環境
- scratch介紹
- scratch編程環境各區域詳解
- 課堂實戰
- 第二課
- 知識點:讓角色動起來
- 課堂實戰一:小松鼠跳過河-設置角色名稱和大小
- 課堂實戰二:小松鼠跳過河-模擬重力加速度效果
- 第三課
- 知識點:程序的入口和出口
- 知識點:程序的三種執行結構
- 課堂實戰
- 第四課
- 知識點:角色造型概念
- 課堂實戰:唐詩繪本
- 第五課
- 知識點:角色特效展示&隨機數使用
- 課堂實戰
- 第六課
- 知識點:鍵盤方向鍵使用
- 第七課
- 知識點:偵測模塊之碰到顏色
- 課堂實戰:迷宮
- 條八課
- 知識點:克隆實現
- 課堂實戰:豌豆射手
- 第九課
- 知識點:變量應用
- 第十課
- 知識點:程序進階之自定義模塊
- 第十一課
- 知識點:精美的幾何世界之畫筆使用
- 課堂實戰進階:九九乘法表實現
- 第十二課
- 項目實戰:尋找蛋糕(一)
- 課堂實戰
- 咨訊
- 韓國將"編程"納入小學必修課程
- 家長認知
- STEAM教育理念應用的鑰匙-scratch少兒編程語言
- 習大大主持開幕的人工智能大會上講了啥
- 9.19 習大大主持開幕的人工智能大會講了啥