作業
作業6 最終旅程 (期限 12/21(四) 18:00)
  • 成績比重:
    未設定
  • 期限:
    2016-12-24 23:59 (不允許遲交)
  • 屬性:
    個人作業, 不開放觀摩, 開放成績查詢
  • 描述:
     
    作業六連結:
     

    #1 ★ 完成 Cabbage Class:繼承 Item Class、沿用其建構式並利用 w, h, x, y 變數覆寫 display() 與 checkCollision(Player player) 方法。蔬菜運作方式參考先前作業要求。土撥鼠碰到蔬菜後,將 boolean isAlive 設為 false;如果 isAlive 為 false 則不顯示圖片亦不偵測碰撞。

    #2 ★ 完成 Clock Class:繼承 Item Class、沿用其建構式並利用 w, h, x, y 變數覆寫 display() 與 checkCollision(Player player) 方法。時鐘運作方式參考先前作業要求。土撥鼠碰到時鐘後,將 boolean isAlive 設為 false;如果 isAlive 為 false 則不顯示圖片亦不偵測碰撞。

    #3 ★ 利用一個 Item[] items 陣列儲存蔬菜與時鐘,陣列長度為 6,蔬菜與時鐘生成方式改為每四層只隨機出現兩者之一。在遊戲進行過程中,利用 items 陣列呼叫各個道具的 display() 與 checkCollision(Player player) 方法。

    #4 ★★ 完成 Dinosaur Class:繼承 Enemy Class、沿用其建構式並覆寫 display() 與 update() 方法。恐龍出現在第 9 - 16 層,位置隨機條件與士兵相同,並在 Enemy[] enemies 陣列儲存恐龍物件。當恐龍碰到畫面邊界時會往相反方向移動,並改變圖片顯示方向;正常速度是士兵的一半,但在偵測到土撥鼠在同一層且在前方時速度則乘五倍,而當土撥鼠離開偵測範圍後恢復原本速度。

    #5 ★★ 完成 Robot Class:繼承 Enemy Class、沿用其建構式並覆寫 display() 與 update() 方法。機器人出現在第 17 - 24 層,位置隨機條件與士兵相同,並在 Enemy[] enemies 陣列儲存機器人物件。當機器人碰到畫面邊界時會往相反方向移動,並改變圖片顯示方向;速度與士兵相同,偵測到土撥鼠在上下兩層內 (-2 ~ +2) 且在前方時則暫停移動,而當土撥鼠離開偵測範圍後恢復移動。

    #6 ★★★ 在 Robot 中使用 Laser 物件,當機器人偵測到土撥鼠時(如前述)從手中朝玩家中心處發射一道雷射光。雷射光每隔三秒發射一次。