資訊內容
少兒編程Scratch第15講:貪吃蛇
目的:完成一個貪吃蛇的小游戲,了解角色圖片制作、克隆、運動方向、碰到障礙物的處理。
游戲說明:游戲開始時,蛇不停的往前移動,身體逐漸變長。玩家可以通過上下左右四個按鍵改變蛇運動方向(向上、向下、向左和向右)。蝙蝠是蛇要吃掉的小動物,可能隨機出現在屏幕任何一個地方,揮動翅膀,但保持位置不動(當然也可以讓蝙蝠飛起來)。當蛇碰到蝙蝠時,蝙蝠消失,即蛇將蝙蝠吃掉,獲取得分;蛇吃掉蝙蝠以后,其中的一節身體變成蝙蝠的顏色。經過幾秒后,(另外一只)蝙蝠重新出現在另外一個位置。游戲繼續。
這個游戲屬于“炒冷飯”的范疇,因為很多小游戲的基本實現指令和方法都是類似的。
適合人群:一二年級學生。在家長或老師指導下完成。
用時:2-3小時。
一、角色設置
設置兩個角色。一個是蛇,分成蛇頭和蛇身。蛇的身體由一塊一塊組成。
蝙蝠:蛇的食物,可以揮動翅膀(,也可以飛翔移動)。
微信訂閱號:ABO_CRM
二、蛇頭的制作
這是Scratch標準角色庫中提供的球,有不同顏色的球。我們以這個球為基礎,制作蛇頭。
蛇頭造型1:在角色中,使用“變形”,出現出現幾個可以拉動的小點點。拉動圓形右邊的點,最后形成尖尖的蛇頭形狀。
蛇總要有眼睛,因此使用用粗線點兩下,或者用畫圓的功能,畫兩個圓,填充紅色。這是蛇的造型1.
蛇頭造型2:因為蛇在上下左右移動時,要保持頭的方向一致,因此復制一個圖,然后上下翻轉,形成另外一個蛇頭,造型2.
三、讓蛇頭運動起來
因為一個多月沒有做運動類的程序了,今天已經比較生疏。為了讓蛇頭前后左右移動,顯示使用了右邊的X或Y坐標增加一定位置的循環指令。
后來改成左邊的運動和方向。
重復循環,每次都移動1步。默認的時候,蛇頭是往右邊移動的。如果按了上箭頭,面向0度,即往上走。如果按下箭頭,面向180度方向,即往下走。
測試。
但這時候我們會發現,蛇頭的方向是不對的,因此,下移的時候,需要將蛇頭的造型切換為2. 除非蛇頭上下對稱,否則就有這個問題。
用類似的方法,處理左右移動。
現在,這個蛇頭可以順暢的動起來了。
四、蛇身體的制作-讓蛇長出身體
也不能只有這一個蛇頭啊。怎么做出蛇的身體呢?那就一節一節克隆吧,沒格一段時間,克隆出一節“蛇身體”來,然后間隙小一些,看上去,就成一條連續的蛇了。
這里再次使用一遍“開始”指令,蛇頭每隔一秒,就克隆一個自己。注意克隆等待時間和運動步數,蛇的身體要保持連續。
試玩一下。
隨著蛇的移動,蛇真的變長了, 長出來了。但是有個問題,有很多蛇頭,因為我們是克隆了蛇頭。Scratch允許我們克隆300份,因此可以一直玩,到了300份蛇頭,就不會繼續克隆了。?
到這一步,小孩的興致已經上來了,一定要把滿屏都擦成蛇頭為止。小妹妹也上來玩了。
五、蛇身體的制作-一節一節的蛇身
為了解決復制出來的都是蛇頭的問題,我們需要一節蛇的身體,就是沒有眼睛的頭。
這個很簡單,只需要復制出另外一個造型,把蛇的眼睛去掉即可。造型3:一節蛇的身體。
六、蛇頭變成蛇身
蛇頭復制出來以后,克隆體啟動時,需要將造型切換成3,即將蛇頭變成蛇的身體。如果不變換,那就會出來很多蛇頭。
再玩一下。
這時候就只有一個蛇頭了。還是可以克隆300份。KK想把整屏都蓋上蛇,到后來就不會繼續克隆了。這也體會了只允許300份克隆體的限制。在實際應用中,要將不需要的克隆體刪除,而不能僅做簡單的隱藏操作。
克隆體啟動后,等待8秒,就刪除本克隆體。這樣蛇的身體就不會“無限”長了。
七、蝙蝠角色-隨機出現
本來貪吃蛇的游戲是讓蛇吃掉球或豆子的,結果說要吃掉蝙蝠。就加了一個蝙蝠角色。
首先讓蝙蝠揮動翅膀,這個只要不停更改造型就可以了。
然后,讓蝙蝠出現在屏幕的隨機位置上。 X和Y都使用一個隨機數,當然不能太靠近邊緣。
八、蛇吃蝙蝠:偵測碰到某種顏色
這是關鍵的一步。我們使用了碰到某種顏色,蝙蝠則隱藏。選擇“碰到顏色”以后,可以在屏幕中點擊蛇的眼睛, 這樣能夠獲取的紅色。
當碰到紅色的時候,蝙蝠隱藏。蛇將蝙蝠吃掉了。
九、蛇吃蝙蝠:游戲得分
吃掉蝙蝠以后,分數增加。因此設置一個全局變量。開始時,將分數設置為零。蝙蝠被蛇吃掉后,分數增加。
十、蛇吃蝙蝠:蝙蝠在蛇的肚子里
吃掉蝙蝠以后,蛇的肚子有一節會變成黑色,甚至那一節還可以變大一點。這個實現稍微復雜一點。
首先制作一節黑色的蛇的身體,還是蛇的角色,造型2.
其次,設置一個黑色的全局變量。默認是0.如果被吃掉了,設置為1.
在克隆體啟動時,讀取合格黑色的全局變量標識,如果是0,則為普通蛇身,造型為2.如果是1,即剛吃掉一只蝙蝠,需要變成黑色,造型3。切換成造型3以后,需要將黑色的變量設置為0,否則后面就全是黑色的了。
總結測試:
最后效果圖這個圖。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
