IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 合成游戏中的数学原理 -> 正文阅读

[网络协议]合成游戏中的数学原理

一个游戏

??????不知道屏幕前的你是否也玩过这样的一个游戏,在游戏里,你可以将两个低等级的单元可以合成为一个次高等级的单元,而两个次高等级的单元可以合成为一个高等级的单元,而这样的合成游戏中,往往也会具有网格的限制,每一个单元都会占据一个网格,而总的网格是有限的,并且在网格中添加单元时,只能添加最低的等级的单元。那总的网格数与我们单元的最高等级之间是否有一定的数学关系呢?想必是有的,先来带大家看一下我最近玩过的一款游戏,是一款合成恐龙的游戏。
在这里插入图片描述

这张图片就表现出了网格的概念,每一个单元占据一个网格,而一共有 15 15 15个网格,并且每两个同等级的单元可以合成为一个高等级的单元。

问题分析与解决

分析

??????遇到了逢二进一的问题,我们首先就会想到二进制的问题。的确,我们在探究一个有 15 15 15个网格可以放置的最大的单元等级是多少的问题时,我们可以采取这样的思路,将我们的操作分成了两个操作:添加操作与融合操作。添加操作即每次往这些网格中放置一个最低等级的单元(这也是问题的一个限制),融合操作为将满足融合条件(同一等级的单元数量大于等于 2 2 2)的单元进行融合。并且,为了最大化我们的网格空间,我们将融合操作的优先级放到添加操作的前面。我们前面提到,这样的一个问题是一个二进制逢二进一的问题,即完全可以将这个问题看作一个二进制计数的问题。

抽象

??????按照我们上述的规定,融合操作优先级大于放置操作优先级,那这个问题已经转化为了一个二进制计数的问题。我们先把网格数量减少到 3 3 3。我们先添加一个最低单元,二进制数代表为 ( 1 ) (1) 1。此时没有满足融合条件,我们继续添加。现在有两个最低等级的单元,但还没有融合,我们找不到一个合适的二进制数对其进行表示,我们规定一个二进制数 ( 02 ? ) (02*) 02?,这里的 ′ ? ′ '*' ? 代表的是逢二已满,但没有进位的中间态。此时,占据的网格数量是2,然后进行融合操作,融合为一个高等级的单元,对应的二进制数代表为 ( 10 ) (10) 10,占据一个网格。
??????如果想融合成一个等级为三的单元,我们需要几个一级单元呢?很明显是 4 4 4个,那 4 4 4个等级为一的单元是如何被放置在这些网格上的呢?很明显在之前 ( 10 ) (10) 10的基础上,又增添了两个,随后变成了 ( 12 ? ) (12*) 12?,再次融合变成 ( 2 ? 0 ) (2*0) 2?0,再次融合变成 ( 100 ) (100) 100
??????即融合成一个三级的单元,需要至少三个网格,我们这里的网格数定义为二进制数上的每一位代表的数量之和,即所需要的最少的网格数等于在整个添加、融合过程中二进制数上每一位之和的最大值(包括中间态),在二进制合成游戏下,我们想融合一个等级为 N N N的单元,至少需要 N N N个网格。

拓展

??????倘若存在三进制的单元游戏,或者多进制的单元合成游戏( M M M进制),那生成一个等级为 N N N的单元至少需要多少个网格呢。倘若生成等级为 N N N的单元,可知其对应的 M M M进制数的第 N N N位应该为零,从第一位到第 ( N ? 1 ) (N-1) N?1位,都不为 0 0 0。并且首位为 M M M,其余位为 ( M ? 1 ) (M-1) (M?1),即所占据的网格数量为: ( M + ( N ? 2 ) ( M ? 1 ) ) = ( M N ? M ? N + 2 ) (M+(N-2)(M-1))=(MN-M-N+2) (M+(N?2)(M?1))=(MN?M?N+2),将 M = 2 M=2 M=2代入可得在二进制下,这个关系为 N N N

验证

??????倘若我们的计算无误,那上述提到的那款小游戏所生成的单元的最大等级不会超过 15 15 15,倘若超过 15 15 15,则无法进行合成。同时,小游戏中有两类角色,所以每个角色的最高等级不会超过 14 14 14。通过查看游戏图鉴可知,两类角色的最大等级均为 11 11 11,可知,游戏内部还是有其合理性的。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-06-18 23:33:03  更:2022-06-18 23:33:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 14:56:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码