結構化程式設計(2)


實作1-A Block Breaker(打磚塊)

打磚塊原始程式範例下載

系統需求

一顆球在舞台上來回移動,碰到(邊緣、板子、磚塊)其中之一就反彈。 舞台下方有一板子,板子會水平移動。 球碰到舞台下方藍色線,遊戲就結束,將磚塊打完就過關。

程式執行結果

https://scratch.mit.edu/projects/150308217

問題解析(抽象化)

1. 按下綠旗,建立磚塊。

2. 點擊球,開始遊戲。

3.以滑鼠移動控制平台,來控制球。

4.球撞到磚塊,磚塊消失(得1分)。

5.球碰到下方藍色線死亡線,遊戲結束。

6.磚塊打完(得分18分),遊戲過關,重新再玩分數歸零

演算法設計

程式設計

步驟:

1. 製作平台、球、磚塊三個角色, 並在舞台背景畫上任意顏色的結束線

2.平台程式積木。

3.球程式積木。

4.磚塊程式積木(用分身的方式)

5.得分及判斷過關

6.其他遊戲創意及趣味


數學知識點-座標

程式設計技巧

1.球反彈角度

2.分身

Q:磚塊角色為何要用分身?

A:如果同一角色要同時出現很多次.如下圖.要先畫10個積木再為其寫10段程式.程式過於冗長無效率

分身的意義:

製作一個磚塊角色(父親).其他的磚塊會繼承這個角色的屬性

說明:

假設方塊編號一的座標為(-200, 200), 方塊編號一先產生自己的分身, 接著將方塊編號一往右移動(X座標 + 100)後,產生自己的分身得到方塊編號二, 接著將方塊編號一往下移動(Y座標 - 100)後,產生自己的分身得到方塊編號三, 依上述方式就可以產生多個的磚塊分身了。

學習方法2-仿作(手把手教學)+一點創意(程式積木與圖形僅供參考,設計方式不是只有一種)

教學影片1-磚塊角色(分身)

教學影片2-球角色(得分及過關)


進階打磚塊(自由創作)

打磚塊專案欣賞(東湖國中七年級)

(1)增加磚塊及美觀

(2)過關再玩一次

(3)增加創意及變化性

EX:不同磚塊給不同分數.磚塊可不可以動.多增加一排磚塊.可以增加障礙物增加過關的難度.增加生命值等


作業上傳到雲端

1.點自己班的連結.輸入各班密碼

0801

0813

0816

人工智慧程式練習

運算思維大挑戰

遊戲來源:https://mtf.sjps.ntpc.edu.tw/friber108/