近幾個月的週末, 萊恩大兵自己帶兒子玩 Scratch.
包括萊恩大兵在内, 學習程式語言最初的挫折, 就是在新手村照範例按步驟打怪很輕鬆愉快. 走出新手村時, 卻是各種問題各種不順都會發生, 對付一隻史萊姆都很吃力. 因此, 萊恩大兵的想法, 就是以自訂專題的型式, 讓小朋友們多寫程式並自己想辦法解決問題.
經過幾次專題實作的經驗, 萊恩大兵發現遊戲互動類型的題目, 是最能引發小朋友的興趣與熱度的.
第六次專題的題目, 就選定 Atari 的經典遊戲~ 打隕石 (Asteroids).
它的畫面雖然只是黑底加上簡單的幾何圖形, 其實遊戲玩起來挺刺激的. 剛好藉這個機會, 讓咱家兒子品嚐一下早年遊戲的醍醐味.
功能要求為:
[1] 遊戲要有開始與結束畫面.
[2] 遊戲進行時, 會從四面八方隨機飛入隕石. 隕石砸中飛行器, 遊戲即結束.
[3] 玩家用鍵盤控制飛行器上下左右移動以躲避隕石, 或可發射子彈擊碎隕石.
[4] 較大塊的隕石被子彈擊中時, 會分裂成兩塊較小的隕石, 並改變飛行路線.
[5] 遊戲背景底圖要有變化, 呈現飛行器有在移動的效果.
咱家兒子經過太空侵略者的磨練, 做到移動飛行器或發射子彈的功能都不是難事.
比較麻煩的是要從四面八方隨機飛入隕石. 這時就是萊恩大兵做為指導者表現的時刻了. 萊恩大兵給的提示為:
- 將遊戲空間分為四個象限.
- 隨機選擇任一象限, 取其邊緣任一位置做為隕石飛行路徑的起點.
- 再從另外三個象限擇一, 取其邊緣任一位置做為隕石飛行路徑的終點.
- 起點與終點都有了, 就可設定隕石的出現時機與移動速度.
Willie 編寫的程式碼, 看來是有理解萊恩大兵給的提示.
遊戲背景底圖是用三張星空圖做變換
另外也做了飛行器爆炸效果
整體來看是有表現出遊戲的趣味性, 雖然程式細節上仍有 bug 要修正, 這個就再慢慢進步吧.
[萊恩大兵的其它文章]
自製大四軸
CC2540 Bluetooth Low Energy
OpenCV 學習路徑
小惡魔 無線溫度感測器
108 大眼仔
自造 Time Plot Clock
* 自造 Time Plotting Clock, (1) 零件採購
* 自造 Time Plotting Clock, (2) 組裝
* 自造 Time Plotting Clock, (3) 校正
* 自造 Time Plotting Clock, (4) 英文字母
* 自造 Time Plotting Clock, (5) 遠端遙控
iOS App 上架流程
* iOS App 上架流程, (1/3) 申請 Apple ID for Company
* iOS App 上架流程, (2/3) 產出 .P12 憑證與 Provisioning Profile 檔案
* iOS App 上架流程, (2.5/3) 申請 App ID 與上傳 ipa 送審
* iOS App 上架流程, (3/3) 審核通過與下載量數據分析
其它文章, 請參考 大兵萊恩, 文章總集
* 自造 Time Plotting Clock, (2) 組裝
* 自造 Time Plotting Clock, (3) 校正
* 自造 Time Plotting Clock, (4) 英文字母
* 自造 Time Plotting Clock, (5) 遠端遙控
iOS App 上架流程
* iOS App 上架流程, (1/3) 申請 Apple ID for Company
* iOS App 上架流程, (2/3) 產出 .P12 憑證與 Provisioning Profile 檔案
* iOS App 上架流程, (2.5/3) 申請 App ID 與上傳 ipa 送審
* iOS App 上架流程, (3/3) 審核通過與下載量數據分析
其它文章, 請參考 大兵萊恩, 文章總集




沒有留言:
張貼留言