《游戏设计模式》笔记

看了《游戏设计模式》后觉得受益匪浅,写一点笔记与关于自制游戏引擎的构想

《游戏设计模式》英文版原名,Game Programming Patterns

Web版阅读地址(中文):https://gpp.tkchu.me/

                 (英文)http://gameprogrammingpatterns.com/contents.html

 

1.常用GOF设计模式

1.1 命令模式(Command Pattern)

定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤销的操作。

游戏引擎中的运用:将命令数据化,就是封装为对象,这样命令可以放入队列或者栈中,可以简单重复,撤消,再利用等。比如在输入模块上使用命令模式,可以实现重放,撤消等操作。

1.2 享元模式(Flyweight Pattern)

定义:以共享的方式通过利用已存在的实例,降低系统的性能消耗

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验一 单例模式的应用 1 实验目的 1) 掌握单例模式(Singleton)的特点 2) 分析具体问题,使用单例模式进行设计。 2 实验内容和要求 很多应用项目都有配置文件,这些配置文件里面定义一些应用需要的参数数据。 通常客户端使用这个类是通过new一个AppConfig的实例来得到一个操作配置文件内容 的对象。如果在系统运行中,有很多地方都需要使用配置文件的内容,系统中会同时存 在多份配置文件的内容,这会严重浪费内存资源。 事实上,对于AppConfig类,在运行期间,只需要一个对象实例就够了。那么应该怎 么实现呢?用C#控制台应用程序实现该单例模式。绘制该模式的UML图。 3 模式结构图 4 UML类图 5 代码 6运行结果 实验二 工厂模式的应用 1 实验目的 1) 掌握工厂模式(Factory)的特点 2) 分析具体问题,使用工厂模式进行设计。 2 实验内容和要求 有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔 记本电脑的订单Acer,Lenovo,Dell,该OEM商发现,如果一次同时做很多个牌子的本本 ,有些不利于管理。利用工厂模式改善设计,用C#控制台应用程序实现该OEM制造商的工 厂模式。绘制该模式的UML图。 3 模式结构图 4 UML类图 5 代码 6运行结果 实验三 抽象工厂模式的应用 1 实验目的 1) 掌握抽象工厂模式(Abstract Factory)的特点 2) 分析具体问题,使用抽象工厂模式进行设计。 2 实验内容和要求 麦当劳(McDonalds)和肯德基(KFC)快餐店都经营汉堡(Hamburg)和可乐(Cola ),用C#控制台应用程序实现这两个快餐店经营产品的抽象工厂模式。绘制该模式的UM L图。 3 模式结构图 4 UML类图 5代码 6运行结果 df 实验四 建造者模式的应用 1 实验目的 1) 掌握建造者模式(Builder)的特点 2) 分析具体问题,使用建造者模式进行设计。 2 实验内容和要求 建造者模式是一种创建型模式,它主要是应对项目中一些复杂对象的创建工作。所谓 "复杂对象",是指此对象中还含有其它的子对象。我们现在定义一个场景:汽车生产必 须包含车轮(Wheel)、油箱(OilBox)和车身(Body),应用建造者模式,用C#控制台应用程 序实现该设计,构建BMW品牌和BenZ品牌汽车生产。绘制该模式的UML图。 3 模式结构图 4 UML类图 5代码 6运行结果 实验五 适配器模式的应用 1 实验目的 1) 掌握适配器模式(Adapter)的特点 2) 分析具体问题,使用适配器模式进行设计。 2 实验内容和要求 一个软件团队开发绘图系统,设计了圆对象(Circle)、矩形对象(Rectangle),线对 象(Line)都支持Draw()函数,即可以通过Draw()函数绘制图形。为了加快项目进度,将 角度对象(Angle)绘制功能交给了合作团队实现。但合作团队将角度对象绘制函数定为了 DrawAngle()。绘图系统提供给用户后,用户不满意,希望能统一的调用,不用记太多命 令。应用适配器模式,用C#控制台应用程序完善该设计。绘制该模式的UML图。 3模式结构图 4 UML类图 5 代码 6运行结果 实验六 桥接模式的应用 1 实验目的 1) 掌握桥接模式(Bridge)的特点 2) 分析具体问题,使用桥接模式进行设计。 2 实验内容和要求 一个咖啡店可以提供大杯(JorumCoffee)、中杯(MediumCoffee)、小杯(SmallCoffee )的咖啡(Coffee),为了满足不同用户的口味,在咖啡中可以添加牛奶(Milk),或者糖( Sugar),或者柠檬(Lemon),提供给用户不同口味的组合,如大杯咖啡加牛奶,中杯咖啡 加糖,小杯咖啡加柠檬,小杯咖啡加糖等。应用桥接模式,用C#控制台应用程序实现该 设计。绘制该模式的UML图。 3 模式结构图 4 UML类图 5 代码 6 运行结果 实验七 装饰模式的应用 1 实验目的 1) 掌握装饰模式(Decorator)的特点 2) 分析具体问题,使用装饰模式进行设计。 2 实验内容和要求 "喜羊羊逃命"游戏:喜羊羊被灰太狼追,喜羊羊最多5条命,灰太狼每咬到喜羊羊一 次,喜羊羊就要少一条命。在逃的过程中喜羊羊可以吃到三种苹果,吃"红苹果"可以给 喜羊羊加上保护罩,吃"绿苹果"可以加快喜羊羊奔跑速度,吃"黄苹果"可以使喜羊羊趟 着水跑。应用装饰模式,用C#控制台应用程序实现该设计。绘制该模式的UML图。 提示:这个例子如果用类的继承来实现的话那可就麻烦了,你需要为喜羊羊派生3*2 *1=6个子类(有保护罩的喜羊羊,奔跑速度加快的喜羊羊,会趟水的喜羊羊,既有保护 罩又会趟水的喜
Java语言游戏项目实战资源包 内容概览: 这次分享为你带来了丰富的Java语言游戏项目实战资源,让你在实践中深入掌握Java语言,并开启游戏开发之旅。资源包中包括: 游戏项目代码:精心挑选了多个经典的小游戏项目,如猜数字、坦克大战等,每个项目都有完整的代码实现。 项目文档:详细的项目文档,介绍了项目的背景、功能、架构以及实现细节,帮助你更好地理解项目。 操作手册与使用说明:针对每个游戏项目,都准备了详细的操作手册和使用说明,手把手教你如何运行和测试项目。 学习笔记:整理了Java语言在游戏开发中的核心知识点和常用技术,方便你随时查阅和学习。 适用人群: 这份资源包适用于所有对Java游戏开发感兴趣的朋友,无论你是计算机专业的学生,还是希望业余时间尝试游戏开发的爱好者,都可以从中受益。 使用建议: 由浅入深实践:建议先从简单的游戏项目开始,逐步深入,既能增强自信,也能逐步提升技术水平。 结合文档与代码:在实践过程中,结合项目文档和代码,理解每一行代码背后的意义和原理。 持续学习与探索:Java语言和游戏开发技术都在不断更新,建议你在实践中持续学习新的技术和工具,不断提升自己。 Java语言游戏项目实战资源包 内容概览: 这次分享为你带来了丰富的Java语言游戏项目实战资源,让你在实践中深入掌握Java语言,并开启游戏开发之旅。资源包中包括: 游戏项目代码:精心挑选了多个经典的小游戏项目,如猜数字、坦克大战等,每个项目都有完整的代码实现。 项目文档:详细的项目文档,介绍了项目的背景、功能、架构以及实现细节,帮助你更好地理解项目。 操作手册与使用说明:针对每个游戏项目,都准备了详细的操作手册和使用说明,手把手教你如何运行和测试项目。 学习笔记:整理了Java语言在游戏开发中的核心知识点和常用技术,方便你随时查阅和学习。 适用人群: 这份资源包适用于所有对Java游戏开发感兴趣的朋友,无论你是计算机专业的学生,还是希望业余时间尝试游戏开发的爱好者,都可以从中受益。 使用建议: 由浅入深实践:建议先从简单的游戏项目开始,逐步深入,既能增强自信,也能逐步提升技术水平。 结合文档与代码:在实践过程中,结合项目文档和代码,理解每一行代码背后的意义和原理。 持续学习与探索:Java语言和游戏开发技术都在不断更新,建议你在实践中持续学习新的技术和工具,不断提升自己。 Java语言游戏项目实战资源包 内容概览: 这次分享为你带来了丰富的Java语言游戏项目实战资源,让你在实践中深入掌握Java语言,并开启游戏开发之旅。资源包中包括: 游戏项目代码:精心挑选了多个经典的小游戏项目,如猜数字、坦克大战等,每个项目都有完整的代码实现。 项目文档:详细的项目文档,介绍了项目的背景、功能、架构以及实现细节,帮助你更好地理解项目。 操作手册与使用说明:针对每个游戏项目,都准备了详细的操作手册和使用说明,手把手教你如何运行和测试项目。 学习笔记:整理了Java语言在游戏开发中的核心知识点和常用技术,方便你随时查阅和学习。 适用人群: 这份资源包适用于所有对Java游戏开发感兴趣的朋友,无论你是计算机专业的学生,还是希望业余时间尝试游戏开发的爱好者,都可以从中受益。 使用建议: 由浅入深实践:建议先从简单的游戏项目开始,逐步深入,既能增强自信,也能逐步提升技术水平。 结合文档与代码:在实践过程中,结合项目文档和代码,理解每一行代码背后的意义和原理。 持续学习与探索:Java语言和游戏开发技术都在不断更新,建议你在实践中持续学习新的技术和工具,不断提升自己。Java语言游戏项目实战资源包 内容概览: 这次分享为你带来了丰富的Java语言游戏项目实战资源,让你在实践中深入掌握Java语言,并开启游戏开发之旅。资源包中包括: 游戏项目代码:精心挑选了多个经典的小游戏项目,如猜数字、坦克大战等,每个项目都有完整的代码实现。 项目文档:详细的项目文档,介绍了项目的背景、功能、架构以及实现细节,帮助你更好地理解项目。 操作手册与使用说明:针对每个游戏项目,都准备了详细的操作手册和使用说明,手把手教你如何运行和测试项目。 学习笔记:整理了Java语言在游戏开发中的核心知识点和常用技术,方便你随时查阅和学习。 适用人群: 这份资源包适用于所有对Java游戏开发感兴趣的朋友,无论你是计算机专业的学生,还是希望业余时间尝试游戏开发的爱好者,都可以从中受益。 使用建议: 由浅入深实践:建议先从简单的游戏项目开始,逐步深入,既能增强自信,也能逐步提升技术水平。 结合文档与代码:在实践过程中,结合项目文档和代码,理解每一行代码背后的意义和原理。 持续学习与探索:Java语言和游戏开发技术都在不断更新,建议你在实践中持续学习新的技术和工具,不
### 回答1: Head First 设计模式是一本Java编程的经典教材,许多程序员都采用这本教材来学习设计模式。Head First 设计模式主要介绍了23种常用的设计模式,包括单例模式、策略模式、装饰器模式等等。 这本教材使用了大量的图片、漫画、游戏等有趣的元素,让学习过程更加生动形象,使读者更容易理解设计模式的概念和用法。此外,每种设计模式都以一个例子作为案例来说明它的应用场景和解决问题的方法,深入浅出地让读者掌握设计模式的实现过程。 而在CSDN上,关于Head First 设计模式的内容也非常丰富。不仅有这本教材的电子版和学习笔记,还有其他作者写的相关文章和博客,涵盖了从基础概念到实际应用的各个方面。可以说,CSDN是学习Head First 设计模式的一个非常好的平台,为程序员提供了许多宝贵的学习资源和交流平台。 总之,Head First 设计模式是一本经典的Java编程教材,通过CSDN平台,程序员可以更方便地学习和掌握这门技术,提高自己的编程能力和实践经验。 ### 回答2: Head First 设计模式是一本非常优秀的设计模式入门书籍,它以非常生动有趣的方式介绍了二十三种常见的设计模式,包括适配器模式、工厂模式、命令模式等等。每一种模式的介绍都采用了非常形象的图例、实例、故事和练习来帮助读者深入理解模式的概念和应用场景。这种生动的讲解方式让读者更容易理解和应用设计模式,同时也提高了学习的趣味性。 此外,Head First 设计模式还介绍了面向对象的设计原则,例如开闭原则、单一职责原则、依赖倒置原则等等。这些原则是设计模式的基础,对于掌握设计模式非常重要。 最后,这本书还提供了许多练习题和活动来检验读者对设计模式的掌握和应用能力。通过这些练习,读者可以更好地巩固所学知识。 总之,Head First 设计模式是一本非常值得推荐的设计模式入门书籍,它不仅生动有趣,而且深入浅出,让读者在轻松愉悦的氛围中学习设计模式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值