通过怪物展示Demo理解游戏设计模式中的迭代器模式

点击上方亿元程序员+关注和★星标

引言

大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。

本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。

今天我们要来聊一聊游戏开发中的一个重要设计模式------迭代器模式 。相信很多开发者在开发过程中都会遇到需要遍历数据结构 的情况,而迭代器模式就是一种非常优雅 的解决方案。那么,什么是 迭代器模式?它又有什么优点 呢?接下来就让我们一起来揭开 迭代器模式的神秘面纱吧!

本文源码和源工程在文末获取,小伙伴们自行前往。

什么是迭代器模式?

迭代器模式 是一种设计模式,它定义了一个迭代器接口 ,该接口包含两个方法:hasNext()next()。迭代器接口的实现类负责遍历数据结构返回下一个元素 。当没有更多元素时,hasNext() 方法应返回 false,而 next() 方法应抛出一个异常。

迭代器模式的优点

那么,为什么 我们需要使用迭代器模式呢?这里有几个主要原因

  1. 代码解耦:迭代器模式将数据结构和遍历逻辑分离,使得我们可以在不改变数据结构的情况下,轻松地添加、删除或修改元素。这大大提高了代码的可维护性和可扩展性
  2. 提高代码复用性:通过使用迭代器模式,我们可以将遍历逻辑封装在一个独立的类中,从而实现代码的复用。这对于游戏开发中的多个场景(如角色列表、物品栏等)来说,可以大大减少重复代码。
  3. 增强代码可读性:迭代器模式使得代码更加简洁、清晰,易于阅读和理解。这对于团队合作和代码审查来说,是非常有帮助的。

在游戏中运用迭代器模式

下面我们一起来做一个怪物展示Demo,通过它去理解迭代器模式。

1.怪物

首先,我们需要创建一个怪物类 ,用于存储 怪物的信息,包括怪物名字和怪物图片路径

2.怪物迭代器

接下来,我们创建一个怪物迭代器类,用于遍历 怪物列表,该接口包含两个方法:hasNext()next()

3.使用迭代器

然后,我们创建一个怪物列表,并使用迭代器模式 来遍历怪物列表,并给怪物添加上一篇文章手敲的FrameAnim帧动画组件。

通过space按键去遍历怪物并且切换怪物。

4.资源准备

老样子拿出82年的典藏资源(好东西)。

5.结果演示

在这个示例中,我们使用了一个简单的数组 来存储怪物信息 ,并使用迭代器模式来遍历这个数组。

当然,在实际 的游戏开发中,你可能需要使用更复杂的数据结构 来存储怪物信息,但基本的迭代器模式的思路是相同的。

通过使用迭代器模式,我们可以更加灵活 地处理游戏中的各种数据结构,提高代码的可读性和可维护性

结语

在哪里 可以看到如此清晰的思路,快跟上我的节奏!关注我 ,和我一起了解 游戏行业最新动态,学习游戏开发技巧。

本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》大家可以自行点击搜索体验。

实不相瞒,想要个在看 !请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

8年主程手把手打造Cocos独立游戏开发框架

从零开始开发贪吃蛇小游戏到上线系列

游戏开发的技巧、心得、资讯

关注我,发送"迭代器模式"获取源码和源工程。

点击下方绿色按钮+关注

相关推荐
shawxlee4 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
用户059540174464 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹4 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen4 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱4 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
郝亚军6 小时前
如何安装webstorm、Node.js和vue CLI
前端·javascript·vue.js
IT_陈寒6 小时前
React的useEffect依赖项把我坑惨了
前端·人工智能·后端
东方小月7 小时前
从零开发一个Coding Agent:monorepo项目搭建
前端·后端·node.js
葬送的代码人生7 小时前
别再让 AI 瞎写代码了!Vibe Coding 三步法教你写出靠谱代码
前端·设计模式·架构
Shirley~~7 小时前
Code-Review-Graph:面向 AI 辅助代码审查的结构化上下文引擎
前端·ai编程