坦克大戰項目
坦克大戰項目通過一個聯機對戰遊戲的手把手,一行一行的開發過程,讓你精準的理解和運用JavaSE,DesignPatterns , TCP/IP, 多線程, NIO等基礎知識。真正理解項目的開發過程,並體會項目開發的難點和痛點。 請記住,只有做項目,纔是對所學的真正檢驗。
坦克大戰項目目錄
new出一個窗口
設定標題欄內容
TankFrame從Frame繼承+顯示
認識paint方法重寫
學習graphics 類畫圖
學習repaint 方法
實現MyKeyListener對鍵盤作出響應
MyKeyListener從KeyAdapter繼承
取得具體按鍵信息
根據具體按鍵調整坦克位置持有對方引用
抽象出坦克類學習使用枚舉類型記錄鍵盤狀態
把監聽處理類MyKeyListener放到TankFrame內部
用匿名內部類處理窗口關閉
根據按鍵狀態改變坦克方向
根據坦克方向移動位置
能停能動
test包關於classloader的知識
將坦克換成圖片版
畫出一顆子彈讓子彈飛- -會兒
按下ctrl鍵主戰坦克打出一發炮彈
打出多發子彈
子彈從坦克中心位置打出
子彈消亡(飛出遊戲區)
定義rectangle屬性不用每次都new
炮彈new出來自動加入容器死掉後自動去除
分離玩家和機器人對邊界進行不同的處理
用雙緩衝消除閃爍
加一堆敵人坦克
做碰撞檢測
顯示爆炸
加入聲音
讓敵人坦克更加智能
對坦克和子彈加入Group屬性,
不同的Group可以互相撞擊
測試Properties類的使用
建立PropertyMgr類
MV分開Model View分離
GameModel改成單例模式
對於碰撞的處理
Class. forName().newInstance()
抽象出遊戲物體的父類
把GameModel中的各種不同物體的List合成爲一個
List <GameObject>
完善責任鏈模式
加入牆
按鍵切換髮射策略
實現暫停功能
實現存盤功能
使用Junit測試服務器loop
去掉敵人的坦克(機器控制的坦克)
處理接收到的消息
player新的構造方法
讓後來人能看到先加入者
加入坦克方向改變的消息
重構代碼
收到改變坦克方向消息時讓player的moving爲true
發送主戰坦克停止的消息
發送主戰坦克開始移動的消息(方向沒變)
加入子彈和Player的撞擊邏輯
把主戰坦克也加入到List中
完成網絡版
坦克大戰項目——架構視頻
關注後文末領取設計模式、坦克大戰學習資料
坦克大戰項目教程筆記
關注後文末領取設計模式、坦克大戰學習資料
抽絲剝繭設計模式
在這些模式中,我並沒有止步於理論講解(那其實非常簡單),而是堅持用代碼說話,用實際能用的上的代碼說話。
比如在工廠模式中,我直接講到SpringIOC原理。
比如在動態代理模式和Visitor模式中,我直接講到ASM。
.........
創建型
1. Factory Method(工廠方法)
2. Abstract Factory(抽象工廠)
3. Builder(建造者)
4. Prototype(原型)
5. Singleton(單例)
結構型
6. Adapter Class/Object(適配器)
7. Bridge(橋接)
8. Composite(組合)
9. Decorator(裝飾)
10. Facade(外觀)
11. Flyweight(享元)
12. Proxy(代理)
行爲型
13. Interpreter(解釋器)
14. Template Method(模板方法)
15. Chain of Responsibility(責任鏈)
16. Command(命令)
17. Iterator(迭代器)
18. Mediator(中介者)
19. Memento(備忘錄)
20. Observer(觀察者)
21. State(狀態)
22. Strategy(策略)
23. Visitor(訪問者)
23種設計模式筆記文檔
23種設計模式視頻
關注後文末領取設計模式、坦克大戰學習資料
從上面可以很清晰的看到坦克大戰和23種設計模式的文檔與視頻,小編都爲大家準備好了,如果大傢伙需要的話,可以轉發此文關注小編,掃碼領取