在Java开发中,坦克大战项目和23种设计模式无疑是经典中的经典,就算是开发5年甚至是10年以上的开发者,都不敢说自己真真实实掌握了23种设计模式,希望大家能够好好学习,并且能够掌握这些细节性的东西。
坦克大战项目
坦克大战项目通过一个联机对战游戏的手把手,一行一行的开发过程,让你精准的理解和运用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中
-
完成网络版
坦克大战项目——架构视频
坦克大战项目教程笔记
由于内容实在是太多了,小编就不多做介绍了,点赞此文后看文末免费获取
23种设计模式
目录 创建型
Factory Method(工厂方法)
Abstract Factory(抽象工厂)
Builder(建造者)
Prototype(原型)
Singleton(单例) 结构型
Adapter Class/Object(适配器)
Bridge(桥接)
Composite(组合)
Decorator(装饰)
Facade(外观)
Flyweight(享元)
Proxy(代理) 行为型
Interpreter(解释器)
Template Method(模板方法)
Chain of Responsibility(责任链)
Command(命令)
Iterator(迭代器)
Mediator(中介者)
Memento(备忘录)
Observer(观察者)
State(状态)
Strategy(策略)
Visitor(访问者)
下面的是23种设计模式的文档和视频
在Java开发中,坦克大战项目和23种设计模式无疑是经典中的经典,就算是开发5年甚至是10年以上的开发者,都不敢说自己真真实实掌握了23种设计模式,希望大家能够好好学习,并且能够掌握这些细节性的东西。这些视频、笔记免费分享,可以 点击此处 凭截图免费获取