标签:示意图 规则 配置 用户 第一个 计算 选项 函数 回溯
进入遇到这样的需求
“有不定数量的游戏选项和不定的游戏人数选项给用户选择,我们按照 游戏人数<<24 | 游戏规则A<<16 | 游戏规则B<<8 | 游戏规则C 游戏规则D<<24 | 游戏规则E<<16 | 游戏规则F<<8 | 游戏规则G ........ 来生成所有规则可能选中和未选中的游戏码”
该需求中,不定数量的游戏选项和游戏人数需要动态输入 我们需要使用读取配置文件来获取多少游戏人数和游戏规则 这是待实现的功能1
根据获取数量的游戏选项 我们要生成所有可能的选中和未选中的排列组合 这是待实现的功能2
根据生成排列组合按照规则生成游戏码 还要说明游戏码中那些游戏选项被选中,也意味着需要进行排列组合和游戏规则的映射 这是待实现的功能3
读取配置文件来获取多少游戏人数和游戏规则 可以使用状态机分析配置文件 这之前已经有文章进行了介绍
据获取数量的游戏选项 我们要生成所有可能的选中和未选中的排列组合 可以使用递归回溯来进行计算
整个流程如下
假设游戏规则有三个 游戏规则 A B C
步骤1 假设游戏规则A 被选中 生成编码1
步骤2 假设游戏规则B 被选中 生成编码11
步骤3 假设游戏规则C 被选中 生成第一个完整编码111
我们回退到步骤2 假设游戏规则B 被选中后 步骤3 假设游戏规则C未被选中 生成第二个完整编码 110 以此类推 。。。。。。
流程示意图
整个过程描述比较繁琐 但是对于使用递归回溯的函数 则十分简洁
标签:示意图 规则 配置 用户 第一个 计算 选项 函数 回溯
原文地址:https://www.cnblogs.com/itdef/p/9601940.html