写点什么

你敢信?清华毕业大佬用了一个坦克大战项目就讲完了 23 种设计模式

  • 2022-11-27
    湖南
  • 本文字数:939 字

    阅读完需:约 3 分钟

坦克大战

一、需求分析


坦克大战中有我方坦克和敌方坦克,我方坦克有一个,敌方坦克有多个。坦克可以移动,也可以发射子弹。我方坦克可以通过上下左右键来控制方向,敌方坦克自动改变方向。在游戏窗体中有障碍物,包括砖墙、钢墙、水墙和草地。坦克可以穿过草地,在遇到其他障碍物时,我方坦克停止移动,并通过操纵改变方向再移动,敌方坦克遇到其他障碍物时可以自动的改变方向。我方坦克有三次生命值,当与敌方坦克或敌方子弹相撞时,生命值减- -, 当生命值是零时,敌方胜利,游戏结束。敌方坦克的生命值为-一,当敌方坦克与我方坦克或者我方子弹相遇就消失,同时我方子弹也消失,并产生爆炸。当我方坦克把敌方坦克消灭完后,我方胜利,游戏结束。敌方子弹或我方子弹击中老巢,游戏结束。


二、程序设计


采用面向对象的设计方法,项目中有以下类:


主窗体: GameForm, 游戏的主窗体。


坦克:父类坦克(Tank)、 我方坦克(MyTank)、 敌方坦克( EnemyTank)。


墙:父类墙(Wall)、砖墙(BrickWall)、刚墙( SteelWall)、水墙( WaterWall)、


草地(MeadoeWall)。


子弹:父类子弹(Bullet)、 我方子弹(MyBullet)、敌方坦克(EnemyBullet)。


老巢: Home


火花: Spark, 子弹与墙碰撞产生火花。


爆炸: Blast, 子弹与坦克和老巢碰撞产生爆炸。


坦克大战项目目录:



视频教程:






















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(访问者)





在 Java 开发中,坦克大战项目和 23 种设计模式无疑是经典中的经典,就算是开发 5 年甚至是 10 年以上的开发者,都不敢说自己真真实实掌握了 23 种设计模式,希望大家能够好好学习,并且能够掌握这些细节性的东西。

需要文章中配套资料的朋友可以——点击传送门

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022-09-20 加入

还未添加个人简介

评论

发布
暂无评论
你敢信?清华毕业大佬用了一个坦克大战项目就讲完了23种设计模式_Java_小二,上酒上酒_InfoQ写作社区