• 跨站搜索
  • 搜游戏
  • 小程序
  • 区块资源
  • 免费资源
  • 搜本站

房卡麻将游戏算法修改课程二

还是那个目的 ,麻将游戏首先必须了解代码, 然后再来修改。将所有的头文件和源文件相关的地方都介绍过后,我相信大家应 该自己也知道应该怎么修改了。但是最后我们还是要提供一个实例,以供大家参 考学习。

DlgCustomRule.h 头文件:

代码段 1:

房卡麻将游戏算法修改课程二  第1张

自定义配置:

自定义配置以后在我们修改属于自己的玩法的时候会用到,这里我 们只看一下它是怎么初始化:

房卡麻将游戏算法修改课程二  第2张

这里我们可以看到在初始化的时候调用了自定义配置,通过两个判断和一个循环 对其复制和添加配置。
代码段 2:

房卡麻将游戏算法修改课程二  第3张

这里都是一些函数的声明,这些函数除了初始化函数我们后面会用到其他的函数 与本课程关系不大,而初始化函数大家看名字也应该知道他的用作了。后面讲初 始化过程的时候会详细讲解这个函数。

FvMask.h 头文件:

房卡麻将游戏算法修改课程二  第4张

FvMask 头文件是个命名空间,这里面的内容大家现在暂时不用去管。我们这次 的课程主要讲与玩法相关的东西,其他的东西除了非讲不可的,其他都一笔带过。

GameLogic.h 头文件:

代码段 1:

房卡麻将游戏算法修改课程二  第5张

动作标志:

这里定义了一些列的动作类型,这里的长沙杠 和杠牌类型是不同的, 所以采用了不同的动作标示,之前我们提到过如果要改过来只需简单的调用就可 以了。当然这里我们可以添加自己的动作标示,不过同样添加了标示需要添加标 示的实现代码。让我们看一下这些动作标示是怎么调用的!

房卡麻将游戏算法修改课程二  第6张

从上面的看函数代码我们可以看出来,这个函数的实现,就是讲要碰的牌作为参 数代入函数内,首先进行一个效验,然后进行过滤,如果是无效的就返回无类型; 最后用一个组合语句,进行碰牌的判断,根据判断结果返回碰牌类型或者无类型。 代码段 2:

房卡麻将游戏算法修改课程二  第7张

这里是胡牌类型的定义,这里我们还是用一个定义来举例,后面的教程会详细的 讲解每一种胡牌的算法。这里只是让大家简单的看一下,有一个印象而已。

房卡麻将游戏算法修改课程二  第8张

大对子就是我们所谓的碰碰胡,这里我们看到这个函数实现起来很简单,就是讲 牌的组合类型代入这个函数,用一个循环来完成,在循环中只要发现一个是吃牌的类型就返回 false,如果全部循环完毕没有发现任何吃牌的类型,那就是大对 子了。

代码段 3:

房卡麻将游戏算法修改课程二  第9张

这里的几个结构体与我们的玩法修改都有关系,但是我们不需要修改这些结构体, 我们只需要使用,如果将这里的四个结构体都讲一次花费的时间太久了,后面结 合实际的代码段我们还会用到这些结构体,这里我们还是只简单的看一下他们的 使用情况。用一个例子来说明这些结构体的使用方法。

房卡麻将游戏算法修改课程二  第10张

这里判断杠的时候创建了这个结构体变量,然后将它代入杠牌分析函数里面,偶 们进一步看看这个函数:

房卡麻将游戏算法修改课程二  第11张

这个函数的最后一个参数就是我们之前代入的变量。 代码段 4:

房卡麻将游戏算法修改课程二  第12张

关于权位的问题后面我们会细说,这里就不多说了。

房卡麻将游戏算法修改课程二  第13张

代码段 5-1:

房卡麻将游戏算法修改课程二  第14张

代码段 5-2:

房卡麻将游戏算法修改课程二  第15张

代码段 5-3:

房卡麻将游戏算法修改课程二  第16张

代码段 5-4:

房卡麻将游戏算法修改课程二  第17张

这里是游戏的逻辑类,这里就是我们需要修改的核心内容之一。我们之后的课程 大部分都会围绕这个类来讲。

前面我们简单的介绍了胡牌分析中的大对子和碰牌, 这里我们再介绍一个:

房卡麻将游戏算法修改课程二  第18张

是否听牌:

首先我们来看一下这个函数声明,bool 类型,三个参数:第一个手 中牌的索引;第二个组合子项;第三个组合的数目;这样我估计大家还是不明白,还是让我们进入这个函数内部看看他的实现吧:

房卡麻将游戏算法修改课程二  第19张

在这个函数内部,最重要的就是一个循环,中间调用了胡牌分析的函数,从函数 内部和听 牌函数的 名字我 们可以 知道这个 函数的 实现过 程就是讲 手中的 牌和组 合代入胡牌函数里面进行判断,最后读取可以胡牌的那几张牌,也就是听牌的结 果了。

关于 GameLogic.h 头文件,我们暂时介绍到这里,其中游戏逻辑部分是我们 的核心,这里之所以没有全部讲解的原因一是因为篇幅有限,二是后面我们会详 细讲解每一个关于逻辑的变量和函数,这里就不重复讲解了。

相关课程:

4、房卡麻将游戏算法修改课程四

文章目录
  • DlgCustomRule.h 头文件:
    • 自定义配置:
  • FvMask.h 头文件:
  • GameLogic.h 头文件:
    • 动作标志:
    • 是否听牌:
  • 相关课程:
  • 发表评论