Blockly Games 第七個主題是池塘導師,畫面中會有兩隻小鴨,黃色的是自己,紅色的是要攻擊的目標,必須調整射擊角度和距離,攻擊到紅色小鴨並且消失後才能闖關成功。

這裡開始不只是組裝積木,開始練習到撰寫簡單的程式來達成目的,並且在畫面的左下方有一份說明文件可以點開,裡面提供詳盡的積木說明。

遊戲連結:Blockly Games 池塘導師

因題目會隨時更新,故解答僅供參考。

第一關

畫面中有一個 cannon ( 大砲 ) 的積木,右邊的數值分別代表角度°及距離,我們要讓黃色小鴨垂直往上射擊,角度為 90°,距離為 40。

解答:

Blockly Games 池塘導師,第一關解答

第二關

第二關開始,為遊戲中第一次不用積木的方式闖關,而是練習撰寫程式碼來控制畫面中的動作,一樣是積木的概念,只是變成一行一行的字母及數字。

我們讓黃色小鴨水平往右方射擊紅色小鴨,水平往右方的角度為 180°,可以點擊左下方的說明文件查看,距離為 50。

Blockly Games 池塘導師,第二關角度座標文件

解答:

Blockly Games 池塘導師,第二關解答

第三關

第三關必須要攻擊很多次,目標才會消失,利用迴圈的方式來重複攻擊,執行程式的時候,如果瞄準成功,可以看到紅色小鴨的紅色標示逐漸減少,當紅色消失變成灰色時,表示攻擊成功。

Blockly Games 池塘導師,第三關畫面解析

為了讓小鴨重複射擊,在說明文件中有提到,加入 true 積木可以讓迴圈重複執行。

解答:

Blockly Games 池塘導師,第三關解答

第四關

第四關練習撰寫迴圈的程式,運用上一關的積木組合方式,只是將它轉為文字呈現,垂直向下的射擊角度為 270°,距離為 60。

解答:

Blockly Games 池塘導師,第四關解答

第五關

第五關的攻擊目標會移動,攻擊角度為水平往左 180°,距離的部分利用新的積木 scan ( 掃瞄角度 ),讓黃色小鴨可以跟著目標移動來改變發射距離,並重複射擊直到目標消失。

解答:

Blockly Games 池塘導師,第五關解答

第六關

第六關要撰寫和前一關類似的積木程式,攻擊角度為水平往右 0°,距離則利用 scan ( 0 ) 來追蹤目標位置。

解答:

Blockly Games 池塘導師,第六關解答

第七關

第七關的提示中有說明利用 swim ( 游泳 ) 積木設定黃色小鴨的移動方向,往右下方的移動角度為 315°,撞擊到目標後就成功。

解答:

Blockly Games 池塘導師,第七關解答

第八關

第八關撰寫 swim 的程式來移動位置,點選執行後會發現目標物也會移動,兩隻小鴨交集的位置大約在黃色小鴨往下游動 275° 的位置,所以我們利用和前一關一樣的積木 swim 來撰寫程式。

解答:

Blockly Games 池塘導師,第八關解答

第九關

根據說明提示,這關不能用撞擊的方式來闖關,必須讓黃色小鴨游泳一段距離後,再停下來射擊紅色小鴨。

在說明文件中有寫到,Loc_x () 積木代表的是黃色小鴨的水平移動位置,我們讓小鴨位置小於 50 的時候,往右邊 0° 方向游動 提示:

Blockly Games 池塘導師,第九關位置解析

當游泳位置超過 50 的時候停下來,再讓小鴨執行重複射擊的積木,直到目標消失。

解答:

第十關

這一關的說明中提到,當目標物被攻擊時他會逃跑,且兩隻小鴨之間的距離不能超過 70,否則會射擊不到,所以我們必須讓黃色小鴨跟著紅色小鴨一起游泳。

我們利用 while ( true ) 的程式讓他可以重複執行,當 Y 軸位置小於 70 的時候 ( 其實 30~99之間都可以寫,因為這樣的距離範圍內都可以射擊得到目標物 ),往右上方 45° 的位置跟著紅色小鴨一起游動,游到設定的位置後停止。 大砲 cannon 的程式則讓他朝著右上方 45° 的位置射擊,利用掃描 scan 來讓黃色小鴨跟著目標移動來改變發射距離,直到射擊成功。

解答:

以上就是關於池塘導師 Pond Tutor 的十個關卡。

喜歡 Blockly 嗎?不用打 code 也能寫程式的 Web:Bit 教育版,更多有趣的功能等你體驗 ( 免註冊 )!