作業
作業4 地心探險 (期限 11/23 (四) 18:00)
  • 成績比重:
    未設定
  • 期限:
    2017-11-23 18:00 (不允許遲交)
  • 屬性:
    個人作業, 不開放觀摩, 開放成績查詢
  • 描述:

    (只需繳交至 Programming101 平台 ) 繳交至此 moocs 平台不算繳交。

    作業說明影片:
     
    作業下載連結:
     
    作業要求  (與老師投影片有些微差異,請務必以此為主)
    http://programming101.cs.nccu.edu.tw/dashboard.html  點擊下方第 4 個機台
     
    #1 ★ 利用int[][] soilHealth管理各格土壤的生命值,沒有石頭、一層石頭和兩層石頭的土壤預設生命值分別為15/30/45,並用此陣列數值顯示對應土壤與石頭圖片;各區土壤層石頭排列比照作業三規定。

    #2 ★除了第一層外,其餘每層土壤隨機 1 ~ 2 格挖空,並在挖空的格子顯示土壤背景圖片(soilEmpty.png)。每次開始遊戲需重新隨機!

    #3 ★ 土撥鼠移動結束到達定點時,如果下方沒有土壤則受重力影響強制往下移動。

    #4 ★★ 每四層為一區(總共六區),在每一區隨機選一格放入蔬菜。利用float[] cabbageX, cabbageY管理蔬菜位置(陣列大小為6);每次開始遊戲需重新隨機;碰撞判定參考作業二規定,而當土撥鼠擁有最大生命值(PLAYER_MAX_HEALTH)時碰到蔬菜則沒有反應。生命值顯示參考作業三規定。

    #5 ★★ 每四層為一區(總共六區),在每一區土壤中隨機挑一層放入一個士兵,並分別選 X 軸範圍內任一位置作為移動的起點。利用float[] soldierX, soldierY管理士兵位置;每次開始遊戲需重新隨機;移動方式與碰撞判定參考作業二規定;土撥鼠碰到士兵回到地表時,填回初始位置下方的土壤。
     
    #6 ★★★ 實作土撥鼠挖掘:
    • 土撥鼠只能在沒有土壤(生命值為零)的格子移動。
    • 當土撥鼠往有土壤的格子移動時,按住方向鍵會停留在原地挖掘該格土壤、扣除土壤生命值。
    • 挖掘時須隨挖掘方向改變土撥鼠圖片,而過程中放開方向鍵即可隨時回到閒置狀態。
    • 沒有石頭、一層石頭和兩層石頭的土壤分別需要挖掘 15/30/45 畫格 (0.25/0.5/0.75秒)。
    • 需依照土壤生命值改變該格土壤與石頭的顯示圖片(見投影片p.7-9)
    • 將需要用到的圖片讀取至PImage[][] soils, stones中