紙牌游戲終端的操作控制方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種紙牌游戲終端的操作控制方法和系 統(tǒng)。
【背景技術(shù)】
[0002] 紙牌游戲是人們?nèi)粘5男蓍e娛樂(lè)活動(dòng)之一,如升級(jí)、斗地主等等。隨著計(jì)算機(jī)技術(shù) 的發(fā)展,撲克牌游戲也成為廣受歡迎的電子游戲,用戶可以通過(guò)電腦、手機(jī)、平板電腦等進(jìn) 行聯(lián)機(jī)游戲或單機(jī)游戲。以電腦版紙牌游戲"升級(jí)"為例,在出牌之前,計(jì)算機(jī)一般會(huì)自動(dòng) 理牌,將每位玩家得到的牌按照花色和牌型進(jìn)行分類。傳統(tǒng)的方式在理牌時(shí)對(duì)每張牌都要 判斷是否為主花色,牌面值大小。提取牌型組合也需多次判斷,如提取拖拉機(jī)每次都需要多 重判斷,對(duì)于一些特殊拖拉機(jī)如55AA,就需要更多重的判斷才能確定。由此導(dǎo)致游戲響應(yīng)時(shí) 間較長(zhǎng),延遲了用戶等待時(shí)間。
【發(fā)明內(nèi)容】
[0003] 基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種提高游戲響應(yīng)速度的紙牌游戲終端 的操作控制方法和系統(tǒng)。
[0004] -種紙牌游戲終端的操作控制方法,所述方法包括:
[0005] 確定當(dāng)前玩家的出牌類型;
[0006] 判斷所述當(dāng)前玩家對(duì)應(yīng)的牌中是否存在與所述出牌類型一致的牌型;
[0007] 若存在,則提取所述牌型,將所述牌型與對(duì)方玩家所出牌進(jìn)行牌值大小比對(duì);
[0008] 根據(jù)比對(duì)結(jié)果確定所述當(dāng)前玩家的出牌組合;
[0009] 將所述出牌組合加入游戲,或者產(chǎn)生所述出牌組合的提示并在接收到確認(rèn)指令后 將所述出牌組合加入游戲。
[0010] 一種紙牌游戲終端的操作控制系統(tǒng),所述系統(tǒng)包括:
[0011] 出牌類型識(shí)別模塊,用于確定當(dāng)前玩家的出牌類型;
[0012] 判斷模塊,用于判斷所述當(dāng)前玩家對(duì)應(yīng)的牌中是否存在與所述出牌類型一致的牌 型;
[0013] 牌值比對(duì)模塊,用于提取所述牌型,將所述牌型與對(duì)方玩家所出牌進(jìn)行牌值大小 比對(duì);
[0014] 出牌組合確定模塊,用于根據(jù)比對(duì)結(jié)果確定所述當(dāng)前玩家的出牌組合;
[0015] 出牌控制模塊,用于將所述出牌組合加入游戲,或者產(chǎn)生所述出牌組合的提示并 在接收到確認(rèn)指令后將所述出牌組合加入游戲。
[0016] 上述紙牌游戲終端的操作控制方法和系統(tǒng),根據(jù)所確定的當(dāng)前玩家的出牌類型, 判斷當(dāng)前玩家對(duì)于的牌中是否存在與出牌類型一致的牌型,如果存在,則提取牌型并與先 手玩家所出的牌進(jìn)行牌值大小比對(duì),根據(jù)比對(duì)結(jié)果確定當(dāng)前玩家的出牌組合,將該出牌組 合加入游戲或者產(chǎn)生該出牌組合的提示并在接收到確認(rèn)指令后將該出牌組合加入游戲。由 于在判斷當(dāng)前玩家對(duì)應(yīng)的牌中是否存在與出牌類型一致的牌型的過(guò)程中可以將當(dāng)前玩家 的所有牌型一次性提取出來(lái),由此提高了游戲的響應(yīng)速度。將所需出牌類型的牌提取后,與 對(duì)方玩家所出的牌進(jìn)行牌值大小比對(duì)時(shí)由于只需比對(duì)牌值大小,因此進(jìn)一步提高了游戲的 響應(yīng)速度。
【附圖說(shuō)明】
[0017] 圖1為一個(gè)實(shí)施例中紙牌游戲終端的操作控制方法的流程圖;
[0018] 圖2為一個(gè)實(shí)施例中確定當(dāng)前玩家的出牌類型之前所需判斷的流程圖;
[0019] 圖3為一個(gè)實(shí)施例中紙牌游戲終端的操作控制系統(tǒng)的結(jié)構(gòu)示意圖;
[0020] 圖4為一個(gè)實(shí)施例中牌型分類模塊的結(jié)構(gòu)示意圖;
[0021] 圖5為一個(gè)實(shí)施例中出牌類型識(shí)別模塊的結(jié)構(gòu)示意圖;
[0022] 圖6為一個(gè)實(shí)施例中判斷模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不 用于限定本發(fā)明。
[0024] 在一個(gè)實(shí)施例中,如圖1所示,提供了一種紙牌游戲終端的操作控制方法,該方法 包括:
[0025] 步驟102,確定當(dāng)前玩家的出牌類型。
[0026] 當(dāng)前玩家是指游戲中由計(jì)算機(jī)虛擬的玩家。出牌類型包括出牌的花色和牌型?;?色包括紅桃、黑桃、方塊、梅花和無(wú)色。牌型因紙牌游戲不同而不同,例如:?jiǎn)闻?、?duì)子、拖拉 機(jī)、拖牌等。
[0027] 預(yù)先存儲(chǔ)一些紙牌對(duì)應(yīng)的圖片,每一張圖片對(duì)應(yīng)一個(gè)唯一的標(biāo)識(shí),并預(yù)先建立了 數(shù)據(jù)庫(kù)表,其中存儲(chǔ)標(biāo)識(shí)與圖片存儲(chǔ)路徑的對(duì)應(yīng)關(guān)系,根據(jù)該對(duì)應(yīng)關(guān)系,通過(guò)標(biāo)識(shí)可以調(diào)用 對(duì)應(yīng)的圖片,得到圖片對(duì)應(yīng)的紙牌。進(jìn)一步的,還預(yù)先存儲(chǔ)標(biāo)識(shí)與花色值的對(duì)應(yīng)關(guān)系,標(biāo)識(shí) 包括字符、數(shù)字以及字符與數(shù)字的組合。比如,方塊A對(duì)應(yīng)的標(biāo)識(shí)為:0x01?;ㄉ悼梢允?標(biāo)識(shí)與預(yù)設(shè)的第一特定值的比值,由此根據(jù)每張牌對(duì)應(yīng)的標(biāo)識(shí)與第一預(yù)設(shè)特定值的比值可 得到每張牌對(duì)應(yīng)的花色。比如0x00表示方塊,第一特定值為OxF,兩者的比值為0x00,即可 得出該牌對(duì)應(yīng)的花色為方塊。采用這種方式可以方便快速的確定每張牌對(duì)應(yīng)的花色。
[0028] 根據(jù)先手玩家即第一出牌位置玩家出牌的花色和牌型確定當(dāng)前玩家需要出牌的 類型。在發(fā)牌后、出牌前,將預(yù)先設(shè)定了標(biāo)志位的花色值確定為本局游戲的主花色。標(biāo)志位 可以是字符或數(shù)字,如*。當(dāng)前玩家所需的出牌類型應(yīng)當(dāng)與先手玩家出牌的花色相同,如果 當(dāng)前玩家對(duì)應(yīng)的牌中不存在與先手玩家所出的牌花色相同的牌,可以在主花色中選擇牌型 一致的牌。
[0029] 可以理解,如果當(dāng)前玩家處于先手位置即第一出牌位置,則無(wú)需考慮主花色并且 不必再執(zhí)行本實(shí)施例提及的后續(xù)步驟,可以直接按照預(yù)設(shè)的出牌優(yōu)先級(jí)順序出牌,比如,預(yù) 設(shè)的出牌優(yōu)先級(jí)順序可以是:副牌拖拉機(jī)、副牌拖牌、主牌拖拉機(jī)、副牌對(duì)子、主牌對(duì)子、主 牌拖牌、副牌最大單牌和王牌最大單牌。
[0030] 步驟104,判斷當(dāng)前玩家對(duì)應(yīng)的牌中是否存在與出牌類型一致的牌型;若存在,則 進(jìn)入步驟106,否則,結(jié)束。
[0031] 根據(jù)上述方式提及的確定花色的方式,首先將當(dāng)前玩家對(duì)應(yīng)的牌進(jìn)行花色分類, 查詢是否有與先手玩家所出的牌相同的花色,如果有,則提取與先手玩家所出的牌花色相 同的牌,根據(jù)當(dāng)前玩家所需的出牌類型將當(dāng)前玩家對(duì)應(yīng)的牌按照牌型進(jìn)行分類。在牌型分 類結(jié)果中再次查詢是否存在與所述出牌類型一致的牌型。如果存在,則可直接進(jìn)入步驟 106,否則,隨機(jī)選擇與先手玩家所出的牌相同花色的牌。如果當(dāng)前玩家對(duì)應(yīng)的牌中不存在 與先手玩家所出的牌相同花色的牌,則提取主花色牌,再次根據(jù)當(dāng)前玩家所需的出牌類型 將當(dāng)前玩家對(duì)應(yīng)的主花色牌按照牌型進(jìn)行分類。在牌型分類結(jié)果中再次查詢是否存在與所 述出牌類型一致的牌型。如果存在,則可直接進(jìn)入步驟106。如果當(dāng)前玩家對(duì)應(yīng)的牌中不存 在主花色牌,則隨機(jī)選擇其他花色牌。
[0032] 步驟106,提取牌型,將牌型與對(duì)方玩家所出牌進(jìn)行牌值大小比對(duì)。
[0033] 查詢到有與所需出牌類型一致的牌型,則提取該牌型,將該牌型與對(duì)方玩家所出 的牌進(jìn)行牌值大小比對(duì)。對(duì)方玩家是指與當(dāng)前玩家分屬不同隊(duì)的玩家。第一出牌位置即為 先手玩家與第三出牌位置玩家組成一隊(duì),與第二出牌位置玩家與第四出牌位置玩家組成的 一隊(duì)互為對(duì)方玩家。
[0034]通過(guò)預(yù)設(shè)的牌值將所有牌對(duì)應(yīng)的牌值區(qū)分開(kāi),且無(wú)需判斷花色。只要將牌型一致 的牌進(jìn)行牌值比對(duì),即可分辨出牌的大小。比如,先手玩家出的牌為拖拉機(jī),當(dāng)前玩家的牌 中也有拖拉機(jī),則將提取當(dāng)前玩家的拖拉機(jī)牌,只需比較先手玩家出的任意一張牌的牌值 大小即可確定拖拉機(jī)牌的大小。如果先手玩家出的牌是對(duì)子或單牌,則直接將先手玩家