類型的步驟包括:查詢先手玩家所出的 牌中是否有標(biāo)識相同的牌;若有,則將標(biāo)識相同的牌進(jìn)行分類,具體包括:提取先手玩家對 應(yīng)的牌中標(biāo)識相同的牌;讀取預(yù)設(shè)的牌標(biāo)識與編號的對應(yīng)關(guān)系表;遍歷所述對應(yīng)關(guān)系表中 的編號,查詢是否有編號相鄰的牌;若有,則提取編號相鄰的牌。
[0055] 本實(shí)施例中,查詢先手玩家所出的牌中是否有標(biāo)識相同的牌,如果有,則按照上述 方式提取先手玩家對應(yīng)的牌中標(biāo)識相同的牌,生成預(yù)設(shè)的牌標(biāo)識與編號的對應(yīng)關(guān)系表,讀 取該對應(yīng)關(guān)系表,選擇先手玩家所出牌中對應(yīng)的最小編號開始在對應(yīng)關(guān)系表中進(jìn)行遍歷, 查詢是否有編號相鄰的牌,若有,則提取編號相鄰的牌。如果提取到編號相鄰的牌,則表示 先手玩家出的是拖拉機(jī),否則,則表示先手玩家出的是對子。如果先手玩家所出的牌中沒有 標(biāo)識相同的牌,則再次判斷標(biāo)識對應(yīng)的數(shù)量是否為1,如果是,則表示先手玩家所出的牌為 單牌,否則,則表示先手玩家所出的牌為拖牌。由此可對先手玩家所出牌的類型進(jìn)行快速識 別。
[0056] 在一個實(shí)施例中,判斷當(dāng)前玩家對應(yīng)的牌中是否存在與出牌類型一致的牌型的步 驟為:執(zhí)行將所述當(dāng)前玩家對應(yīng)的牌按照牌型進(jìn)行分類的步驟;在牌型分類結(jié)果中查詢是 否存在與出牌類型一致的牌型。
[0057] 本實(shí)施例中,在識別出先手玩家所出牌的類型后,也就是識別出先手玩家所出牌 的花色和牌型,便可確定當(dāng)前玩家所需出牌的類型。將當(dāng)前玩家對應(yīng)的牌按上述實(shí)施例提 及的方式確定對應(yīng)的花色,提取與先手玩家所出的牌花色相同的牌,按照上述實(shí)施例提及 的方式將與先手玩家所出的牌花色相同的牌進(jìn)行分類,具體的,提取當(dāng)前玩家對應(yīng)的牌中 標(biāo)識相同的牌,生成預(yù)設(shè)的牌標(biāo)識與編號的對應(yīng)關(guān)系表,讀取該對應(yīng)關(guān)系表,選擇當(dāng)前玩家 所出牌中對應(yīng)的最小編號開始在對應(yīng)關(guān)系表中進(jìn)行遍歷,查詢是否有編號相鄰的牌,若有 則提取編號相鄰的牌。由此可以一次性將所有牌型提取出來,進(jìn)而在牌型分類結(jié)果中查詢 是否存在與出牌類型一致的牌型。
[0058] 在一個實(shí)施例中,根據(jù)預(yù)設(shè)的牌值和按照預(yù)設(shè)規(guī)則變更后的牌值將牌型對應(yīng)的牌 與對方玩家所出牌進(jìn)行牌值大小比對。預(yù)設(shè)的牌值可以是牌面值,也可以是其他值,如黑桃 3的牌值為3,大王的牌值為1000, 10000遠(yuǎn)遠(yuǎn)大于其他有花色的牌值。出牌之前,按照預(yù)設(shè) 規(guī)則將本局的級牌和主花色的牌變更對應(yīng)的牌值。預(yù)設(shè)規(guī)則可以是將級牌變更為第一預(yù)設(shè) 值,將主花色的牌對應(yīng)的牌值增加第二預(yù)設(shè)值,將主花色中的級牌再次增加第三預(yù)設(shè)值。第 一預(yù)設(shè)值、第二預(yù)設(shè)值與第三預(yù)設(shè)值可以相同也可以不同。由此將所有牌對應(yīng)的牌值區(qū)分 開來,而無需判斷花色。假設(shè)本局的級牌為2,則將所有牌值為2的牌值變更為500,將每個 主花色的牌對應(yīng)的牌值增加100,將主花色中的級牌的牌值再次增加100。假定當(dāng)前主花色 為紅桃,則紅桃2的牌值為700,其他花色的2的牌值為600,紅桃花色的其他牌對應(yīng)的牌值 遠(yuǎn)大于其他花色的牌對應(yīng)的牌值。只要將牌型一致的牌進(jìn)行牌值比對,即可分辨出牌的大 小。與比傳統(tǒng)的牌值比對方式相比,節(jié)省了花色確定的判斷過程,由此大大提高了游戲響應(yīng) 速度。
[0059] 在一個實(shí)施例中,如圖3所示,提供了一種紙牌游戲終端的操作控制系統(tǒng),該系統(tǒng) 包括:出牌類型識別模塊302、判斷模塊304、牌值比對模塊306、出牌組合確定模塊308和 出牌控制模塊310,其中:
[0060] 出牌類型識別模塊302,用于確定當(dāng)前玩家的出牌類型。
[0061] 判斷模塊304,用于判斷當(dāng)前玩家對應(yīng)的牌中是否存在與出牌類型一致的牌型。
[0062] 牌值比對模塊306,用于提取牌型,將牌型與對方玩家所出牌進(jìn)行牌值大小比對。
[0063] 出牌組合確定模塊308,用于根據(jù)比對結(jié)果確定當(dāng)前玩家的出牌組合。
[0064] 出牌控制模塊310,用于將出牌組合加入游戲,或者產(chǎn)生出牌組合的提示并在接收 到確認(rèn)指令后將出牌組合加入游戲。
[0065] 本實(shí)施例中,發(fā)牌時為每張牌設(shè)置對應(yīng)的標(biāo)識,并為每種花色設(shè)置對應(yīng)的值。標(biāo)識 包括字符、數(shù)字以及字符與數(shù)字的組合?;ㄉ珜?yīng)的值可以是牌對應(yīng)的標(biāo)識與第一預(yù)設(shè)特 定值的比值,由此根據(jù)每張牌對應(yīng)的標(biāo)識與預(yù)設(shè)特定值的比值可確定每張牌對應(yīng)的花色。 出牌類型識別模塊302根據(jù)先手玩家出牌的花色和牌型確定當(dāng)前玩家需要出牌的類型。 [0066] 可以理解,如果當(dāng)前玩家處于先手位置,出牌類型識別模塊302則無需考慮主花 色并且不必再執(zhí)行本實(shí)施例提及的后續(xù)步驟,可以直接按照預(yù)設(shè)的出牌優(yōu)先級順序出牌。 [0067] 判斷模塊304用于根據(jù)上述確定花色的方式,首先將當(dāng)前玩家對應(yīng)的牌進(jìn)行花色 分類,然后根據(jù)當(dāng)前玩家所需的出牌類型將當(dāng)前玩家對應(yīng)的牌按照牌型進(jìn)行分類。根據(jù)分 類后的牌型,判斷當(dāng)前玩家對應(yīng)的牌中是否存在與出牌類型一致的牌型。若存在與出牌類 型一致的牌型,牌值比對模塊306提取牌型,將牌型與對方玩家所出牌進(jìn)行牌值大小比對。 出牌組合確定模塊308用于根據(jù)牌值比對模塊306得出的牌值比對結(jié)果,確定當(dāng)前玩家的 出牌類型。出牌控制模塊310用于將該牌型直接加入到游戲中或者產(chǎn)生出牌的牌型的提 示,在接收到真實(shí)玩家確認(rèn)的指令后,將出牌的牌型加入游戲中。如果獲取到角色切換的指 令,則將當(dāng)前玩家的角色由計(jì)算機(jī)虛擬的玩家切換成真實(shí)玩家。角色切換之后,根據(jù)上述方 式確定的出牌的類型產(chǎn)生出牌組合的提示,在接收到真實(shí)玩家確認(rèn)的指令后,將出牌組合 加入游戲中。
[0068] 在一個實(shí)施例中,如圖4所示,該系統(tǒng)還包括:牌型分類模塊312,用于判斷當(dāng)前 玩家是否處于先手位置,若當(dāng)前玩家處于先手位置,則將當(dāng)前玩家對應(yīng)的牌按照牌型進(jìn)行 分類,具體包括:提取當(dāng)前玩家對應(yīng)的牌中標(biāo)識相同的牌;讀取預(yù)設(shè)的牌標(biāo)識與編號的對 應(yīng)關(guān)系表;遍歷對應(yīng)關(guān)系表中的編號,查詢是否有編號相鄰的牌;若有,則提取編號相鄰的 牌。
[0069] 出牌類型識別模塊302還用于若當(dāng)前玩家未處于先手位置,則識別先手玩家所出 牌的類型。
[0070] 本實(shí)施例中,若當(dāng)前玩家處于先手位置,則牌型分類模塊312將當(dāng)前玩家對應(yīng)的 牌按照牌型進(jìn)行分類。提取當(dāng)前玩家對應(yīng)的牌中標(biāo)識相同的牌,也就是將所有對子提取出 來。按照上述實(shí)施例提及的方式確定標(biāo)識相同的牌對應(yīng)的花色,并根據(jù)對應(yīng)的花色進(jìn)行分 類。將整副牌中所有相同花色的牌與無色牌分別生成對應(yīng)的組,對每組牌中對應(yīng)的標(biāo)識進(jìn) 行編號,將標(biāo)識與編號按照預(yù)設(shè)的編號規(guī)則生成對應(yīng)的關(guān)系表,并讀取該對應(yīng)關(guān)系表。從當(dāng) 前玩家對應(yīng)的已按花色分類牌中,分別選取每組花色的牌的編號在對應(yīng)花色的牌標(biāo)識與編 號的對應(yīng)關(guān)系表中進(jìn)行遍歷,查詢是否有編號相鄰的牌,若有,則提取編號相鄰的牌。如果 遍歷到由編號相鄰的牌,則可以組成拖拉機(jī),否則,就提取對子。由此將所有牌型一次性提 取出,因此有效提高了游戲響應(yīng)速度。若當(dāng)前玩家未處于先手位置,則出牌類型識別模塊 302識別先手玩家所出牌的類型。
[0071] 在一個實(shí)施例中,如圖5所示,出牌類型識別模塊302包括:第一查詢單元302a和 第一調(diào)用單元302b,其中:
[0072] 第一查詢單元302a,用于查詢先手玩家所出的牌中是否有標(biāo)識相同的牌。
[0073] 第一調(diào)用單元302b,用于調(diào)用牌型分類模塊312,若先手玩家所出的牌中有標(biāo)識 相同的牌,則將標(biāo)識相同的牌進(jìn)行分類,具體包括:提取先手玩家對應(yīng)的牌中標(biāo)識相同的 牌;讀取預(yù)設(shè)的牌標(biāo)識與編號的對應(yīng)關(guān)系表;遍歷對應(yīng)關(guān)系表中的編號,查詢是否有編號 相鄰的牌;若有,則提取編號相鄰的牌。
[0074] 本