CN105363199B - 纸牌游戏终端的操作控制方法和系统 - Google Patents
纸牌游戏终端的操作控制方法和系统 Download PDFInfo
- Publication number
- CN105363199B CN105363199B CN201410441572.3A CN201410441572A CN105363199B CN 105363199 B CN105363199 B CN 105363199B CN 201410441572 A CN201410441572 A CN 201410441572A CN 105363199 B CN105363199 B CN 105363199B
- Authority
- CN
- China
- Prior art keywords
- board
- card
- type
- current player
- playing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种纸牌游戏终端的操作控制方法,所述方法包括:确定当前玩家的出牌类型;判断所述当前玩家对应的牌中是否存在与所述出牌类型一致的牌型;若存在,则提取所述牌型,将所述牌型与对方玩家所出牌进行牌值大小比对;根据比对结果确定所述当前玩家的出牌组合;将所述出牌组合加入游戏,或者产生所述出牌组合的提示并在接收到确认指令后将所述出牌组合加入游戏。采用本方法可有效提高游戏响应速度。此外还提供纸牌游戏终端的操作控制系统。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种纸牌游戏终端的操作控制方法和系统。
背景技术
纸牌游戏是人们日常的休闲娱乐活动之一,如升级、斗地主等等。随着计算机技术的发展,扑克牌游戏也成为广受欢迎的电子游戏,用户可以通过电脑、手机、平板电脑等进行联机游戏或单机游戏。以电脑版纸牌游戏“升级”为例,在出牌之前,计算机一般会自动理牌,将每位玩家得到的牌按照花色和牌型进行分类。传统的方式在理牌时对每张牌都要判断是否为主花色,牌面值大小。提取牌型组合也需多次判断,如提取拖拉机每次都需要多重判断,对于一些特殊拖拉机如55AA,就需要更多重的判断才能确定。由此导致游戏响应时间较长,延迟了用户等待时间。
发明内容
基于此,有必要针对上述技术问题,提供一种提高游戏响应速度的纸牌游戏终端的操作控制方法和系统。
一种纸牌游戏终端的操作控制方法,所述方法包括:
确定当前玩家的出牌类型;
判断所述当前玩家对应的牌中是否存在与所述出牌类型一致的牌型;
若存在,则提取所述牌型,将所述牌型与对方玩家所出牌进行牌值大小比对;
根据比对结果确定所述当前玩家的出牌组合;
将所述出牌组合加入游戏,或者产生所述出牌组合的提示并在接收到确认指令后将所述出牌组合加入游戏。
一种纸牌游戏终端的操作控制系统,所述系统包括:
出牌类型识别模块,用于确定当前玩家的出牌类型;
判断模块,用于判断所述当前玩家对应的牌中是否存在与所述出牌类型一致的牌型;
牌值比对模块,用于提取所述牌型,将所述牌型与对方玩家所出牌进行牌值大小比对;
出牌组合确定模块,用于根据比对结果确定所述当前玩家的出牌组合;
出牌控制模块,用于将所述出牌组合加入游戏,或者产生所述出牌组合的提示并在接收到确认指令后将所述出牌组合加入游戏。
上述纸牌游戏终端的操作控制方法和系统,根据所确定的当前玩家的出牌类型,判断当前玩家对于的牌中是否存在与出牌类型一致的牌型,如果存在,则提取牌型并与先手玩家所出的牌进行牌值大小比对,根据比对结果确定当前玩家的出牌组合,将该出牌组合加入游戏或者产生该出牌组合的提示并在接收到确认指令后将该出牌组合加入游戏。由于在判断当前玩家对应的牌中是否存在与出牌类型一致的牌型的过程中可以将当前玩家的所有牌型一次性提取出来,由此提高了游戏的响应速度。将所需出牌类型的牌提取后,与对方玩家所出的牌进行牌值大小比对时由于只需比对牌值大小,因此进一步提高了游戏的响应速度。
附图说明
图1为一个实施例中纸牌游戏终端的操作控制方法的流程图;
图2为一个实施例中确定当前玩家的出牌类型之前所需判断的流程图;
图3为一个实施例中纸牌游戏终端的操作控制系统的结构示意图;
图4为一个实施例中牌型分类模块的结构示意图;
图5为一个实施例中出牌类型识别模块的结构示意图;
图6为一个实施例中判断模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在一个实施例中,如图1所示,提供了一种纸牌游戏终端的操作控制方法,该方法包括:
步骤102,确定当前玩家的出牌类型。
当前玩家是指游戏中由计算机虚拟的玩家。出牌类型包括出牌的花色和牌型。花色包括红桃、黑桃、方块、梅花和无色。牌型因纸牌游戏不同而不同,例如:单牌、对子、拖拉机、拖牌等。
预先存储一些纸牌对应的图片,每一张图片对应一个唯一的标识,并预先建立了数据库表,其中存储标识与图片存储路径的对应关系,根据该对应关系,通过标识可以调用对应的图片,得到图片对应的纸牌。进一步的,还预先存储标识与花色值的对应关系,标识包括字符、数字以及字符与数字的组合。比如,方块A对应的标识为:0x01。花色值可以是标识与预设的第一特定值的比值,由此根据每张牌对应的标识与第一预设特定值的比值可得到每张牌对应的花色。比如0x00表示方块,第一特定值为0xF,两者的比值为0x00,即可得出该牌对应的花色为方块。采用这种方式可以方便快速的确定每张牌对应的花色。
根据先手玩家即第一出牌位置玩家出牌的花色和牌型确定当前玩家需要出牌的类型。在发牌后、出牌前,将预先设定了标志位的花色值确定为本局游戏的主花色。标志位可以是字符或数字,如*。当前玩家所需的出牌类型应当与先手玩家出牌的花色相同,如果当前玩家对应的牌中不存在与先手玩家所出的牌花色相同的牌,可以在主花色中选择牌型一致的牌。
可以理解,如果当前玩家处于先手位置即第一出牌位置,则无需考虑主花色并且不必再执行本实施例提及的后续步骤,可以直接按照预设的出牌优先级顺序出牌,比如,预设的出牌优先级顺序可以是:副牌拖拉机、副牌拖牌、主牌拖拉机、副牌对子、主牌对子、主牌拖牌、副牌最大单牌和主牌最大单牌。
步骤104,判断当前玩家对应的牌中是否存在与出牌类型一致的牌型;若存在,则进入步骤106,否则,结束。
根据上述方式提及的确定花色的方式,首先将当前玩家对应的牌进行花色分类,查询是否有与先手玩家所出的牌相同的花色,如果有,则提取与先手玩家所出的牌花色相同的牌,根据当前玩家所需的出牌类型将当前玩家对应的牌按照牌型进行分类。在牌型分类结果中再次查询是否存在与所述出牌类型一致的牌型。如果存在,则可直接进入步骤106,否则,随机选择与先手玩家所出的牌相同花色的牌。如果当前玩家对应的牌中不存在与先手玩家所出的牌相同花色的牌,则提取主花色牌,再次根据当前玩家所需的出牌类型将当前玩家对应的主花色牌按照牌型进行分类。在牌型分类结果中再次查询是否存在与所述出牌类型一致的牌型。如果存在,则可直接进入步骤106。如果当前玩家对应的牌中不存在主花色牌,则随机选择其他花色牌。
步骤106,提取牌型,将牌型与对方玩家所出牌进行牌值大小比对。
查询到有与所需出牌类型一致的牌型,则提取该牌型,将该牌型与对方玩家所出的牌进行牌值大小比对。对方玩家是指与当前玩家分属不同队的玩家。第一出牌位置即为先手玩家与第三出牌位置玩家组成一队,与第二出牌位置玩家与第四出牌位置玩家组成的一队互为对方玩家。
通过预设的牌值将所有牌对应的牌值区分开,且无需判断花色。只要将牌型一致的牌进行牌值比对,即可分辨出牌的大小。比如,先手玩家出的牌为拖拉机,当前玩家的牌中也有拖拉机,则将提取当前玩家的拖拉机牌,只需比较先手玩家出的任意一张牌的牌值大小即可确定拖拉机牌的大小。如果先手玩家出的牌是对子或单牌,则直接将先手玩家的对子或单牌与当前玩家的对子或单牌进行牌值大小比对即可。与比传统的牌值比对方式相比,节省了花色确定的判断过程,由此大大提高了游戏响应速度。
步骤108,根据比对结果确定当前玩家的出牌组合。
根据牌值比较结果,确定当前玩家的出牌组合。如果当前玩家处于第二出牌位置,判断当前玩家对应的与所需牌型一致的牌中是否存在比先手玩家所出的牌对应的牌值大的牌,若存在,则选择比先手玩家所出的牌对应的牌值大的牌,否则选择与所需牌型一致且牌值最小的牌。如果当前玩家处于第三出牌位置,则根据当前玩家队友即先手玩家所出的牌对应的牌值与第二出牌位置玩家所出的牌对应的牌值比较结果确定出牌组合。如果先手玩家所出的牌对应的牌值比第二出牌位置玩家所出的牌对应的牌值大,则判断当前玩家对应的与所需牌型一致的牌中是否有包含分数的牌,如果有,则选择有分数的牌,否则选择与所需牌型一致且牌值最小的牌。如果先手玩家所出的牌对应的牌值比第二出牌位置玩家所出的牌对应的牌值小,则判断当前玩家对应的与所需牌型一致的牌中是否存在比第二出牌位置玩家所出的牌对应的牌值大的牌,若存在,则选择比第二出牌位置玩家所出的牌对应的牌值大的牌,否则,选择与所需牌型一致且牌值最小的牌。如果当前玩家处于第四出牌位置,则根据当前玩家队友所出的牌对应的牌值与对方玩家所出的牌对应的牌值比较结果确定出牌类型。如果当前玩家队友所出的牌对应的牌值比对方玩家所出的牌对应的牌值大,则进一步判断当前玩家对应的与所需牌型一致的牌中是否有包含分数的牌,如果有,则选择有分数的牌,否则选择与所需牌型一致且牌值最小的牌。如果当前玩家队友所出的牌对应的牌值比对方玩家所出的牌对应的牌值小,则选择与所需牌型一致且牌值最小的牌。
步骤110,将出牌组合加入游戏,或者产生出牌组合的提示并在接收到确认指令后将出牌组合加入游戏。
根据上述步骤中确定的当前玩家的出牌组合,可由游戏终端操作控制直接将该出牌组合加入游戏,或者产生该出牌组合的提示,在接收到真实玩家即用户确认的指令后,将出牌的牌型加入游戏中。如果获取到角色切换的指令,则将当前玩家的角色由计算机虚拟的玩家切换成真实玩家。角色切换之后,根据上述方式确定的出牌的类型产生出牌组合的提示,在接收到真实玩家确认的指令后,将出牌组合加入游戏中。
本实施例中,由于在判断当前玩家对应的牌中是否存在与出牌类型一致的牌型的过程中可以将当前玩家的所有牌型一次性提取出来,由此提高了游戏的响应速度。将所需出牌类型的牌提取后,与对方玩家所出的牌进行牌值大小比对,根据对比结果确定当前玩家的出牌组合。在牌型比较的过程中,由于只需比对牌值大小,而无需进行花色比对,因此进一步提高了游戏的响应速度。
在一个实施例中,如图2所示,确定当前玩家的出牌类型的步骤之前还包括:
步骤202,判断当前玩家是否处于先手位置;若是,则进入步骤204,否则,进入步骤206。
步骤204,将当前玩家对应的牌按照牌型进行分类。具体包括:提取当前玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取编号相邻的牌。
步骤206,若当前玩家未处于先手位置,则识别先手玩家所出牌的类型。
本实施例中,判断当前玩家是否处于先手位置及第一出牌位置,若是,则当前玩家即为先手玩家,将当前玩家对应的牌按照牌型进行分类。否则,识别先手玩家所出牌的牌型。
将当前玩家对应的牌按照牌型进行分类的具体过程为:提取当前玩家对应的牌中标识相同的牌,也就是将所有对子提取出来。按照上述方式确定标识相同的牌对应的花色,并根据对应的花色进行分类。将整副牌中所有相同花色的牌与无色牌分别生成对应的组,对每组牌中对应的标识进行编号,将标识与编号按照预设的编号规则生成对应的关系表,并读取该对应关系表。
编号的规则可以有多种,在一个实施例中,在每个花色对应的分组中,首先将有花色的牌按照牌标识进行排序,根据牌标识对应的顺序依次分别赋予相邻编号,然后将本局级牌对应的编号变更为第二特定值,将级牌之后的标识所对应的编号在各自的初始值基础上分别依次减1,将首位编号变更为与末位编号相邻且与其他编号不同。将无色牌对应的标识进行排序,根据级牌对应的编号依次加1得到对应的相邻编号。牌标识与编号的对应关系表中所有编号均不同。级牌是指当前庄家的级别,比如,庄家当前的级别为2,表示2是本局的级牌。假设当前级牌为5,第二特定值为15,对应的花色为方块,将该花色对应的牌按照牌标识进行排序后分别被赋予相邻编号1–13,将级牌的编号变更为15,将级牌之后的编号在各自的初始值基础上分别依次减1得到的编号分别为5、6、7、8、9、10、11、12,将首位编号由1变更为13。之后将无色牌小王、大王分别编号为16、17,由此得到牌标识与编号对应的关系表如下所示:
牌标识 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
编号 | 13 | 2 | 3 | 4 | 15 | 5 | 6 | 7 |
牌标识 | 0x09 | 0x0A | 0x0B | 0x0C | 0x0D | 0x4E | 0x4F | |
编号 | 8 | 9 | 10 | 11 | 12 | 16 | 17 |
在另一个实施例中,在每个花色对应的分组中,按照牌标识进行排序,通过取模算法得到每张牌对应的牌面值,如0x01对应0x1。不同花色的牌面值可相同。根据牌面值对应的顺序依次分别赋予相邻编号,将本局级牌对应的编号为变更第三特定值,将级牌之后的牌面值所对应的编号在各自的初始值基础上分别依次减1,将首位编号变更为与末位编号相邻且与其他编号不同。将无色牌对应的标识进行排序,并通过取模算法得到每张牌对应的牌面值,根据级牌对应的编号依次加1得到对应的相邻编号,所有编号均不同。第三特定值可以与第二特定值相同,也可以不同。假设当前级牌为5,第三特定值为14,对应的花色为方块,参照上述实施例提及的方式,可以得到牌面值与编号对应的关系表如下所示:
牌面值 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | 0x8 |
编号 | 13 | 2 | 3 | 4 | 14 | 5 | 6 | 7 |
牌面值 | 0x9 | 0xA | 0xB | 0xC | 0xD | 0xE | 0xF | |
编号 | 8 | 9 | 10 | 11 | 12 | 16 | 17 |
在又一个实施例中,在每个花色对应的分组中,首先将有花色的牌按照牌标识进行排序,根据牌标识对应的顺序依次分别赋予相邻编号,将首位编号变更为与末位编号相邻且与其他编号不同。将无色牌对应的标识进行排序,根据第四特定值依次加1得到对应的相邻编号。例如,本局打无主,即只有级牌和大小王为主牌时,则无需再将无色牌赋予与级牌相邻的编号。第四特定值可以与第二特定值相同,也可以不同。假设当前级牌为5,第四特定值为15对应的花色为方块,牌标识与编号对应的关系表如下所示:
牌标识 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 |
编号 | 14 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
牌标识 | 0x09 | 0x0A | 0x0B | 0x0C | 0x0D | 0x4E | 0x4F | |
编号 | 9 | 10 | 11 | 12 | 13 | 16 | 17 |
从当前玩家对应的已按花色分类牌中,分别选取每组花色的牌的编号在对应花色的牌标识与编号的对应关系表中进行遍历,查询是否有编号相邻的牌,若有,则提取编号相邻的牌。以选取花色为方块的牌举例说明:假设当前方块对应的牌的编号为2、3、7,选取编号2在上述牌标识与编号对应的关系表中从表头即编号2开始进行遍历,查询到相邻编号3,则从当前编号3继续遍历编号至表尾,未能再次查询到编号相邻的牌。将编号2、3分别对应的牌提取出作为拖拉机,将编号7对应的牌提取出作为对子。其他花色的牌按照此方式依次遍历,提取所有牌型。由于是将牌标识相同的牌进行编号,生成对应的关系表,如果遍历到由编号相邻的牌,则可以组成拖拉机,否则,就提取对子。由此将所有牌型一次性提取出,因此有效提高了游戏响应速度。
在一个实施例中,识别先手玩家所出牌的类型的步骤包括:查询先手玩家所出的牌中是否有标识相同的牌;若有,则将标识相同的牌进行分类,具体包括:提取先手玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历所述对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取编号相邻的牌。
本实施例中,查询先手玩家所出的牌中是否有标识相同的牌,如果有,则按照上述方式提取先手玩家对应的牌中标识相同的牌,生成预设的牌标识与编号的对应关系表,读取该对应关系表,选择先手玩家所出牌中对应的最小编号开始在对应关系表中进行遍历,查询是否有编号相邻的牌,若有,则提取编号相邻的牌。如果提取到编号相邻的牌,则表示先手玩家出的是拖拉机,否则,则表示先手玩家出的是对子。如果先手玩家所出的牌中没有标识相同的牌,则再次判断标识对应的数量是否为1,如果是,则表示先手玩家所出的牌为单牌,否则,则表示先手玩家所出的牌为拖牌。由此可对先手玩家所出牌的类型进行快速识别。
在一个实施例中,判断当前玩家对应的牌中是否存在与出牌类型一致的牌型的步骤为:执行将所述当前玩家对应的牌按照牌型进行分类的步骤;在牌型分类结果中查询是否存在与出牌类型一致的牌型。
本实施例中,在识别出先手玩家所出牌的类型后,也就是识别出先手玩家所出牌的花色和牌型,便可确定当前玩家所需出牌的类型。将当前玩家对应的牌按上述实施例提及的方式确定对应的花色,提取与先手玩家所出的牌花色相同的牌,按照上述实施例提及的方式将与先手玩家所出的牌花色相同的牌进行分类,具体的,提取当前玩家对应的牌中标识相同的牌,生成预设的牌标识与编号的对应关系表,读取该对应关系表,选择当前玩家所出牌中对应的最小编号开始在对应关系表中进行遍历,查询是否有编号相邻的牌,若有则提取编号相邻的牌。由此可以一次性将所有牌型提取出来,进而在牌型分类结果中查询是否存在与出牌类型一致的牌型。
在一个实施例中,根据预设的牌值和按照预设规则变更后的牌值将牌型对应的牌与对方玩家所出牌进行牌值大小比对。预设的牌值可以是牌面值,也可以是其他值,如黑桃3的牌值为3,大王的牌值为1000,10000远远大于其他有花色的牌值。出牌之前,按照预设规则将本局的级牌和主花色的牌变更对应的牌值。预设规则可以是将级牌变更为第一预设值,将主花色的牌对应的牌值增加第二预设值,将主花色中的级牌再次增加第三预设值。第一预设值、第二预设值与第三预设值可以相同也可以不同。由此将所有牌对应的牌值区分开来,而无需判断花色。假设本局的级牌为2,则将所有牌值为2的牌值变更为500,将每个主花色的牌对应的牌值增加100,将主花色中的级牌的牌值再次增加100。假定当前主花色为红桃,则红桃2的牌值为700,其他花色的2的牌值为600,红桃花色的其他牌对应的牌值远大于其他花色的牌对应的牌值。只要将牌型一致的牌进行牌值比对,即可分辨出牌的大小。与比传统的牌值比对方式相比,节省了花色确定的判断过程,由此大大提高了游戏响应速度。
在一个实施例中,如图3所示,提供了一种纸牌游戏终端的操作控制系统,该系统包括:出牌类型识别模块302、判断模块304、牌值比对模块306、出牌组合确定模块308和出牌控制模块310,其中:
出牌类型识别模块302,用于确定当前玩家的出牌类型。
判断模块304,用于判断当前玩家对应的牌中是否存在与出牌类型一致的牌型。
牌值比对模块306,用于提取牌型,将牌型与对方玩家所出牌进行牌值大小比对。
出牌组合确定模块308,用于根据比对结果确定当前玩家的出牌组合。
出牌控制模块310,用于将出牌组合加入游戏,或者产生出牌组合的提示并在接收到确认指令后将出牌组合加入游戏。
本实施例中,发牌时为每张牌设置对应的标识,并为每种花色设置对应的值。标识包括字符、数字以及字符与数字的组合。花色对应的值可以是牌对应的标识与第一预设特定值的比值,由此根据每张牌对应的标识与预设特定值的比值可确定每张牌对应的花色。出牌类型识别模块302根据先手玩家出牌的花色和牌型确定当前玩家需要出牌的类型。
可以理解,如果当前玩家处于先手位置,出牌类型识别模块302则无需考虑主花色并且不必再执行本实施例提及的后续步骤,可以直接按照预设的出牌优先级顺序出牌。
判断模块304用于根据上述确定花色的方式,首先将当前玩家对应的牌进行花色分类,然后根据当前玩家所需的出牌类型将当前玩家对应的牌按照牌型进行分类。根据分类后的牌型,判断当前玩家对应的牌中是否存在与出牌类型一致的牌型。若存在与出牌类型一致的牌型,牌值比对模块306提取牌型,将牌型与对方玩家所出牌进行牌值大小比对。出牌组合确定模块308用于根据牌值比对模块306得出的牌值比对结果,确定当前玩家的出牌类型。出牌控制模块310用于将该牌型直接加入到游戏中或者产生出牌的牌型的提示,在接收到真实玩家确认的指令后,将出牌的牌型加入游戏中。如果获取到角色切换的指令,则将当前玩家的角色由计算机虚拟的玩家切换成真实玩家。角色切换之后,根据上述方式确定的出牌的类型产生出牌组合的提示,在接收到真实玩家确认的指令后,将出牌组合加入游戏中。
在一个实施例中,如图4所示,该系统还包括:牌型分类模块312,用于判断当前玩家是否处于先手位置,若当前玩家处于先手位置,则将当前玩家对应的牌按照牌型进行分类,具体包括:提取当前玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取编号相邻的牌。
出牌类型识别模块302还用于若当前玩家未处于先手位置,则识别先手玩家所出牌的类型。
本实施例中,若当前玩家处于先手位置,则牌型分类模块312将当前玩家对应的牌按照牌型进行分类。提取当前玩家对应的牌中标识相同的牌,也就是将所有对子提取出来。按照上述实施例提及的方式确定标识相同的牌对应的花色,并根据对应的花色进行分类。将整副牌中所有相同花色的牌与无色牌分别生成对应的组,对每组牌中对应的标识进行编号,将标识与编号按照预设的编号规则生成对应的关系表,并读取该对应关系表。从当前玩家对应的已按花色分类牌中,分别选取每组花色的牌的编号在对应花色的牌标识与编号的对应关系表中进行遍历,查询是否有编号相邻的牌,若有,则提取编号相邻的牌。如果遍历到由编号相邻的牌,则可以组成拖拉机,否则,就提取对子。由此将所有牌型一次性提取出,因此有效提高了游戏响应速度。若当前玩家未处于先手位置,则出牌类型识别模块302识别先手玩家所出牌的类型。
在一个实施例中,如图5所示,出牌类型识别模块302包括:第一查询单元302a和第一调用单元302b,其中:
第一查询单元302a,用于查询先手玩家所出的牌中是否有标识相同的牌。
第一调用单元302b,用于调用牌型分类模块312,若先手玩家所出的牌中有标识相同的牌,则将标识相同的牌进行分类,具体包括:提取先手玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取编号相邻的牌。
本实施例中,第一查询单元302a用于查询先手玩家所出的牌中是否有标识相同的牌,如果有,则第一调用单元302b调用牌型分类模块312将标识相同的牌进行分类,提取先手玩家对应的牌中标识相同的牌,生成预设的牌标识与编号的对应关系表,读取该对应关系表,选择先手玩家所出牌中对应的最小编号开始在对应关系表中进行遍历,查询是否有编号相邻的牌,若有则提取编号相邻的牌。如果提取到编号相邻的牌,则表示先手玩家出的是拖拉机,否则,则表示先手玩家出的是对子。如果先手玩家所出的牌中没有标识相同的牌,则再次判断标识对应的数量是否为1,如果是,则表示先手玩家所出的牌为单牌,否则,则表示先手玩家所出的牌为拖牌。由此可对先手玩家所出牌的类型进行快速识别。
在一个实施例中,如图6所示,判断模块304包括:第二调用单元304a和第二查询单元304b,其中:
第二调用单元304a,用于调用牌型分类模块312。
第二查询单元304b,用于在牌型分类结果中查询是否存在与出牌类型一致的牌型。
本实施例中,当前玩家未处于先手位置,第二调用单元304a用于调用牌型分类模块312,在确定当前玩家所需出牌的类型之后,将当前玩家的牌对照牌型进行分类。在将当前玩家对应的牌按上述实施例提及的方式确定对应的花色,提取与先手玩家所出的牌花色相同的牌之后,牌型分类模块312按照上述方式将与先手玩家所出的牌花色相同的牌进行分类,具体的,提取当前玩家对应的牌中标识相同的牌,生成预设的牌标识与编号的对应关系表,读取该对应关系表,选择当前玩家所出牌中对应的最小编号开始在对应关系表中进行遍历,查询是否有编号相邻的牌,若有则提取编号相邻的牌。第二查询单元304b,用于在牌型分类结果中查询是否存在与出牌类型一致的牌型。
在一个实施例中,牌值比对模块306还用于根据预设的牌值和按照预设规则变更后的牌值将牌型对应的牌与对方玩家所出牌进行牌值大小比对。
预设的牌值可以是牌面值,也可以是其他值,出牌之前,按照预设规则将本局的级牌和主花色的牌变更对应的牌值。由此将所有牌对应的牌值区分开来,无需判断花色,只要将牌型一致的牌进行牌值比较,即可分辨出牌的大小,由此提高了游戏响应速度。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种纸牌游戏终端的操作控制方法,所述方法包括:
确定当前玩家的出牌类型,包括:查询所述当前玩家所出的牌中是否有标识相同的牌;若有,则将所述标识相同的牌进行分类,具体包括:提取所述当前玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历所述对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取所述编号相邻的牌;
判断所述当前玩家对应的牌中是否存在与所述出牌类型一致的牌型;
若存在,则提取所述牌型,将所述牌型与对方玩家所出牌进行牌值大小比对;
根据比对结果确定所述当前玩家的出牌组合;
将所述出牌组合加入游戏,或者产生所述出牌组合的提示并在接收到确认指令后将所述出牌组合加入游戏。
2.根据权利要求1所述的方法,其特征在于,所述确定当前玩家的出牌类型的步骤之前还包括:
判断所述当前玩家是否处于先手位置;
若是,则将所述当前玩家对应的牌按照牌型进行分类,具体包括:提取所述当前玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历所述对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取所述编号相邻的牌;
若所述当前玩家未处于先手位置,则识别先手玩家所出牌的类型。
3.根据权利要求1所述的方法,其特征在于,所述判断当前玩家对应的牌中是否存在与所述出牌类型一致的牌型的步骤为:
执行将所述当前玩家对应的牌按照牌型进行分类的步骤;
在上述牌型分类结果中查询是否存在与所述出牌类型一致的牌型。
4.根据权利要求1所述的方法,其特征在于,所述将所述牌型与对方玩家所出牌进行牌值大小比对的步骤为:
根据预设的牌值和按照预设规则变更后的牌值将所述牌型对应的牌与所述对方玩家所出牌进行牌值大小比对。
5.一种纸牌游戏终端的操作控制系统,其特征在于,所述系统包括:
出牌类型识别模块,用于确定当前玩家的出牌类型,包括:查询所述当前玩家所出的牌中是否有标识相同的牌;若有,则将所述标识相同的牌进行分类,具体包括:提取所述当前玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历所述对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取所述编号相邻的牌;
判断模块,用于判断所述当前玩家对应的牌中是否存在与所述出牌类型一致的牌型;
牌值比对模块,用于提取所述牌型,将所述牌型与对方玩家所出牌进行牌值大小比对;
出牌组合确定模块,用于根据比对结果确定所述当前玩家的出牌组合;
出牌控制模块,用于将所述出牌组合加入游戏,或者产生所述出牌组合的提示并在接收到确认指令后将所述出牌组合加入游戏。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:
牌型分类模块,用于判断当前玩家是否处于先手位置,若所述当前玩家处于先手位置,则将所述当前玩家对应的牌按照牌型进行分类,具体包括:提取所述当前玩家对应的牌中标识相同的牌;读取预设的牌标识与编号的对应关系表;遍历所述对应关系表中的编号,查询是否有编号相邻的牌;若有,则提取所述编号相邻的牌;
所述出牌类型识别模块还用于若所述当前玩家未处于先手位置,则识别先手玩家所出牌的类型。
7.根据权利要求5所述的系统,其特征在于,所述判断模块包括:
第二调用单元,用于调用所述牌型分类模块;
第二查询单元,用于在牌型分类结果中查询是否存在与所述出牌类型一致的牌型。
8.根据权利要求5所述的系统,其特征在于,所述牌值比对模块还用于根据预设的牌值和按照预设规则变更后的牌值将所述牌型对应的牌与所述对方玩家所出牌进行牌值大小比对。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410441572.3A CN105363199B (zh) | 2014-09-01 | 2014-09-01 | 纸牌游戏终端的操作控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410441572.3A CN105363199B (zh) | 2014-09-01 | 2014-09-01 | 纸牌游戏终端的操作控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105363199A CN105363199A (zh) | 2016-03-02 |
CN105363199B true CN105363199B (zh) | 2019-02-12 |
Family
ID=55366132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410441572.3A Active CN105363199B (zh) | 2014-09-01 | 2014-09-01 | 纸牌游戏终端的操作控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105363199B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107185241B (zh) * | 2017-05-27 | 2018-06-19 | 竞技世界(北京)网络技术有限公司 | 基于互联网的麻将游戏操作提醒方法及装置 |
CN110570851A (zh) * | 2019-07-31 | 2019-12-13 | 中至数据集团股份有限公司 | 语音识别出牌控制方法、系统、移动终端及存储介质 |
CN112138367A (zh) * | 2020-09-15 | 2020-12-29 | 北京智明星通科技股份有限公司 | 一种麻将游戏的出牌推荐方法、系统及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6572470B1 (en) * | 1999-06-17 | 2003-06-03 | Kevin James Famularo | Apparatus and method for playing a card game |
CN101320406A (zh) * | 2007-05-25 | 2008-12-10 | Nhn公司 | 纸牌游戏服务提供方法及其系统 |
-
2014
- 2014-09-01 CN CN201410441572.3A patent/CN105363199B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6572470B1 (en) * | 1999-06-17 | 2003-06-03 | Kevin James Famularo | Apparatus and method for playing a card game |
CN101320406A (zh) * | 2007-05-25 | 2008-12-10 | Nhn公司 | 纸牌游戏服务提供方法及其系统 |
Non-Patent Citations (1)
Title |
---|
基于凌阳μ"nSP<"TM>系列单片机的电视游戏设计与实现;孙乾恒;《万方数据》;20100730;第26-28页第3.2.3-3.2.4节、第32页图3.3、第50页图5.3 |
Also Published As
Publication number | Publication date |
---|---|
CN105363199A (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10413832B2 (en) | Game control method, game server, and program | |
CN105363199B (zh) | 纸牌游戏终端的操作控制方法和系统 | |
CN104317649B (zh) | 终端应用程序app的处理方法、装置及终端 | |
CN106988076A (zh) | 洗涤剂投放的控制方法、装置以及洗涤设备 | |
CN107398072A (zh) | 游戏画面的显示方法和装置 | |
JP7341002B2 (ja) | 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法 | |
US11596860B2 (en) | Game server device, server control method, and server control program | |
CN107227582A (zh) | 一种洗涤程序的生成方法、装置及洗衣机 | |
CN109684217B (zh) | 一种游戏检测的方法及装置、电子设备、存储介质 | |
CN106621327B (zh) | 一种基于极值的用户组队方法及系统 | |
CN108126342A (zh) | 一种信息处理方法、装置以及终端 | |
CN108136256A (zh) | 游戏装置和程序 | |
CN106709229B (zh) | 一种游戏系统中npc对象优先响应的方法及装置 | |
CN108768922B (zh) | 一种棋牌信息处理系统及方法 | |
CN110688953B (zh) | 一种操作系统设备的控制方法及装置 | |
CN106730851B (zh) | 一种平衡游戏玩家属性的数据处理方法及装置 | |
CN108133432A (zh) | 信息处理方法、信息处理系统以及终端 | |
JP2021040754A (ja) | 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法 | |
US10967269B2 (en) | Game system, game control device, and information storage medium | |
JP6993387B2 (ja) | プログラム、ゲームシステム及びサーバ | |
CN108197955A (zh) | 终端验证的方法、终端设备及计算机可读存储介质 | |
CN105664489B (zh) | 一种防止游戏外挂的方法及系统 | |
CN205428305U (zh) | 一种可桌面游戏的故事机 | |
CN107773984A (zh) | 棋牌类游戏加载方法及棋牌类游戏系统 | |
CN107680598A (zh) | 基于好友声纹通讯录的信息交互方法、装置及其设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |