一个游戏

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

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

问题分析与解决

分析

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

抽象

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

拓展

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

验证

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

合成游戏中的数学原理相关推荐

  1. 游戏中的数学与物理学 第二版_在游戏中启蒙幼儿的数学能力和逻辑思维能力...

    同事奥北是个很有教育想法的妈妈,怀孕的时候就学习很多育儿知识,孩子出生后,她就在生活中,有意识的去培养孩子的各种能力.最近,孩子到了3岁后,她想要开始逐步培养孩子良好的逻辑思维能力.她本想着送孩子到早 ...

  2. 【转载】word2vec 中的数学原理详解

    文章目录 一.前言 二.预备知识 三.背景知识 四.基于 Hierarchical Softmax 的模型 五.基于 Negative Sampling 的模型 六.若干源码细节 原文传送门: wor ...

  3. 转:word2vec 中的数学原理详解

    1,目录和前言 https://blog.csdn.net/itplus/article/details/37969519 2,预备知识:逻辑回归.贝叶斯公式.霍夫曼树 https://blog.cs ...

  4. 3D游戏中的数学运用

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:[119706192]本文链接地址: 3D游戏中的数学运用 [01]3D游戏数学简介 总导:游戏中会使用 ...

  5. c语言围棋原理,围棋中的数学原理

    围棋是我国传统"四艺"之一,文献所载可以追溯到春秋战国时期.如今,围棋已经变成国际通行的棋种.可是你知道吗,围棋不仅是我国的文化遗产,其中还隐藏着很多有趣的数学小知识. (1)&q ...

  6. 魔术中的数学艺术系列讲座(三)——魔术中的数学原理

    魔术中的数学艺术 白色 (3)魔术中的数学原理 REC 白色 作者简介: 田汸,腾讯算法工程师,MatheMagician原创公众号作者.主攻NLP,擅长统计算法,数学建模.业余研究魔术16年,是资深 ...

  7. 游戏中的数学之3D基础

    目录 1.方向向量 2.矩阵旋转 3.欧拉角 4.Quaternion 5.互相转换 1.方向向量 1: forward, up, right为单位方向向量,世界坐标系下的 2: 单位向量 * 标量 ...

  8. 王者荣耀中的数学原理及游戏策略(一)防御篇(护甲|魔抗|伤害运算机制)

    王者荣耀中涉及多种装备,其中,防御型装备有护甲,魔抗,生命值的加成.这些装备到底对于游戏中的增益如何体现,可以通过相应的数据进行研究. 代码地址:https://github.com/Xingxian ...

  9. 游戏中的数学与物理(一)

    (看了<游戏开发的数学与物理>,感觉很不错,记下点东西. 这是本"图灵程序丛书",对于这个系列的书,我一直是蛮喜欢的,感觉书的内容.排版等,都让人看着很舒服.) 1.1 ...

  10. 游戏中的数学与物理学 第二版_在数学课堂中适度开展游戏活动,可以提高课堂教学效率...

    [摘要]小学生是以无意注意为主的,而无意注意又受兴趣的影响,更何况数学是一门比较抽象的学科.因此,在数学课中适度引入游戏是很有必要的.基于学生的心理特征,学生需要游戏,恰当的游戏不仅能够调节课堂气氛, ...

最新文章

  1. 收藏 | 一文带你总览知识蒸馏,详解经典论文
  2. webpack打包路径更改_扫盲: Webpack 从扫盲到手撸(上)
  3. 交换链表的奇数节点和偶数节点
  4. 浅谈likely与unlikely
  5. android7.1.1大小,浅谈Android7.1.1 for 360 N5
  6. 入门学习webpack笔记
  7. (022)[工具软件]图片浏览 JPEGView
  8. String定义字符串,实际操作
  9. Linux LCD 驱动实验
  10. chmod简介及其使用方法
  11. 感谢你不哀不丧不怜,为平凡的努力喝彩
  12. 人人商城APP打包教程
  13. python中的文字怎么居中_各位大神,wxPython中,怎么让text文本居中显示?
  14. 计算机英语口语900句,日常英语口语
  15. 10.3 配置前缀列表
  16. 大数据分析工具(下)
  17. type-c转type A 3.0线以及otg线序
  18. logisim新手实验
  19. Minesweeper-Java
  20. 【牛客多校第十场】Coffee Chicken

热门文章

  1. 身份证阅读器(读卡器)谷歌Chrome和火狐Firefox浏览器端网页开发接口控件分享
  2. 上海生活品质远不如深圳——深圳与上海比较
  3. 宁波中小学生计算机技术展示,宁波市第25届中小学生计算机程序设计竞赛复赛试题(小学组).doc...
  4. 无人机学习笔记 8 雷达工作波段划分
  5. Basic Test Knowledge-Difference between UAT and usability testing?
  6. html鼠标点击后变换样式,css鼠标样式(css鼠标点击切换样式)
  7. 英语计算机的读音,井号'#'用英语怎么说(计算机字符 - 英文读音)
  8. Mac OS X任务管理器
  9. 对大学计算机课程的认识 感想,大学计算机基础学习感想复习课程.pdf
  10. hadoop学习路线