## 復習上節課學習的內容
小朋友們好!我是阿達老師。我們上節課學習了使用自定義模塊制作自已的算法小積木,用自已制作的小積木代碼塊實現了繪制迷宮圍墻的效果,這節課我們繼續完成《靈找蛋糕》游戲項目,
## 本節課知識點
使用循環算法結構和條件判斷算法結構操作杰瑞的移動
## 實現分析
我們要實現通過鍵盤上的方向鍵控制它上下左右移動,并且不能穿過圍墻(視頻展示:杰瑞上下左右移動動畫效果)*
## 視頻實戰
首先打開網易卡搭的編程環境,從事件模塊組拖動`當綠旗被點擊`代碼塊到腳本區,從控制模塊組里拖動`如果...那么`代碼塊放到當綠旗被點擊的下方

切換到偵測模塊組,拖動“按鍵空格鍵是否被按下”到前面的條件判斷語句當中,把“空格鍵”改成“右移鍵”,這時這段代碼的意思就是“如果鍵盤上的右移鍵被按下,就執行這個判斷條件里的代碼”,
我們在條件結果當中拖入`面向90度方向`、`將x坐標增加5`兩段代碼

這時我們點擊右移鍵,調試一下,看看杰現是不是能向右移動了,小朋友們,你們發現了什么?杰瑞沒有動對不對?那是因為什么呢?
之前我們講過電腦會按照我們寫好的程序一步一步順序的執行,在我們現在寫好的代碼中,當綠旗被點擊時,它會順序執行下面的代碼,也就是它會判斷右移鍵被按下了嗎?當然我們在點擊綠旗的一瞬間,右移鍵當然是沒有被按下的,所以程序不會執行判斷條件中的`將x坐標增加5`的代碼塊,那杰瑞自然也就不能移動了

接下來程序繼續執行,但是我們的程序下方已經沒有任何代碼了,所以,這個算法結構已經執行完畢,所以我們現在需要實現一段不停的判斷的功能,我們知道無限循環可以實現這個功能的,我們從控制區拖動`重復執行`代碼塊到腳本區

現在讓我們來看一下添加了無限循環后程序是如何運行的吧,當綠旗被點擊時,程序就進入了無限循環中,首先它會判斷一次鍵盤的右移鍵被按下了嗎?由于這個時間向上鍵沒有被按下,所以不會執行中間的`將x坐標增加5`語句,然后我們的程序會繼續向下執行,當執行到程序末尾,由于添加了無限循環代碼,程序會返回到剛剛開始的地方,也就是再次判斷鍵盤右移鍵是否被按下,這個時候鍵盤的右移鍵還是沒有被按下,程序執行完這次循環后,又會回來再次判斷鍵盤上的右移鍵是不是被按下,這個時候如果我們按下了右移鍵,程序就會執行`將x坐標增加5`的代碼了,當然無限循環中的判斷會一直不停的進行,我們只要按下向右移鍵悟空就會一直向 右移動,如果這個時候我們松開了右移鍵,程序再執行右移鍵是否被按下的代碼時,發現右移鍵沒有被按下,那程序就不能執行`將x坐標增加5`的代碼了
這下是不是清楚了,我們的算法腳本里缺少了一個循環判斷的代碼,把它加進來,現在程序就可以正常的運行了
同理,我們現在把向左移動、向上移動、向下移動的代碼一起加進來,老師這里就不一一說明了,相信聰明的小朋友能夠非常清晰的這三個方向的功能實現代碼了,阿達老師把完整的代碼直接帖過來,和老師一起對比一下,你寫的代碼是不是和阿達老師一樣呢?

好了,現在我們就完成了杰瑞上下左右移動的功能,但是當我們使用上下左右鍵操作杰瑞移動時,杰瑞會跑到迷宮圍墻的外面去,這是不符合我們的場景預設的,我們需要把這個問題解決掉,
在解決這個問題之前,我們還是要做一下分析,我們通過觀察發現迷宮的圍墻都有相同的顏色是不是?所以,我們可以使用***角色碰到顏色***的判斷條件來實現這個效果
我們從控制模塊組里拖動`如果...那么`代碼塊放到腳本區,從偵測模塊組里拖動`碰到顏色`代碼塊放入到條件代碼塊的判斷位置,點擊一下`碰到顏色`代碼塊里的顏色,這里鼠標指針變為了小手造型,我們現在移動鼠標,現在`碰到顏色`代碼塊時的顏色跟隨鼠標指針會發生變化,我們把鼠標指針移動到舞臺區的棧道處,這時`碰到顏色`代碼塊里的顏色定格為了圍墻的顏色,點擊鼠標左鍵,這個圍墻的顏色就同步到`碰到顏色`代碼塊里了,這段條件代碼的意思就是:“如果杰瑞碰到圍墻的顏色就讓他執行條件判斷里的代碼”,
那么我們為了不讓杰瑞橫穿圍墻,需要在判斷結果里添加哪些算法呢?我們來理一下,在一段循環代碼里,如果杰瑞現在執行的是`將x坐標增加5`,那么當他碰到圍墻的時候我們讓他執行`將x坐標增加-5`,那杰瑞+5的代碼和-5的代碼抵消了,杰瑞是不是就停下來了啊?所以,我們`將x坐標增加5`的代碼塊拖入剛剛顏色判斷的代碼段里,然后將增加5的數字改為增加-5,代碼如下:

我們再運行一下試試,
mp4
好了,杰瑞現在可以在圍墻內移動了,一只萌萌噠小老鼠已經在開心的四處找食物了,我們今天的課程就到這兒吧,下節課我們完成甲蟲代碼的實現
## 小灶時間
- 簡介
- 第二章-星星獵手
- 2.1 玩玩游戲吧
- 2.2 角色到位!
- 2.3 貓咪動起來
- 2.4 海馬動起來
- 2.5 海馬和貓咪碰上啦
- 2.6 抓海星啦!
- 2.7 抓了幾個海星?
- 2.8 更多的海馬過來啦
- 第三章 尋找蛋糕(迷宮類游戲)
- 第一課 使用畫筆繪制迷宮圍墻
- 第二課(1) 鍵盤操作杰瑞移動
- 第二課(2) 解決杰瑞橫穿圍墻問題
- 第三課 甲蟲狂潮
- 第五課 幽靈出沒
- 第六課 收獲金幣
- 第四章 黑洞大作戰
- 4.1 玩玩游戲吧&分析制作思路
- 4.2 level1級別的物體行動
- 4.3 黑洞轉起來
- 4.4 吞噬物體&記錄分數
- 4.5 黑洞變大
- 4.6 leve2 級別的物體
- 4.7 level2吞噬、level3吞噬
- 4.8 游戲做好啦!
- 第五章 靈藥戰爭
- 5.1群魔亂舞
- 5.2靈藥驚現
- 5.3閃轉騰挪
- 5.4大功告成
- 第六章 跳躍的猴子
- 6.1 part1