- 少兒計(jì)算思維養(yǎng)成記:六個(gè)孩子的編程學(xué)習(xí)筆記
- 包若寧等編著
- 1875字
- 2022-04-24 09:43:35
八、更復(fù)雜的Scratch程序
接下來我們來寫一個(gè)復(fù)雜一點(diǎn),也更有趣味的程序——托球游戲。這個(gè)游戲是這樣玩的:游戲里有一個(gè)彈力球從上方下落,玩家用鼠標(biāo)移動(dòng)一個(gè)板子去托球,盡量不讓球落地。球如果碰到板子或舞臺(tái)邊緣就會(huì)反彈,如果球沒被接住,落到了地板上,那么游戲終止。
下面我們開始編寫這個(gè)游戲程序。
第一步:設(shè)置舞臺(tái)背景
我們畫一條紫色線,表示地板。畫法是這樣的:首先把鼠標(biāo)放在背景設(shè)置區(qū)最下方的圖標(biāo)上,然后在彈出的菜單條里點(diǎn)擊畫筆
,就會(huì)看到一個(gè)背景繪制界面;我們點(diǎn)擊左側(cè)的畫筆
,在舞臺(tái)背景的下方從左到右畫一條線即可,畫得不直也沒關(guān)系。現(xiàn)在背景繪制區(qū)如圖1-10左側(cè)部分所示。

圖1-10 托球游戲程序中的背景繪制(左)和角色選擇(右)
第二步:選定角色
我們創(chuàng)建兩個(gè)角色:一個(gè)是球板,另一個(gè)是彈力球。直接點(diǎn)擊角色設(shè)置區(qū)下方的,從Scratch自帶的角色中選擇球和球板;每個(gè)角色都有一個(gè)名字,Scratch系統(tǒng)自動(dòng)給球這個(gè)角色起了一個(gè)名字,叫作Ball,給球板這個(gè)角色起的名字叫作Paddle。當(dāng)然,如果我們覺得這些名字不好聽的話,可以自行修改,重新命名。現(xiàn)在我們的角色設(shè)置區(qū)如圖1-10右側(cè)部分所示。
第三步:編寫球板的腳本
首先我們編寫球板的腳本,功能是:讓球板跟隨鼠標(biāo)左右移動(dòng)。編寫步驟如下:
1)先點(diǎn)擊角色設(shè)置區(qū)中的球板,開始編寫球板的腳本。
2)點(diǎn)擊積木區(qū)中的“事件”,拖出“當(dāng)被點(diǎn)擊”積木,放入程序代碼區(qū)。
3)點(diǎn)擊積木區(qū)中的“運(yùn)動(dòng)”,拖出“移到x
: -240 y
: 40”積木,放入程序代碼區(qū),并接在“當(dāng)被點(diǎn)擊”積木下方。因?yàn)槲覀兿胱屒虬逡婚_始處于(0,-80)位置,也就是舞臺(tái)靠下方一點(diǎn)的地方,所以我們把這個(gè)積木中的
x
改成0,y
改成-80。
4)點(diǎn)擊積木區(qū)中的“控制”,拖出“重復(fù)執(zhí)行”積木,接在“移到”積木下面。
點(diǎn)擊積木區(qū)中的“運(yùn)動(dòng)”,拖出“將x
坐標(biāo)設(shè)為-240”積木放入程序代碼區(qū),并放在“重復(fù)執(zhí)行”積木里面。
5)為了讓球板跟隨鼠標(biāo)移動(dòng),我們點(diǎn)擊積木區(qū)中的“偵測(cè)”,拖出“鼠標(biāo)的x
坐標(biāo)”積木,放入“將x
坐標(biāo)設(shè)為-240”的“-240”處。
現(xiàn)在程序代碼區(qū)如圖1-11左側(cè)部分所示。

圖1-11 托球游戲程序中球板的腳本(左)和球的腳本(右)
第四步:編寫球的腳本
接下來我們編寫球的腳本,功能是:球一開始從正上方中心處落下,角度任意;每次移動(dòng)10步;如果碰到舞臺(tái)邊緣和球板就反彈,反彈角度也是任意的;如果碰到紫色地板,就結(jié)束游戲。
詳細(xì)的編寫步驟如下:
1)先點(diǎn)擊角色設(shè)置區(qū)中的球,開始編寫球的腳本。
2)點(diǎn)擊積木區(qū)中的“事件”,拖出“當(dāng)被點(diǎn)擊”積木,放入程序代碼區(qū)。
3)點(diǎn)擊積木區(qū)中的“運(yùn)動(dòng)”,拖出“移到x
: -240 y
: 40”積木,放入程序代碼區(qū),并接在“當(dāng)被點(diǎn)擊”積木下方;我們想讓球一開始處于上方中心處,因此把這個(gè)積木中的
x
改成0,y
改成160。
4)點(diǎn)擊積木區(qū)中的“運(yùn)動(dòng)”,拖出“面向90方向”積木,接在“移到”積木的下面;點(diǎn)擊“運(yùn)算”,拖出“在1和10之間取隨機(jī)數(shù)”積木,放入“面向90方向”積木的“90”處;我們想讓球一開始落下時(shí),在120°到240°之間隨機(jī)選擇一個(gè)方向,因此把1改成120,把10改成240(見圖1-12)。
5)點(diǎn)擊積木區(qū)中的“控制”,拖出“重復(fù)執(zhí)行”積木,接在“面向”積木下面。
6)點(diǎn)擊積木區(qū)中的“運(yùn)動(dòng)”,拖出“移動(dòng)10步”積木,放入“重復(fù)執(zhí)行”積木里面。
7)點(diǎn)擊積木區(qū)中的“運(yùn)動(dòng)”,拖出“碰到邊緣就反彈”積木,接在“移動(dòng)10步”積木下面。
8)為了讓球碰到球板就反彈,我們這樣操作:
- 首先點(diǎn)擊積木區(qū)中的“控制”,拖出“如果那么”積木,接在“碰到邊緣就反彈”積木下面。
- 然后點(diǎn)擊積木區(qū)的“偵測(cè)”,拖出“碰到鼠標(biāo)指針”菱形積木,放入“如果 那么”的菱形空里,并點(diǎn)擊“鼠標(biāo)指針”旁的下拉框,選擇“Paddle”。
- 最后點(diǎn)擊積木區(qū)中的“運(yùn)動(dòng)”,拖出“面向90方向”積木,接在“如果那么”積木里面;點(diǎn)擊“運(yùn)算”,拖出“在1和10之間取隨機(jī)數(shù)”積木,放入“面向90方向”積木的“90”處。
- 當(dāng)我們想讓球碰到球板反彈時(shí),在-30°到30°之間隨機(jī)選擇一個(gè)方向,因此把1改成-30,把10改成30。
9)為了讓球碰到地板就結(jié)束,我們這樣操作:
- 首先點(diǎn)擊積木區(qū)中的“控制”,拖出“如果那么”積木,接在上一個(gè)“如果 那么”積木下面。
- 然后點(diǎn)擊積木區(qū)的“偵測(cè)”,拖出“碰到顏色
?”菱形積木,放入“如果 那么”的菱形空里,并點(diǎn)擊顏色,更改成紫色。
- 最后點(diǎn)擊積木區(qū)的“控制”,拖出“停止全部腳本”積木,放入“如果那么”積木里面。
這樣,球的腳本就寫完了(見圖1-11右側(cè)部分)。我們的程序運(yùn)行起來是這樣的:一開始,球處于舞臺(tái)頂部中央,從120°到240°之間隨機(jī)一個(gè)方向下落;然后移動(dòng)鼠標(biāo),拖動(dòng)綠色球板去接球;球碰到球板或者邊界就反彈。這樣彈過來彈過去,非常有趣(見圖1-12)。你寫完了嗎?快點(diǎn)擊一下綠旗試試吧!

圖1-12 托球游戲
- 學(xué)校怎樣組織學(xué)生探索科學(xué)奧秘(上)
- 做個(gè)書生教師:一個(gè)特級(jí)教師的成長隨筆
- 小學(xué)語文知識(shí)提煉書·漢字和詞語
- 讓青少年學(xué)會(huì)與人溝通的150個(gè)故事
- 學(xué)生有效閱讀范文與方法指導(dǎo)(學(xué)好玩好學(xué)校與教育系列)
- 朝花夕拾(語文課推薦閱讀叢書)
- 高中課堂過程寫作解密(高三篇)
- 小學(xué)生必背常考古詩詞(二年級(jí))
- 論語(中小學(xué)傳統(tǒng)文化必讀經(jīng)典)
- 小學(xué)生好詞好句好段(1~3年級(jí)適用)(漫畫美繪注音版)
- 青少年應(yīng)該知道的龍舞和獅舞(閱讀中華國粹)
- 基督山伯爵
- 影響你一生的100個(gè)圣經(jīng)故事
- 納尼亞傳奇:魔戒
- 學(xué)生理科學(xué)習(xí)的方法(上)