將舞臺背景設(shè)置為“spotlight-stage”,添加一個“Bellerina”角色、兩個“Druml”角色和兩個“Drum2”角色,并按照圖1的位置擺放。角色“Bellerina”的造型和顏色的設(shè)置須如圖所示,五個造型的裙子顏色順序為:白、紅、藍、綠、黃。四個鼓的顏色分別設(shè)置為:紅、藍、綠、黃。
圖1 題目要求
舞臺中央的小女孩會隨機變換造型及衣服顏色4次,游戲玩家要記住衣服顏色出現(xiàn)順序,并按順序敲擊相應(yīng)顏色的鼓,顏色順序正確則可得1分,并開始下一輪變換顏色:直到某一輪敲鼓順序錯誤則游戲結(jié)束,更新最高得分。
具體要求:(1)每次點擊綠旗后,舞臺左上角的“得分”(顯示位置見圖1)都為0。
(2)小女孩為造型1(白色裙子):并說“請觀察顏色序列!”2秒鐘。
(3)小女孩切換4次造型,每次都是隨機切換為造型2到造型5中的一個(這4次切換的造型之間允許重復(fù)):而且第一次切換后要說“1”1秒鐘,第二次說“2”1秒鐘,第三次說“3”1秒鐘,第四次說“4”1秒鐘(圖2)。
圖2 運行過程
(4)在4次造型切換完成后,小女孩切換回造型1(白色裙子),表示一輪切換結(jié)束。小女孩說:“請按順序點擊相應(yīng)顏色鼓!”
(5)游戲玩家根據(jù)剛剛小女孩4次切換造型中衣服顏色的順序,依次點擊(敲擊)相應(yīng)顏色的鼓,在敲擊第一次鼓后小女孩說“1”,第二次后說“2”,第三次后說“3”,第四次后說“4”。如果玩家敲擊的順序與衣服顏色切換的順序相一致,小女孩就說“正確”2秒鐘,且得分加1,并從步驟2開始下一輪游戲,如果敲擊的順序錯誤,小女孩就說“游戲結(jié)束”,并根據(jù)當(dāng)前得分的情況更新舞臺右上角的最高得分(顯示位置如圖所示),程序結(jié)束。
本題需要制作一個鍛煉記憶力的小游戲。由于是本次考試的最后一題,難度當(dāng)然較高。要考查考生的全面能力。角色有小女孩和4個不同顏色的鼓,不同角色間需要用到消息。游戲需要重復(fù)變色和敲鼓,最好將需要復(fù)用的代碼用自定義積木保存,減少編碼的工作量。還要解決以下幾個需求點。
(1)右鍵復(fù)制鼓,在造型面板用油漆桶修改角色顏色。
(2)建立“順序”列表并將2-5的隨機數(shù)存入列表。并根據(jù)隨機數(shù)字變換小女孩的造型。這些代碼作為自定義“變換造型”積木,便于重復(fù)使用。如圖3。
圖3 變換造型部分流程圖
(3)敲不同顏色的鼓發(fā)出不同的消息。
(4)小女孩根據(jù)接收的信號進行判斷。首先判斷鼓的顏色和列表中數(shù)字是否一致,如果一致表示記憶顏色正確。其次判斷消息次數(shù)是否等于4次,為否則等待核對下一個鼓顏色的消息,為真則表示記憶全部正確。一輪完成,將得分加1。
再次運行“變換造型”積木開始新一輪循環(huán),變換造型并等待新一輪敲鼓。這部分代碼存入自定義“敲鼓”積木。
(5)如果敲鼓顏色和列表中記錄不一致則“游戲結(jié)束”。游戲結(jié)束時,先“停止其他角色的腳本”,“小女孩”角色說“游戲結(jié)束”后停止全部腳本。如圖4。
圖4 敲鼓部分流程圖
(6)敲鼓時需要說出1到4,且與敲鼓順序無關(guān),所以需要單獨計數(shù),且每次敲鼓都要加1。需要單獨變量順序數(shù),這個臨時變量“計數(shù)”可以與跳舞的順序數(shù)共用也可分開建立。
(1)刪除角色小貓,將背景設(shè)為“spotlight-stage”,添加一個“Bellerina”角色、兩個“Druml”角色和兩個“Drum2”角色。
(2)修改4個鼓的顏色,為每個鼓編程。綠旗開始固定位置,當(dāng)角色被點擊時廣播消息1并等待,每個顏色的鼓程序基本一致,僅發(fā)出的消息編號不同。對應(yīng)小女孩衣服的顏色,紅色是1,藍色是2,綠色是3,黃色是4。如圖5。
圖5 鼓的代碼
(3)修改小女孩的造型顏色和造型名稱,為小女孩編程。建立變量:得分、最高得分、計數(shù)、鼓顏色數(shù)(記錄每次敲鼓的顏色)。建立列表:順序(用于記錄每輪衣服變色的順序)。制作新積木:變換造型(處理衣服變色)、敲鼓(處理敲鼓消息)。點綠旗之后初始化變量和列表。然后第一次執(zhí)行“變換造型”。如圖6。
圖6 程序初始化
(4)變換造型代碼如下:產(chǎn)生隨機數(shù),存入列表,根據(jù)列表中的隨機數(shù)變換造型。變量“計數(shù)”用于小女孩每次說出的數(shù)字。循環(huán)4次后切換回造型1,等待玩家點擊不同鼓發(fā)出的消息。代碼如圖7。
圖7 變換造型積木
(5)每次收到消息都將“計數(shù)”加1用于記錄本輪內(nèi)回答的次數(shù)。根據(jù)接收到的消息序號為變量“鼓顏色數(shù)”賦值,紅色為2,藍色為3,綠色為4,黃色為5。然后執(zhí)行“敲鼓”積木處理消息數(shù)據(jù)。如圖8。
圖8 接收消息后處理
(6)“鼓顏色數(shù)”與列表記錄數(shù)據(jù)依次對比。如果回答正確4次后,得分增加1,再次啟動“變換造型”積木開始下一輪循環(huán)。直到出現(xiàn)錯誤回答,更新最高積分后結(jié)束程序。具體編程如圖9。
圖9 敲鼓積木
本題是本次藍橋杯青少年創(chuàng)意編程大賽Scratch編程題的最后一道大題,角色較多且代碼量不小,考點多難度較高。在考試時間有限的情況下能夠按時完成的話實力相當(dāng)不俗,相信你通過刻苦學(xué)習(xí)和訓(xùn)練也能有實力親自去角逐下一屆藍橋杯。