shoot射擊遊戲 day6

2021-09-12 00:26:35 字數 1514 閱讀 8659

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不...