美文网首页
重本名校大佬用一个Java项目实战,能教会20多种设计模式

重本名校大佬用一个Java项目实战,能教会20多种设计模式

作者: Java程序员YY | 来源:发表于2019-10-22 21:19 被阅读0次

这个Java的项目实战案例就是我们熟悉的、经典游戏:坦克大战

实现的功能

1、单人模式

2、双人模式

3、通过广度优先算法实现坦克寻路功能

我们要让敌方坦克动起来,不仅要移动,还要打出炮弹,

实现思路

数据存储表示:在JPanel绘制图像,统一规定各个方块的大小为同一大小(如墙壁,坦克之类,子弹除外),从而方便使用二维数组存储地图的各个元素。

关于检测物体碰撞,这里使用了一个MyImage的父类,将坦克,墙壁定义为继承这个父类的一个类。、

图像打印则借助遍历两个ConcurrentHashMap分别储存坦克和其他类型的方块。将这些方块使用Map而不是使用数组是因为管理起来比较方便,而二维数组则是为了寻路算法而准备的,防止了频繁使用上面的两个Map而导致线程锁的问题。

设计模式

结构型:

适配器模式(Adapter Pattern);

桥接模式(Bridge Pattern);

外观模式(Facade Pattern);

享元模式(Flyweight Pattern);

代理模式(Proxy Pattern);

装饰模式(Decorator Pattern);

组合模式(Composite Pattern);

创建型:

单件模式(Singleton Pattern);

抽象工厂(Abstract Factory);

建造者模式(Builder);

工厂方法模式(Factory Method);

原型模式(Prototype);

行为型:

模板方法(Template Method);

解释器模式(Interpreter Pattern);

中介者模式(Mediator Pattern);

命令模式(Command Pattern);

迭代器模式(Iterator Pattern);

观察者模式(Observer Pattern)

职责链模式(Chain of Responsibility Pattern);

备忘录模式(Memento Pattern);

策略模式(Strategy Pattern);

访问者模式(Visitor Pattern);

状态模式(State Pattern)-坦克大战实例

最后,小编整理了以上 坦克大战项目实战、设计模式 和一些Java的资料

关注 转发文章 ;++我威信 bmaaa01 (记得备注来源)。 先到先得

相关文章

网友评论

      本文标题:重本名校大佬用一个Java项目实战,能教会20多种设计模式

      本文链接:https://www.haomeiwen.com/subject/kipcvctx.html