先给大家讲述一下坦克大战是怎么进行运行的。
坦克大战第一节:
new 出一个窗口;
设定标题栏内容;
TankFrame从Frame继承+显示;
认识paint方法,重写;
坦克大战第二节
学习graphics类,画图;
学习repaint方法;
实现MyKeyListener,对键盘作出响应;
MyKeyListener从KeyAdapter继承;
坦克大战第三节
取得具体按键信息;
根据具体按键调整坦克位置,持有对方引用;
抽象出坦克类,学习使用枚举类型;
坦克大战第四节
把监听处理类MyKeyListener放到TankFrame内;
用匿名内部类处理窗口关闭;
根据按键状态,改变坦克方向;
坦克大战第五节
根据坦克方向移动位置;
能停,能动;
test包,关于classloader的知识;
06坦克大战第六节
将坦克换成图片版;
画出一颗子弹,让子弹飞一会儿;
按下ctrl键,主战坦克打出一发炮弹;
07坦克大战第七节
打出多发子弹;
子弹从坦克中心位置打出;
子弹消亡(飞出游戏区);
08坦克大战第八节
定义rectangle属性,不用每次都new;
炮弹new出来自动加入容器,死掉后自动去除;
分离玩家和机器人,对边界进行不同的处理;
09坦克大战第九节
用双缓冲消除闪烁;
加一堆敌人坦克;
做碰撞检测;
10坦克大战第十节
显示爆炸;
加入声音;
让敌人坦克更加智能;
11坦克大战第十一节
对坦克和子弹加入 Group属性;
测试Properties类的使用;
建立PropertyMgr类;
12坦克大战第十二节
MV分开 Model View分离;
GameModel 改成单例模式;
对于碰撞的处理;
13坦克大战第十三节
Class.forName().newInstance();
抽象出游戏物体的父类;
合成GameModel中的各种不同物体;
14坦克大战第十四节
完善责任链模式;
加入墙;
按键切换发射策略;
15坦克大战第十五节
实现暂停功能;
实现存盘功能;
使用Junit测试服务器loop;
16坦克大战第十六节
去掉敌人的坦克(机器控制的坦克);
处理接收到的消息;
player新的构造方法;
17坦克大战第十七节
让后来人能看到先加入者;
加入坦克方向改变的消息;
重构代码;
18坦克大战十八节
处理改变坦克方向的消息;
发送主战坦克停止的消息;
发送主战坦克开始移动的消息(方向没变);
19坦克大战第十九节
加入子弹和Player的撞击逻辑;
把主战坦克也加入到List中;
完成坦克大战网络版
设计模式(23种设计模式)
创建型:
1. 单件模式(Singleton Pattern);
2. 抽象工厂(Abstract Factory);
3. 建造者模式(Builder);
4. 工厂方法模式(Factory Method);
5. 原型模式(Prototype);
原型模式坦克大战java实现2(侧重说明模式的价值)
一个实例用全创建型模式
一个实例用全创建型模式-优化(冗余消除)
结构型:
6. 适配器模式(Adapter Pattern);
7. 桥接模式(Bridge Pattern);
8. 装饰模式(Decorator Pattern);
9. 组合模式(Composite Pattern);
10. 外观模式(Facade Pattern);
11. 享元模式(Flyweight Pattern);
12. 代理模式(Proxy Pattern);
行为型:
13. 模板方法(Template Method);
14. 命令模式(Command Pattern);
15. 迭代器模式(Iterator Pattern);
16. 观察者模式(Observer Pattern);
17. 解释器模式(Interpreter Pattern);
18. 中介者模式(Mediator Pattern);
19. 职责链模式(Chain of Responsibility Pattern);
20. 备忘录模式(Memento Pattern);
21. 策略模式(Strategy Pattern);
22. 访问者模式(Visitor Pattern);
23. 状态模式(State Pattern)-坦克大战实例;
状态模式(State Pattern)-电控门实例
中和应用:
策略模式和职责链模式实现坦克大战
策略模式和职责链模式实现坦克大战2
策略模式和职责链模式实现坦克大战3(享元模式追加)
坦克大战状态模式+单实例实现实现
下面能给大家来java坦克大战300集和23种设计模式,还有图解设计模式哦~~
大家转发关注小编,私信小编“学习”来得到获取方式吧~~
图解设计模式
23种设计模式
来源:CSDN
作者:Sqdmn
链接:https://blog.csdn.net/Sqdmn/article/details/103495639