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