a:將窗體的大小設定為常量
b :畫物件:
想畫物件先獲取到,針對每乙個物件都能夠獲取到,獲取到的行為是共有的,設計到父類中;—flyingobject
每乙個物件得到的行為都是不一樣的,設計了乙個抽象方法------getimage();
在不同狀態下,得到不同的:
狀態:設計到父類中,設計常量:life;dead;remove;
預設狀態:state = life
獲取的同時,需不需要判斷當前的狀態???需要
每乙個物件都需要判斷,設計到超類/父類中;
而每乙個物件判斷的行為都是一樣的,設計普通方法即可;
----flyingobject:islife()/isdead()/isremove()
c :在6個子類物件中重寫getimage()方法;
sky:直接返回即可。
子彈bullet:如果是存活的,返回images即可
如果是over的,刪除即可;
英雄機:如果是存活的,返回imgaes[0]/images[1]
小敵機:如果是存活的,返回images[0]
如果是over的,images[1]到images[4]進行切換,切換完畢,到了images[4]後進行刪除;
d:得到不同狀態下的,進行開始畫出來;
畫物件的行為是共有的,所以設計到超類中;
每乙個物件畫的方式都是一樣的,所以設計為【普通方法】;
e:測試,呼叫即可;
將所有子類所共有的行為和屬性,可以設計到超類中;–抽共性
所有子類的行為都是一樣的,設計為普通方法;所有子類的行為都是不一樣的,設計成抽象方法;
a:敵人入場
產生敵人:在shootmain類中nextone()
需要定時載入敵人----enteraction()實現敵人入場;
每400毫秒,獲取到敵人,擴容,將敵人新增到陣列的最後一位。
b :子彈入場
英雄機中發射子彈,hero類設計乙個方法用來實現子彈的發射------shoot()
run()方法中,子彈的發射shootaction()
每400毫秒,獲取到子彈陣列,擴容,將子彈陣列新增到陣列的最後一位。
c:飛行物的移動:
敵人的移動
子彈的移動
天空的移動
d:英雄機隨著滑鼠進行移動:
在hero中設計方法:movedto()實現英雄機的移動;
在shootmian中建立監聽機制,檢測滑鼠的移動事件;
e:刪除越界的飛行物
在flyingobject中涉及乙個方法outofbounds()----檢測是否越界;
在run()方法中,寫乙個方法outofboundsaction();—刪除越界的飛行物
遍歷敵人、子彈陣列,如果物件不越界,那麼將存放到不越界的陣列中,將不越界的陣列複製到敵人、子彈陣列中.
f:設計介面:
擊中小敵機+大敵機-----得1分 或者 3分------enemy
擊中蜜蜂-----隨機得生命或者火力-----award
Shoot射擊遊戲
shoot射擊遊戲專案二 1.需求分析 a 設計乙個父類 超類 並且讓6個物件繼承超類,測試 b 給超類新增構造方法 讓6個物件分別呼叫超類 c 設定物件陣列,進行測試 d 在6個子類 派生類中重寫 e 畫窗體 2.技術分析 重寫和過載 面試筆試題 重寫 override 發生在父子類中,方法名相同...
SHoot射擊遊戲專案
1,需求分析 執行專案 看結果 a 小敵機,大敵機。敵人 英雄機發射子彈 子彈打中敵人 b 子彈擊中小敵機 玩家得分 1 子彈擊中大敵機 玩家得分 5 子彈擊中小蜜蜂 生命值 1 或者得其他如 火力值 1 c 火力變化 單倍 雙倍 以及多倍 英雄機火力值變為0的時候 火力值變為單倍 火力值大於0是 ...
Shoot射擊遊戲專案三
a 給類新增修飾符 b 給6個派生類中新增 屬性 6個派生類中新增static屬性loadimage 載入 在父類中新增靜態方法loadimage 方法 修飾符 作用範圍 面試或筆試 y npublic protected default private 同乙個類yy yy同乙個包中不同類yy y不...