您現(xiàn)在的位置是:首頁(yè) » scratch編程資訊
資訊內(nèi)容
Scratch教程(九)——打磚塊游戲
極客小將2020-11-17-
前言
有一段時(shí)間沒(méi)有更新Scratch教程,一來(lái)是孩子開(kāi)始學(xué)習(xí)Python編程,在解決實(shí)際問(wèn)題的時(shí)候畢竟Scratch這種玩具式的語(yǔ)言還是很難勝任的;二來(lái)是由于學(xué)校一直推行的是logo語(yǔ)言編程。不過(guò)這種狀況已經(jīng)改變,從今年開(kāi)始,學(xué)校終于打算開(kāi)設(shè)Scratch課程,對(duì)于初學(xué)計(jì)
前言
有一段時(shí)間沒(méi)有更新Scratch教程,一來(lái)是孩子開(kāi)始學(xué)習(xí)Python編程,在解決實(shí)際問(wèn)題的時(shí)候畢竟Scratch這種玩具式的語(yǔ)言還是很難勝任的;二來(lái)是由于學(xué)校一直推行的是logo語(yǔ)言編程。不過(guò)這種狀況已經(jīng)改變,從今年開(kāi)始,學(xué)校終于打算開(kāi)設(shè)Scratch課程,對(duì)于初學(xué)計(jì)算機(jī)的同學(xué)而言,這種玩具式的語(yǔ)言在訓(xùn)練學(xué)生們流程化、邏輯化思維方面還是有一些用處的,但也由于這種語(yǔ)言本身的特點(diǎn),決定了在實(shí)現(xiàn)某些功能時(shí),必須采用一些獨(dú)特的方法。這次課程以一個(gè)“打磚塊”的小游戲來(lái)講解Scratch在角色選取、克隆體、廣播消息、隨機(jī)數(shù)等方面的一些應(yīng)用,請(qǐng)同學(xué)們跟著教程一步步來(lái),自然能實(shí)現(xiàn)自己的小游戲,同時(shí)可根據(jù)個(gè)人的喜好對(duì)相關(guān)的角色進(jìn)行修改,甚至對(duì)游戲進(jìn)行擴(kuò)充等等。先來(lái)看一下效果:
“打磚塊”游戲邏輯
打磚塊的小游戲?qū)τ谠S多同學(xué)來(lái)說(shuō)是熟悉的,這個(gè)小游戲的邏輯如下:1、添加擋板、小球、磚塊等角色;2、設(shè)置擋板隨鼠標(biāo)移動(dòng);3、設(shè)置小球不斷運(yùn)行,在遇到擋板時(shí)反彈;4、設(shè)置磚塊被小球擊中時(shí)消失,并克隆下一個(gè)磚塊;5、設(shè)置計(jì)分;6、判斷游戲結(jié)束(以小球低于檔板為游戲結(jié)束)。
添加角色
這幾種角色都可以在角色庫(kù)中選取,當(dāng)然也可以自己繪制,這里選取的角色如下圖所示:
設(shè)置檔板隨鼠標(biāo)移動(dòng)
這個(gè)小游戲中,我們只需要檔板在某個(gè)高度左右移動(dòng)即可,這就需要設(shè)置其在跟隨鼠標(biāo)移動(dòng)的同時(shí),固定其縱坐標(biāo)。代碼塊圖如下:
小球的移動(dòng)
在游戲開(kāi)始的時(shí)候,我們要給小球一個(gè)初始角度,這個(gè)角度在這兒選取的是0~60度,即向右上方移動(dòng),之后就重復(fù)執(zhí)行移動(dòng),在這個(gè)循環(huán)體中進(jìn)行三種檢測(cè):一是檢測(cè)是否碰到檔板,在碰到檔板時(shí)讓小球反彈,這就需要設(shè)置反彈角度為180度-小球原方向;二是檢測(cè)是否碰到邊緣,這個(gè)有現(xiàn)成的模塊——“碰到邊緣就反彈”;三是檢測(cè)小球是否向下越過(guò)了檔板,這是游戲是否結(jié)束的檢測(cè)。小球的代碼塊圖如下:
磚塊的克隆及克隆體檢測(cè)
為了方便磚塊的生成,我們?cè)谶@里采用磚塊的克隆體,在最初時(shí),先克隆一個(gè),再將本體隱藏,之后以克隆體本身來(lái)檢測(cè)是否被小球碰到,如果碰撞了,就再克隆一個(gè)自己,同時(shí)將自己刪除,代碼塊圖如下:
計(jì)分
為了計(jì)分,需要新建一個(gè)變量,在磚塊的克隆體被小球擊中時(shí),該變量增加1,關(guān)于這一點(diǎn),在磚塊的代碼塊圖中已經(jīng)有顯示,請(qǐng)同學(xué)們留意。游戲結(jié)束
當(dāng)小球向下運(yùn)動(dòng)低于檔板時(shí),發(fā)出廣播消息“GAME OVER",在我們自己創(chuàng)建的gameover角色代碼中檢測(cè)該消息,當(dāng)其收到游戲結(jié)束的消息時(shí),顯示該圖片以表示游戲結(jié)束,代碼圖如下:
小結(jié)
本文對(duì)于“打磚塊”小游戲進(jìn)行了仔細(xì)講解,這個(gè)小游戲的設(shè)計(jì)并不難,只不過(guò)其中涉及克隆體的部分要同學(xué)們仔細(xì)揣摩,克隆體在創(chuàng)建出來(lái)后,可以在某些情形下等同于角色來(lái)操作,這一點(diǎn)是要注意的。聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
Scratch編程趣味篇(二十六)-植物大戰(zhàn)僵尸-游戲篇
第26課 植物大戰(zhàn)僵尸 ? 1? 學(xué)習(xí)目標(biāo) 今天,小喵老師分享一個(gè)Scratch編程制作經(jīng)典極富策略性的小游戲-植物大戰(zhàn)僵尸。當(dāng)經(jīng)典的游戲鈴聲響起,真是滿滿的回憶,各種升級(jí)版本更是增加了挑戰(zhàn)的樂(lè)趣。游戲效果如下:
- 下一篇
一把雙刃劍:Scratch數(shù)據(jù)類型的隱式轉(zhuǎn)換
筆者曾經(jīng)也寫過(guò)一篇關(guān)于數(shù)據(jù)類型的文章:《從數(shù)據(jù)類型到計(jì)算思維》,對(duì)