課程目標
探討Scratch的並發(Concurrency)是如何運作的,以及避免寫出有問題的程式。
遊戲介紹
小蜜蜂 ギャラクシアン Galaxian
日本遊戲公司南夢宮在1979年推出的大型電玩遊戲。它由中途製造公司在北美獲得許可和分銷。玩家在保護地球免受外星人浪潮襲擊的任務中控制了加拉西普戰鬥機。遊戲包括摧毀每個外星人的陣型,外星人俯衝向玩家,試圖擊中他們。 -Wikipedia
蜘蛛大戰太空船
現在將帶大家製作一個射擊遊戲,跟上次一樣照著步驟開始吧!
開始製作
步驟1—製作太空船
首先我們要做可以左右移動的太空船,順便設定一下分數變數,等會會用到。
需求:
- 太空船會自己旋轉。
- 碰到邊緣要反彈。
- 設定分數變數,遊戲一開始歸零。
步驟2—製作蜘蛛
接下來是製作蜘蛛或重重,用到上次學到的分身,開始大量產出敵人吧! 需求:
- 用分身讓蜘蛛隨時間產生。
- 蜘蛛會隨時間往下移動,到最底部時自動消失。
- 蜘蛛碰到太空船時,遊戲結束。
步驟3—製作子彈
接下來是子彈,這也是用到以前的技術就可以完成唷。 需求:
- 當按下空白鍵時,太空船能發射子彈。
- 當子彈碰到蜘蛛時,蜘蛛和子彈都要被消滅。
但是當我們要讓子彈和蜘蛛碰撞時,兩個都能消失,製作時好像不太順利呀!總是只有一方消失一方還留著,該怎麼辦才好呢?
這時就來談談程式的並發
如何讓阿貓與阿狗都能相碰而消失呢?
步驟4—增加隨時間提升敵人生產量的功能
這時候就讓計時器派上用場
需求:
- 每十秒增加蜘蛛的產生速度
也順便增加隨分數增加子彈的功能吧!
Follow up
讓敵人也能發射子彈吧