在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中
完成网络版
坦克大战项目——架构视频
坦克大战项目教程笔记
由于内容实在是太多了,小编就不多做介绍了,点赞此文后看文末免费获取
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种设计模式,希望大家能够好好学习,并且能够掌握这些细节性的东西。这些视频、笔记免费分享,可以 点击此处 凭截图免费获取