的 對子或單牌與當前玩家的對子或單牌進行牌值大小比對即可。與比傳統(tǒng)的牌值比對方式相 t匕,節(jié)省了花色確定的判斷過程,由此大大提高了游戲響應(yīng)速度。
[0035] 步驟108,根據(jù)比對結(jié)果確定當前玩家的出牌組合。
[0036] 根據(jù)牌值比較結(jié)果,確定當前玩家的出牌組合。如果當前玩家處于第二出牌位置, 判斷當前玩家對應(yīng)的與所需牌型一致的牌中是否存在比先手玩家所出的牌對應(yīng)的牌值大 的牌,若存在,則選擇比先手玩家所出的牌對應(yīng)的牌值大的牌,否則選擇與所需牌型一致且 牌值最小的牌。如果當前玩家處于第三出牌位置,則根據(jù)當前玩家隊友即先手玩家所出的 牌對應(yīng)的牌值與第二出牌位置玩家所出的牌對應(yīng)的牌值比較結(jié)果確定出牌組合。如果先手 玩家所出的牌對應(yīng)的牌值比第二出牌位置玩家所出的牌對應(yīng)的牌值大,則判斷當前玩家對 應(yīng)的與所需牌型一致的牌中是否有包含分數(shù)的牌,如果有,則選擇有分數(shù)的牌,否則選擇與 所需牌型一致且牌值最小的牌。如果先手玩家所出的牌對應(yīng)的牌值比第二出牌位置玩家所 出的牌對應(yīng)的牌值小,則判斷當前玩家對應(yīng)的與所需牌型一致的牌中是否存在比第二出牌 位置玩家所出的牌對應(yīng)的牌值大的牌,若存在,則選擇比第二出牌位置玩家所出的牌對應(yīng) 的牌值大的牌,否則,選擇與所需牌型一致且牌值最小的牌。如果當前玩家處于第四出牌位 置,則根據(jù)當前玩家隊友所出的牌對應(yīng)的牌值與對方玩家所出的牌對應(yīng)的牌值比較結(jié)果確 定出牌類型。如果當前玩家隊友所出的牌對應(yīng)的牌值比對方玩家所出的牌對應(yīng)的牌值大, 則進一步判斷當前玩家對應(yīng)的與所需牌型一致的牌中是否有包含分數(shù)的牌,如果有,則選 擇有分數(shù)的牌,否則選擇與所需牌型一致且牌值最小的牌。如果當前玩家隊友所出的牌對 應(yīng)的牌值比對方玩家所出的牌對應(yīng)的牌值小,則選擇與所需牌型一致且牌值最小的牌。
[0037] 步驟110,將出牌組合加入游戲,或者產(chǎn)生出牌組合的提示并在接收到確認指令后 將出牌組合加入游戲。
[0038] 根據(jù)上述步驟中確定的當前玩家的出牌組合,可由游戲終端操作控制直接將該出 牌組合加入游戲,或者產(chǎn)生該出牌組合的提示,在接收到真實玩家即用戶確認的指令后,將 出牌的牌型加入游戲中。如果獲取到角色切換的指令,則將當前玩家的角色由計算機虛擬 的玩家切換成真實玩家。角色切換之后,根據(jù)上述方式確定的出牌的類型產(chǎn)生出牌組合的 提示,在接收到真實玩家確認的指令后,將出牌組合加入游戲中。
[0039] 本實施例中,由于在判斷當前玩家對應(yīng)的牌中是否存在與出牌類型一致的牌型的 過程中可以將當前玩家的所有牌型一次性提取出來,由此提高了游戲的響應(yīng)速度。將所需 出牌類型的牌提取后,與對方玩家所出的牌進行牌值大小比對,根據(jù)對比結(jié)果確定當前玩 家的出牌組合。在牌型比較的過程中,由于只需比對牌值大小,而無需進行花色比對,因此 進一步提1? 了游戲的響應(yīng)速度。
[0040] 在一個實施例中,如圖2所示,確定當前玩家的出牌類型的步驟之前還包括:
[0041] 步驟202,判斷當前玩家是否處于先手位置;若是,則進入步驟204,否則,進入步 驟 206。
[0042] 步驟204,將當前玩家對應(yīng)的牌按照牌型進行分類。具體包括:提取當前玩家對 應(yīng)的牌中標識相同的牌;讀取預(yù)設(shè)的牌標識與編號的對應(yīng)關(guān)系表;遍歷對應(yīng)關(guān)系表中的編 號,查詢是否有編號相鄰的牌;若有,則提取編號相鄰的牌。
[0043] 步驟206,若當前玩家未處于先手位置,則識別先手玩家所出牌的類型。
[0044] 本實施例中,判斷當前玩家是否處于先手位置及第一出牌位置,若是,則當前玩家 即為先手玩家,將當前玩家對應(yīng)的牌按照牌型進行分類。否則,識別先手玩家所出牌的牌 型。
[0045] 將當前玩家對應(yīng)的牌按照牌型進行分類的具體過程為:提取當前玩家對應(yīng)的牌中 標識相同的牌,也就是將所有對子提取出來。按照上述方式確定標識相同的牌對應(yīng)的花色, 并根據(jù)對應(yīng)的花色進行分類。將整副牌中所有相同花色的牌與無色牌分別生成對應(yīng)的組, 對每組牌中對應(yīng)的標識進行編號,將標識與編號按照預(yù)設(shè)的編號規(guī)則生成對應(yīng)的關(guān)系表, 并讀取該對應(yīng)關(guān)系表。
[0046] 編號的規(guī)則可以有多種,在一個實施例中,在每個花色對應(yīng)的分組中,首先將有花 色的牌按照牌標識進行排序,根據(jù)牌標識對應(yīng)的順序依次分別賦予相鄰編號,然后將本局 級牌對應(yīng)的編號變更為第二特定值,將級牌之后的標識所對應(yīng)的編號在各自的初始值基礎(chǔ) 上分別依次減1,將首位編號變更為與末位編號相鄰且與其他編號不同。將無色牌對應(yīng)的標 識進行排序,根據(jù)級牌對應(yīng)的編號依次加1得到對應(yīng)的相鄰編號。牌標識與編號的對應(yīng)關(guān) 系表中所有編號均不同。級牌是指當前莊家的級別,比如,莊家當前的級別為2,表示2是本 局的級牌。假設(shè)當前級牌為5,第二特定值為15,對應(yīng)的花色為方塊,將該花色對應(yīng)的牌按 照牌標識進行排序后分別被賦予相鄰編號1 - 13,將級牌的編號變更為15,將級牌之后的 編號在各自的初始值基礎(chǔ)上分別依次減1得到的編號分別為5、6、7、8、9、10、11、12,將首位 編號由1變更為13。之后將無色牌小王、大王分別編號為16、17,由此得到牌標識與編號對 應(yīng)的關(guān)系表如下所示 :
[0047]
[0049] 在另一個實施例中,在每個花色對應(yīng)的分組中,按照牌標識進行排序,通過取模算 法得到每張牌對應(yīng)的牌面值,如0x01對應(yīng)0x1。不同花色的牌面值可相同。根據(jù)牌面值對 應(yīng)的順序依次分別賦予相鄰編號,將本局級牌對應(yīng)的編號為變更第三特定值,將級牌之后 的牌面值所對應(yīng)的編號在各自的初始值基礎(chǔ)上分別依次減1,將首位編號變更為與末位編 號相鄰且與其他編號不同。將無色牌對應(yīng)的標識進行排序,并通過取模算法得到每張牌對 應(yīng)的牌面值,根據(jù)級牌對應(yīng)的編號依次加1得到對應(yīng)的相鄰編號,所有編號均不同。第三特 定值可以與第二特定值相同,也可以不同。假設(shè)當前級牌為5,第三特定值為14,對應(yīng)的花 色為方塊,參照上述實施例提及的方式,可以得到牌面值與編號對應(yīng)的關(guān)系表如下所示:
[0050]
[0051] 在又一個實施例中,在每個花色對應(yīng)的分組中,首先將有花色的牌按照牌標識進 行排序,根據(jù)牌標識對應(yīng)的順序依次分別賦予相鄰編號,將首位編號變更為與末位編號相 鄰且與其他編號不同。將無色牌對應(yīng)的標識進行排序,根據(jù)第四特定值依次加1得到對應(yīng) 的相鄰編號。例如,本局打無主,即只有級牌和大小王為主牌時,則無需再將無色牌賦予與 級牌相鄰的編號。第四特定值可以與第二特定值相同,也可以不同。假設(shè)當前級牌為5,第 四特定值為15對應(yīng)的花色為方塊,牌標識與編號對應(yīng)的關(guān)系表如下所示:
[0052]
[0053] 從當前玩家對應(yīng)的已按花色分類牌中,分別選取每組花色的牌的編號在對應(yīng)花色 的牌標識與編號的對應(yīng)關(guān)系表中進行遍歷,查詢是否有編號相鄰的牌,若有,則提取編號相 鄰的牌。以選取花色為方塊的牌舉例說明:假設(shè)當前方塊對應(yīng)的牌的編號為2、3、7,選取編 號2在上述牌標識與編號對應(yīng)的關(guān)系表中從表頭即編號2開始進行遍歷,查詢到相鄰編號 3,則從當前編號3繼續(xù)遍歷編號至表尾,未能再次查詢到編號相鄰的牌。將編號2、3分別 對應(yīng)的牌提取出作為拖拉機,將編號7對應(yīng)的牌提取出作為對子。其他花色的牌按照此方 式依次遍歷,提取所有牌型。由于是將牌標識相同的牌進行編號,生成對應(yīng)的關(guān)系表,如果 遍歷到由編號相鄰的牌,則可以組成拖拉機,否則,就提取對子。由此將所有牌型一次性提 取出,因此有效提高了游戲響應(yīng)速度。
[0054] 在一個實施例中,識別先手玩家所出牌的