結構化程式設計(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-球角色(得分及過關)
作業上傳
檔名:109****block-breaker.sb3