在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
- 完善责任链模式
- 加入墙
- 按键切换发射策略
- 实现暂停功能
- 实现存盘功能
- 使用Junit测试服务器loop
- 去掉敌人的坦克(机器控制的坦克)
- 处理接收到的消息
- player新的构造方法
- 让后来人能看到先加入者
- 加入坦克方向改变的消息
- 重构代码
- 收到改变坦克方向消息时让player的moving为true
- 发送主战坦克停止的消息
- 发送主战坦克开始移动的消息(方向没变)
- 加入子弹和Player的撞击逻辑
- 把主战坦克也加入到List中
- 完成网络版
坦克大战项目——架构视频
转发+关注后私信我【架构资料】领取设计模式、坦克大战学习资料
坦克大战项目教程笔记
转发+关注后私信我【架构资料】领取设计模式、坦克大战学习资料
由于内容实在是太多了,小编就不多做介绍了,这个是小编整理的Java坦克大战项目视频和pdf文档,大家需要的话就可以转发关注小编,私信小编“学习”来获取了。
23种设计模式
目录 创建型
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种设计模式的文档和视频,需要的小伙伴就可以转发关注一下小编,私信小编“学习”来进行获取。
在Java开发中,坦克大战项目和23种设计模式无疑是经典中的经典,就算是开发5年甚至是10年以上的开发者,都不敢说自己真真实实掌握了23种设计模式,希望大家能够好好学习,并且能够掌握这些细节性的东西。