游戏开放式新手引导框架设计

ops/2024/11/10 12:12:33/

强制性引导:只能点某个按钮 优:程序简单 缺: 玩家体验差
开放式引导:不强制点 优:玩家体验好 缺: 程序复杂
需求分析:
1.开放式引导,引导是到达某个条件后进行一系列行为(引导行为1,2,3,4)帮助玩家快速了解功能
2.每个行为都有自己单独的表现
3.引导可以共存,共存时用优先级判断展示。可以插入,回退

模块设计:
1.新手引导的触发方式应该是挂在logic外的 不应该和代码混在一起 (可以用观察者模式 事件来触发)
2.引导有很多不同的表现和行为(不同的object),并且需要处理好每个引导的生命周期(需要有一个引导行为的接口 实现初始化和清空这两个必要的接口)。
3.满足引导触发条件后,先加入引导列表判断优先级后决定是否展示
4.引导触发后的逻辑大概有:行为对象初始化,当前行为引导是否满足条件能触发,触发后的表现,表现完后的清空 ,执行下一个行为,引导结束。
还有各种引导行为跳转、回退、插入,这么多的逻辑想要理清楚,最好就是抽象一下流程。跳转,回退时不容易出问题。
用流程来控制,只提供三个接口:执行当前流程、下一步流程、切换流程 防止过多的逻辑到时候没有抽象分类理不清楚发生了什么

UML结构流程图
在这里插入图片描述


http://www.ppmy.cn/ops/95838.html

相关文章

基于springboot的智能家居系统

TOC springboot198基于springboot的智能家居系统 研究背景与现状 时代的进步使人们的生活实现了部分自动化,由最初的全手动办公已转向手动自动相结合的方式。比如各种办公系统、智能电子电器的出现,都为人们生活的享受提供帮助。采用新型的自动化方式…

后端开发刷题 | 二叉树的前序遍历

描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 数据范围:二叉树的节点数量满足 1≤n≤100 ,二叉树节点的值满足 1≤val≤100,树的各节点的值各不相同 示例 1: 示例1 输入: {1,#,2,3} 返…

打卡学习Python爬虫第一天|python爬虫环境搭建

Python3 下载 Python3 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到: Python 官网:Welcome to Python.orgThe official home of the Python Programming Languagehttps://www.python.org/ 可以在以下链接中下载 …

CSS的:read-write和:read-only伪类:增强表单元素的样式与用户体验

CSS(层叠样式表)是用于控制网页样式的核心技术之一。随着Web开发的不断进步,CSS提供了越来越多的伪类来增强开发者对页面元素的控制能力。:read-write和:read-only是CSS中相对较新的伪类,它们允许开发者根据表单元素的可编辑性来应…

笔记本一线品牌有哪些

笔记本电脑的一线品牌通常指的是在市场上具有较高市场份额、良好口碑、较强的技术实力和服务能力的品牌。根据目前的信息,笔记本电脑市场的一线品牌主要包括以下几个: 联想 (Lenovo):联想在全球笔记本市场上的占有率较高,其产品线…

【SpringBoot】SpringBoot的运行原理

SpringBoot项目中都有一个如下的启动类。 SpringBootApplication public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class,args);} }其中SpringBootApplication是这个启动类的核心注解,在它下面又有三个子…

Ma Spaghet!

目录 一、题目 二、思路 三、payload 3.1 方案一 3.2 方案二(官方) 四、思考与总结 一、题目 <!-- Challenge --> <h2 id"spaghet"></h2> <script>spaghet.innerHTML (new URL(location).searchParams.get(somebody) || "Somebody…

class_2:数学运算和注释

1、运算符优先级 2、导入算数库 import matha -1 b -2 c 3 #一元二次方程 delta b ** 2 -4*a*c print((-b math.sqrt(delta))/(2*a)) print((-b - math.sqrt(delta))/(2*a)) 3、注释