資訊內(nèi)容
少兒編程Scratch第15講:貪吃蛇
目的:完成一個貪吃蛇的小游戲,了解角色圖片制作、克隆、運動方向、碰到障礙物的處理。
游戲說明:游戲開始時,蛇不停的往前移動,身體逐漸變長。玩家可以通過上下左右四個按鍵改變蛇運動方向(向上、向下、向左和向右)。蝙蝠是蛇要吃掉的小動物,可能隨機出現(xiàn)在屏幕任何一個地方,揮動翅膀,但保持位置不動(當(dāng)然也可以讓蝙蝠飛起來)。當(dāng)蛇碰到蝙蝠時,蝙蝠消失,即蛇將蝙蝠吃掉,獲取得分;蛇吃掉蝙蝠以后,其中的一節(jié)身體變成蝙蝠的顏色。經(jīng)過幾秒后,(另外一只)蝙蝠重新出現(xiàn)在另外一個位置。游戲繼續(xù)。
這個游戲?qū)儆凇俺蠢滹垺钡姆懂牐驗楹芏嘈∮螒虻幕緦崿F(xiàn)指令和方法都是類似的。
適合人群:一二年級學(xué)生。在家長或老師指導(dǎo)下完成。
用時:2-3小時。
一、角色設(shè)置
設(shè)置兩個角色。一個是蛇,分成蛇頭和蛇身。蛇的身體由一塊一塊組成。
蝙蝠:蛇的食物,可以揮動翅膀(,也可以飛翔移動)。
微信訂閱號:ABO_CRM
二、蛇頭的制作

這是Scratch標準角色庫中提供的球,有不同顏色的球。我們以這個球為基礎(chǔ),制作蛇頭。
蛇頭造型1:在角色中,使用“變形”,出現(xiàn)出現(xiàn)幾個可以拉動的小點點。拉動圓形右邊的點,最后形成尖尖的蛇頭形狀。

蛇總要有眼睛,因此使用用粗線點兩下,或者用畫圓的功能,畫兩個圓,填充紅色。這是蛇的造型1.

蛇頭造型2:因為蛇在上下左右移動時,要保持頭的方向一致,因此復(fù)制一個圖,然后上下翻轉(zhuǎn),形成另外一個蛇頭,造型2.
三、讓蛇頭運動起來
因為一個多月沒有做運動類的程序了,今天已經(jīng)比較生疏。為了讓蛇頭前后左右移動,顯示使用了右邊的X或Y坐標增加一定位置的循環(huán)指令。
后來改成左邊的運動和方向。

重復(fù)循環(huán),每次都移動1步。默認的時候,蛇頭是往右邊移動的。如果按了上箭頭,面向0度,即往上走。如果按下箭頭,面向180度方向,即往下走。
測試。
但這時候我們會發(fā)現(xiàn),蛇頭的方向是不對的,因此,下移的時候,需要將蛇頭的造型切換為2. 除非蛇頭上下對稱,否則就有這個問題。
用類似的方法,處理左右移動。

現(xiàn)在,這個蛇頭可以順暢的動起來了。
四、蛇身體的制作-讓蛇長出身體
也不能只有這一個蛇頭啊。怎么做出蛇的身體呢?那就一節(jié)一節(jié)克隆吧,沒格一段時間,克隆出一節(jié)“蛇身體”來,然后間隙小一些,看上去,就成一條連續(xù)的蛇了。

這里再次使用一遍“開始”指令,蛇頭每隔一秒,就克隆一個自己。注意克隆等待時間和運動步數(shù),蛇的身體要保持連續(xù)。
試玩一下。

隨著蛇的移動,蛇真的變長了, 長出來了。但是有個問題,有很多蛇頭,因為我們是克隆了蛇頭。Scratch允許我們克隆300份,因此可以一直玩,到了300份蛇頭,就不會繼續(xù)克隆了。?
到這一步,小孩的興致已經(jīng)上來了,一定要把滿屏都擦成蛇頭為止。小妹妹也上來玩了。
五、蛇身體的制作-一節(jié)一節(jié)的蛇身
為了解決復(fù)制出來的都是蛇頭的問題,我們需要一節(jié)蛇的身體,就是沒有眼睛的頭。

這個很簡單,只需要復(fù)制出另外一個造型,把蛇的眼睛去掉即可。造型3:一節(jié)蛇的身體。
六、蛇頭變成蛇身

蛇頭復(fù)制出來以后,克隆體啟動時,需要將造型切換成3,即將蛇頭變成蛇的身體。如果不變換,那就會出來很多蛇頭。
再玩一下。

這時候就只有一個蛇頭了。還是可以克隆300份。KK想把整屏都蓋上蛇,到后來就不會繼續(xù)克隆了。這也體會了只允許300份克隆體的限制。在實際應(yīng)用中,要將不需要的克隆體刪除,而不能僅做簡單的隱藏操作。
克隆體啟動后,等待8秒,就刪除本克隆體。這樣蛇的身體就不會“無限”長了。
七、蝙蝠角色-隨機出現(xiàn)
本來貪吃蛇的游戲是讓蛇吃掉球或豆子的,結(jié)果說要吃掉蝙蝠。就加了一個蝙蝠角色。
首先讓蝙蝠揮動翅膀,這個只要不停更改造型就可以了。
然后,讓蝙蝠出現(xiàn)在屏幕的隨機位置上。 X和Y都使用一個隨機數(shù),當(dāng)然不能太靠近邊緣。

八、蛇吃蝙蝠:偵測碰到某種顏色
這是關(guān)鍵的一步。我們使用了碰到某種顏色,蝙蝠則隱藏。選擇“碰到顏色”以后,可以在屏幕中點擊蛇的眼睛, 這樣能夠獲取的紅色。
當(dāng)碰到紅色的時候,蝙蝠隱藏。蛇將蝙蝠吃掉了。
九、蛇吃蝙蝠:游戲得分
吃掉蝙蝠以后,分數(shù)增加。因此設(shè)置一個全局變量。開始時,將分數(shù)設(shè)置為零。蝙蝠被蛇吃掉后,分數(shù)增加。
十、蛇吃蝙蝠:蝙蝠在蛇的肚子里
吃掉蝙蝠以后,蛇的肚子有一節(jié)會變成黑色,甚至那一節(jié)還可以變大一點。這個實現(xiàn)稍微復(fù)雜一點。
首先制作一節(jié)黑色的蛇的身體,還是蛇的角色,造型2.
其次,設(shè)置一個黑色的全局變量。默認是0.如果被吃掉了,設(shè)置為1.
在克隆體啟動時,讀取合格黑色的全局變量標識,如果是0,則為普通蛇身,造型為2.如果是1,即剛吃掉一只蝙蝠,需要變成黑色,造型3。切換成造型3以后,需要將黑色的變量設(shè)置為0,否則后面就全是黑色的了。

總結(jié)測試:
最后效果圖這個圖。

聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除
