軟件編程系列課講義
Scratch前置課第三講:打地鼠
一、教學目標
1、掌握如果…那么…否則、換成()造型、…與…、等待()秒、變量【將()設為()、將()增加()】等積木腳本;
2、學習播放聲音()積木的使用。
二、主要程序腳本
編號
詳細內容
功能描述
【1】
“如果…那么…否則”
進行條件判斷,條件為真時執行第一個空格內的腳本,不為真則執行第二個空格內的腳本
【2】
“按下鼠標”
用于感知鼠標左鍵是否被按下
【3】
“換成()造型”
讓角色切換到指定造型
(可選選項為角色的造型名稱)
【4】
“重復執行”
該積木內的腳本一直不停執行,除非遇到結束標志或者強制停止
【5】
“…與…”
用于檢查兩個或多個條件是否同時為真
【6】
“碰到()”
用于感知角色是否碰到鼠標指針、舞臺邊緣或其他角色
(可選選項為:鼠標指針、舞臺邊緣、其他角色名稱)
【7】
“播放聲音()”
播放指定的聲音,聲音開始播放就執行后面的腳本
(可選選項為角色中的聲音名稱)
【8】
“將()設為()”
用于給指定的變量設置為指定的字符串或數字
(變量選項為建立的變量名;設為數字時舞臺區小數點后可顯示六位)
【9】
“將()增加()”
按給定的值更改指定變量
【10】
“等待()秒”
在指定時間內暫停腳本執行
(時間賦值范圍為:)
三、課堂準備
編號
名稱
內容
來源
備注
【1】
PPT課件
課堂全流程演示文稿
火星科學盒官網
【2】
課程資料
PPT課件、講義、視頻
火星科學盒官網
【3】
學生上課使用器材
筆記本電腦或者臺式電腦
老師自備
電腦建議使用Windows系統,蘋果電腦和Linux系統需要從官網上單獨下載對應的軟件
打地鼠初始程序
網盤鏈接下載
【4】
編程軟件下載
Scratch3.0
火星科學盒官網
火星科學盒官網在線編輯版
離線下載版
安裝好后測試一下是否可以使用
四、上課流程
本節課包括8步具體流程:
(1)第1步為導入部分,通過讓學生描述打地鼠游戲的玩法,引入本節課項目主題,確定本節課目的。時長控制在10分鐘內。
(2)第2步為角色功能分析,通過復述剛剛學生的游戲描述,分析本節課用到的角色和每個角色的效果,進行任務拆分。時長控制在5分鐘內。
(3)第3-7步為項目制作,實現按下鼠標擊打錘子效果,之后實現錘子打中地鼠后地鼠造型切換、發出聲音和增加得分的效果。學習條件判斷和造型切換的腳本,在腳本拼接過程中強化重復執行與條件判斷積木的組合使用。復習程序的實現效果和實現方式,梳理邏輯思路,鞏固積木用法。作品完成后學生試玩游戲。時長控制在65分鐘內。
(4)第8步為課堂總結,總結本節課的重點積木腳本。時長控制在10分鐘內。
上課步驟
主要內容
備注
【第1步】引入
【對應PPT】“開始頁”部分
【時長】10min
【話術】老師最近遇到了一點兒小麻煩,我的好朋友xxx這幾天想玩一個叫打地鼠的游戲,因為她知道我會制作游戲,所以就請我幫忙,說“XX老師,你那么厲害,就幫我做一個打地鼠的游戲吧。”看她特別想玩,于是我就答應了。但是,我沒有玩過打地鼠的游戲,不知道是什么樣子的,這怎么辦呢?小朋友們有沒有玩過打地鼠的游戲,能描述一下這個游戲是怎么玩的嗎?(學生描述打地鼠游戲,老師復述一遍)
用提問的形式讓學生自己描述玩過的打地鼠游戲,在描述過程中注意引導總結出現的角色和角色出現的動作。
【第2步】角色功能分析
【對應PPT】“項目拆解”頁
【時長】5min
【總結】在打地鼠游戲中有兩個角色,一個是地鼠一個是錘子。錘子在打地鼠時會抬起和落下,地鼠被打中之后可能會躲起來,也可能會變換表情、發出叫聲。
【銜接話術】那我們今天就一起來幫XXX完成這個打地鼠的游戲。既然有兩個角色,咱們就分兩個任務來完成,任務一:制作按下鼠標時,錘子落下擊打地鼠的效果;任務二:地鼠被打中后造型改變,發出聲音并得一分。
【第3步】按下鼠標錘子做出擊打動作
【對應PPT】錘子做出擊打動作
【時長】15min
【銜接話術】同學們還記得如何打開作品嗎?先把第3課打地鼠的初始程序上傳到scratch中。(等待學生上傳程序)
【提問】任務一是實現按下鼠標時錘子落下的效果,也就是為錘子添加積木,那我們首先應該在角色區選中哪個角色呢?(學生回答)
【總結】為錘子添加積木時,首先要在角色區選中錘子。
【銜接話術】選中錘子后,接下來就是添加積木實現錘子抬起和落下的效果。如何實現呢?
【講解】打開左側錘子的造型界面,可以看到錘子有兩個造型,造型1是錘子抬起來的造型,造型2是錘子落下去的造型。
【提問】現在用鼠標控制錘子,實現按下鼠標后錘子落下去的效果,那按下鼠標時,錘子是切換成造型1還是造型2呢?(學生回答)
【講解】按下鼠標時錘子落下去,也就是切換成造型2,沒有按下鼠標時錘子切換到造型1。使用積木語言描述就是“如果按下鼠標,那么換成造型2,如果沒有按下鼠標,那么換成造型1”。
【銜接話術】我們在上節課中已經使用了“如果…那么”這塊積木,但是在控制分類里,并不能找到“如果沒有…那么”這個積木,怎么辦呢?
【講解】雖然沒有“如果沒有…那么”,但是在控制分類里有“如果…那么…否則…”,在這個積木中,“否則”就是“如果沒有…那么”的意思。也就是說,“如果按下鼠標,那么換成造型2,否則換成造型1。”根據這句話,可以找到控制分類里的“如果…那么…否則…”,偵測分類里的“按下鼠標”和外觀分類里的“換成()造型”積木。小朋友們自己嘗試把他們拼接起來。(等待學生拼接積木)(程序樣例見“第五部分
程序1-1”)
【提問】把這組積木單獨放在腳本區,可以自己運行嗎?(學生回答)
【總結】需要添加“當小綠旗被點擊”積木,點擊小綠旗后執行這組積木腳本。
【提問】添加“當小綠旗被點擊”后可以實現按下鼠標后錘子落下的效果嗎?還缺少什么積木?(學生回答)
【總結】需要添加“重復執行”積木,不停地判斷鼠標有沒有按下,才能實現鼠標控制錘子擊打的效果。
【講解】在錘子角色中已經存在一組積木,這組積木實現了錘子一直跟隨鼠標移動的效果。在這組積木中已經存在了“重復執行”,所以可以直接把剛剛拼好的“如果按下鼠標那么切換造型2否則切換造型1”的積木直接放在這個“重復執行”內,實現錘子擊打效果。(程序樣例見“第五部分
程序1-2”)
1.以提問的形式讓學生獨立上傳初始程序;
2.強調在為一個角色拼接積木前,必須在角色區選中這個角色;
3.在造型界面觀察完錘子的造型后,提醒學生返回代碼界面拼接腳本積木。
【第4步】任務一梳理
【對應PPT】任務一梳理
【時長】5min
【提問】在任務一中為哪個角色實現了什么效果?(學生回答)
【總結】在任務一中實現了按下鼠標錘子落下,沒有按下鼠標時錘子保持抬起的效果。
【提問】如何實現錘子抬起落下的效果?(學生回答)
【總結】通過偵測有沒有按下鼠標,按下鼠標時切換錘子造型實現的。
【提問】判斷鼠標按下時切換到造型2,沒有按下鼠標時切換到造型1的積木是哪個?(學生回答)
【總結】“如果…那么…否則…”積木,如果按下鼠標那么換成造型2否則換成造型1。
【提問】用來切換角色造型的積木是哪個?(學生回答)
【總結】“換成()造型”
【提問】偵測鼠標有沒有按下的積木是什么?(學生回答)
【總結】“按下鼠標”
1.在提問過程中可以進行引導性提示;
2.“如果…那么…否則…”積木的提問重點是,滿足條件時應該執行那么后面的還是如果后面的命令。
【第5步】錘子擊打地鼠
【對應PPT】錘子擊打地鼠
【時長】30min
【銜接話術】現在我們已經可以用鼠標控制錘子去打地鼠了,但是地鼠被錘子打中之后好像沒有任何的反應,下面我們就來為地鼠添加一組積木,實現地鼠被錘子打中后改變表情、發出聲音等效果。首先我們來思考第一個問題:地鼠什么時候才算真正的被打中。
【提問】在A、B、C這三個圖片中,哪個圖片中的地鼠真的被打中了?(學生回答)
【總結】B圖片中的地鼠是被打中的地鼠,在A圖片中,錘子落下了,但是地鼠沒有碰到錘子;C圖片中,地鼠碰到錘子了,但是錘子沒有落下;只有B圖片中錘子落下了,并且地鼠碰到了錘子。這個時候,地鼠才真正的被打中了。所以說,必須滿足錘子落下和地鼠碰到錘子這兩個條件,地鼠才算被打中。
【提問】我們做什么動作時錘子會落下呢?(學生回答)
【講解】按下鼠標時錘子落下,所以按下鼠標和地鼠碰到錘子時地鼠被打中,這句話可以分別用偵測分類里的“按下鼠標”,運算分類里的“…與…”,偵測分類里的“碰到錘子”表示。(等待學生拼接積木)(程序樣例見“第五部分
–
程序2–1”)
【銜接話術】現在地鼠被打中了,那它被打中之后會做出什么反應和變化呢?現在小地鼠好像很開心,一直在笑,那它被打中之后肯定不會這么開心了。
【講解】打開地鼠的造型界面,地鼠角色也有兩個造型,造型1是笑的表情,造型2是哭的表情。如果地鼠被打到,那么地鼠會哭,否則地鼠會笑。也就是說,如果地鼠被打到,那么換成造型2,否則換成造型1。
【銜接話術】剛剛我們已經拼好了偵測地鼠被打到的積木,下面回到地鼠的代碼界面,使用“當小綠旗被點擊”、“如果…那么…否則…”和“換成()造型”積木實現小地鼠被打中后切換造型的效果。(等待學生拼接)(程序樣例見“第五部分
–
程序2-2”)
【提問】使用這組積木地鼠被錘子打到后會有造型變化嗎?還缺少什么積木?(學生回答)
【總結】需要在“如果…那么…否則…”這組積木的外面添加“重復執行”積木。(程序樣例見“第五部分
–
程序2-3”)
【銜接話術】地鼠被打中后從笑變成了哭,我們可不可以添加播放聲音的積木讓地鼠被打中后發出聲音呢?
【講解】使用聲音分類中的“播放聲音()”積木可以讓地鼠發出聲音。
【提問】地鼠被打中之后才發出聲音,那“播放聲音()”積木應該放在什么位置呢?(學生回答)
【總結】“播放聲音()”積木應該放在“如果…那么…否則…”積木中那么的后面,滿足如果后的“按下鼠標與碰到錘子”條件時會執行那么后面的積木,也就是播放聲音,換成造型2。(程序樣例見“第五部分
–
程序2-4”)
【銜接話術】地鼠被打到之后可以做出反應了,既然我們是在做一個打地鼠的游戲,可不可以添加得分記錄打中地鼠的分數呢?
【提問】得分是一個變化的值,同學們還記得用什么來記錄得分嗎?(學生回答)
【總結】使用變量來記錄得分。
【銜接話術】同學們自己建立一個變量——得分,建立完成后思考一下如何實現游戲開始后,得分從0開始增加,地鼠被打中后得分加1的效果。(等待學生建立變量,拼接積木)
【講解】需要把“將得分設為0”積木放在“當小綠旗被點擊”積木下方,為得分設置一個初始值。“將得分增加()”積木放在那么后面的空格中,地鼠被打中后得分增加。(程序樣例見“第五部分
–
程序2-5”)
【銜接話術】同學們拼接完成后點擊小綠旗運行一下,看一下地鼠被打中一次時得分是增加了1分,還是會增加很多分。(等待學生演示觀察)
【講解】地鼠被打中之后不止增加了1分,會增加很多分,這是什么原因造成的呢?是因為積木腳本執行的速度太快了,在我們打中地鼠時,積木不止執行了一次,而是執行了很多次,也就是我們雖然看到只打中了一次地鼠,但其實腳本已經偵測到了很多次地鼠被打到,所以會增加不止一分。可以打開計時器,在打地鼠的過程中觀察計時器數字的變化,錘子落下一次,計時器會增加非常多數字,這說明,我們拼接的積木也執行了很多很多次。我們可以在打中地鼠時讓積木停留1秒鐘,不再偵測地鼠有沒有被打到,就可以避免一次增加很多分。這里使用的是控制分類中的“等待1秒”積木,把它放在“那么”空格中的最下面。(程序樣例見“第五部分
–
程序2
–
2.6”)
1.注意提示學生現在角色區選中地鼠角色;
2.在提問學生哪個圖片中的地鼠被打中時讓學生自己分析不選其他兩個選項的原因;
3.分析地鼠造型時可以引導學生主動分析;
4.在添加變量得分的相關積木時,引導學生獨立思考積木放置的位置,復習變量的使用。
【第6步】任務二梳理
【對應PPT】任務二梳理
【時長】5min
【提問】在任務二中為哪個角色實現了什么效果
【總結】任務二實現了地鼠被錘子打到后切換造型、發出聲音和得分增加的效果。
【提問】地鼠滿足什么條件時相當于被打到,被打到后會執行什么積木?
【總結】按下鼠標與碰到錘子同時滿足時地鼠被打到。地鼠被打到后會換成造型2造型,播出聲音以及將得分增加
【提問】兩個條件都要滿足時進行連接的積木
【總結】“…與…”積木連接兩個同時滿足的條件
【提問】用來播放聲音的積木
【總結】“播放聲音()”
【提問】游戲得分增加的積木
【總結】“將得分增加()”
在提問過程中可以進行引導性提示。
【第7步】小挑戰
【對應PPT】動手編程
【時長】5min
【銜接話術】在背景中有一組積木,實現了計時器>20時游戲停止的效果,同學們可以再添加積木,實現計時器>20,并且得分<10時游戲停止的效果嗎
【講解】必須同時滿足“計時器>20”和“得分<10”時游戲才會停止,因此需要用“…與…”積木把這兩個條件連接起來。(程序樣例見“第五部分
–
程序2-小挑戰”)
根據課堂時間,如果時間不夠的話,該挑戰任務可以省略掉。
【第8步】總結與鞏固
【對應PPT】總結與鞏固
【時長】10min
【銜接話術】
在這節課中我們制作了打地鼠小游戲,實現了使用鼠標控制錘子抬起落下的效果,以及地鼠被打中后切換造型、發出聲音和得分增加的效果。下面,老師來考考大家,看看大家在這節課中學到了多少知識。
【知識點鞏固】
老師以提問的方式進行復習。
1.各個腳本的作用分別是什么?
2.各個腳本在本節課中實現了什么樣的效果?
【我問你答】
Q.
哪個選項成立時換成地鼠背景?
A.
計時器=50
得分=3
B.計時器=10
得分=5
C.計時器=30
得分=10
D.計時器=60
得分=20
A.答案是B選項
解析:滿足如果后面的條件時換成地鼠背景,因此計時器<50并且得分<10的時候換成地鼠背景。
五、主要程序說明
程序樣例編號
程序樣例與說明
對應的角色
1-1
【程序1-1描述】如果按下鼠標,錘子換成落下去的造型,否則,錘子一直保持抬起來的造型。
【錘子】
1-2
(任務1的最終版程序)
【程序1-2描述】錘子的圖層移到最前面,之后一直跟隨鼠標指針移動。持續判斷鼠標左鍵有無按下,如果按下,換成造型2落下去的造型,否則保持造型1抬起來的造型。
2-1
【程序2-1描述】按下鼠標與碰到錘子兩個條件同時滿足。
【地鼠】
2-2
【程序2-2描述】運行游戲后,偵測一次有沒有按下鼠標并且地鼠碰到錘子,如果滿足條件,地鼠換成造型2,如果不滿足,地鼠保持造型1。
2-3
【程序2-3描述】游戲運行后,持續偵測有沒有按下鼠標并且地鼠碰到錘子,如果滿足條件,地鼠換成造型2,如果不滿足,地鼠保持造型1。
2-4
【程序2-4描述】游戲運行后,持續偵測有沒有按下鼠標并且地鼠有沒有碰到錘子,如果滿足條件,地鼠發出聲音并換成造型2,如果不滿足,地鼠保持造型1。
2-5
【程序2-5描述】游戲運行后,得分初始化為0,持續偵測有沒有按下鼠標并且地鼠有沒有碰到錘子,如果滿足條件,得分增加(可能增加不止1分),地鼠發出聲音并換成造型2,如果不滿足,地鼠保持造型1。
2-6
(任務2的最終版程序)
【程序2-6描述】游戲運行后,得分初始化為0,持續偵測有沒有按下鼠標并且地鼠有沒有碰到錘子,如果滿足條件,得分增加1,地鼠發出聲音并換成造型2,如果不滿足,地鼠保持造型1。
2-小挑戰
【程序2-小挑戰描述】游戲運行后,換成地鼠背景,持續判斷計時器是不是大于20并且得分小于10,滿足條件時換成地鼠2背景,并停止游戲
【背景】