資訊內容
scratch編程之貪吃蛇
貪吃蛇的游戲除去開始動畫、結束動畫、分數累計等環節,最重要的是利用方向鍵控制蛇的移動以及蛇身的變長的實現。分解一下任務,事情會變簡單。
01控制移動對于控制單個角色的的移動大家都不陌生,利用四個方向鍵作為觸發事件。所不同的是,貪吃蛇是持續移動,移動的程序需要單獨寫出,方向鍵只負責控制角色運動的方向。這里,我們用角色庫中“ball”作為角色。程序如下圖:
如果運行程序,我們會看到角色“ball”會受方向鍵控制,但這絕對不像一條蛇,其實就是一個球。這個球,我們可以看做是蛇頭。
蛇的身體哪里來,這就不得不談到“克隆”了。
所謂“克隆”是指控制代碼當中的一類積木。它的作用是復制角色本身或其他角色,被克隆的一般叫做“本體”,新角色被稱為“克隆體”。同時,克隆體繼承本體在克隆那一刻所有特性,包括角色顏色、大小、方向、畫筆、特效等等??寺◇w可以獨立編程、運行。
執行如下程序:
每秒復制一次克隆體,由于本體在不斷前進,克隆體會留在原地(即克隆發生是本體所在位置)形成蛇身??寺◇w啟動后,讓它切換造型,用來跟本體區分。
程序執行效果如圖:
蛇的造型完成了,由于克隆體在不斷復制,蛇身是無限延長的。蛇身如果是固定長度,它應該是有限的克隆體。如果要蛇身持續移動,我們應該刪除掉“尾巴”,即最先生成的克隆體。
程序如下:
大家看到程序很簡單,它巧妙地刪除掉了最先生成的克隆體,并使蛇產生了移動的效果(注意克隆體是沒有發生移動的)。請注意,刪除克隆體的等待時間,決定了蛇身的長度。
到此,程序最困難的部分已經完成,大家一定要好好理解一下克隆體的特點。
03吃了蘋果會變長首先我們需要新角色,選取角色庫中角色“apple”。蘋果的角色的效果類似于扎氣球游戲中的氣球。當蛇碰到之后隱藏消失,并選擇新的位置出現。
編程如下:
前文我們說到,刪除克隆體的等待時間,決定了蛇身的長度。我們添加一個變量“長度”, 每吃到蘋果變量數值增加1。
程序在上面程序基礎上更改如下:
角色“ball”程中序做如下修改:
想一想,為何變量“長度”初始數值為3,還可以用其它方式完成嗎。
至此,貪吃蛇的程序就完成了??寺⌒Ч梢杂行е貜蛦我粍幼?,省去制作新角色時間,在很多編程游戲中都有運用。
當然,這個作品有很大的改進空間,對比自己之前接觸到的游戲,有沒有新的想法呢。歡迎大家溝通交流,一起成長。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
