999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

網絡棋牌之鞍山麻將

2011-01-01 00:00:00呂寶生,鐘寶榮
電腦知識與技術 2011年4期

摘要:麻將是棋牌游戲中最復雜的棋牌游戲之一。從程序的角度,鞍山麻將是復雜度可以說是“五星級”的。那么程序是怎么實現的讓電腦玩麻將的呢?鞍山麻將相比其他地區的麻將多了混牌,槍牌,三叉,二八將,四歸一,大哥大。邏輯核心就是如何判斷牌是否胡牌。

關鍵詞:混;混皮;槍;大哥大;三叉;二八將;番;分張

中圖分類號:TP37文獻標識碼:A文章編號:1009-3044(2011)04-0878-02

The Internet Card Game-Anshan Mahjong

LV Bao-sheng, ZHONG Bao-rong

(College of Computer Science, Yangtze University, Jingzhou 434023, China)

Abstract: Mahjong is one of the most complex card games. At the view of the programming, the complexity of Anshan Mahjong could be said to be \"five-star \". Then how does the computer achieve it by programming? Anshan Mahjong comparing to others has Hun card which can place any card, gun card, double cards which value is two or eight , four same cards in hand, the count of theZhong card or Fa card or Bai card is three. How to determine whether the cards is winning is the core logic.

Key words: hun card; hunpi card; gun card; mobile card; trigeminal card; two or eight card; fan; the separation

1 游戲介紹

鞍山麻將是遼寧省鞍山地區特有的麻將玩法,其特點在于“混”和“槍”的規則。第一局隨機確定莊家,再由莊家擲第一次色子,從此次擲出來的點數確定翻混牌的位置,并由此點數位置的玩家擲第二次骰子,確定從何處抓牌。每局莊家為上一局第一個胡牌的玩家。

2 關鍵詞解釋

混皮:在服務器端隨機一張牌稱為“混皮”。

混:就是比混皮大1的牌稱為“混牌”?;炜梢援斎我馀?。

槍:就是有人胡牌后,再順序摸起的那張牌以及比這張牌大1的牌稱為“槍牌”。

大哥大:中發白不管哪個牌如果有三張一樣的就叫一個“大哥大”。

刻:三張相同的牌稱為“刻”。

三叉:如果有三個刻就稱為“三叉”。

二八將:就是胡的時候有二,八任意一個成對,就叫“二八將”。這要算作一番的。

番:一番就是一倍。計算得分用的。

分張:倒數26張牌是每人摸一張牌,放在手里不打出。稱為“分張”。

四歸一:如果手里摸到三張混皮稱為“四歸一”,如果手里有四張一樣的牌也稱為“四歸一”。

3 游戲流程

圖1為流程圖。

4 網絡鞍山麻將實現基本原理

136張牌全在服務器端隨機排列,然后發給每一個客戶端。吃,碰,杠,胡,以及摸牌,分張,算分全部是在服務器端判斷完成,然后把數據發到客戶端繪制顯示出來。

結合圖2,大哥更容易理解。桌面上只要大家可以看到的牌,那都是服務器發過來數據,然后客戶端根據服務器數據調用相應的圖片資源進行繪制顯示。大家注意算分界面后面的牌墻,其實那些牌墻只是一個顯示,如果你翻開牌墻看,你會發現牌的另一面是白的,沒有任何數據。同理算分界面上的數據也都來自服務器。

5 鞍山麻將核心胡牌算法

難點分析:因為鞍山麻將中有混牌,所以胡牌的情況就多了很多,這樣不遺漏任何一種胡牌情況就成了難點。

基本原理:把混牌換成34種牌中的一張牌插入到牌隊列中進行分析,如果返回值不為空則認為胡啦。

代碼剖析:

cbCardIndexTemp[cbHunIndex]--;

for (BYTE j=0;j

{//胡牌分析

BYTE cbCurrentCard1=SwitchToCardData(j);

BYTE cbHuCardKind

=AnalyseChiHuCard(cbCardIndexTemp,cbCardIndexTemp1,WeaveItem,cbItemCount,cbCurrentCard1,dwChiHuRight, cbHunIndex,cbHunPiIndex,ChiHuResult,j);

//結果判斷

if (cbHuCardKind!=CHK_NULL)

{

cbCardIndexTemp[cbHunIndex]=1;

ChiHuResult.dwQiongHu=0;

return WIK_CHI_HU;

}

}

cbCardIndexTemp[cbHunIndex]=1;

此段代碼既是當牌隊列中有一個混牌時的分析:先把牌隊列中的混牌刪除,在依次插入34種牌中的每一張牌進行胡牌分析。一旦返回值不為空,就說明胡了,就要發胡牌提示給相應的玩家。最后還有一步就是還原混牌。

同理無論有幾張混牌,都按此理論進行判斷,就不會忽略任意一種胡牌牌型。

6 總結

因為鞍山麻將是中國最復雜地方麻將之一,所以只要能實現鞍山麻將的邏輯與算法。在任何一種地方麻將實現起來都肯定相當簡單。

當前算法不足之處,胡牌類型最優化的分析與計算不夠完善。具體在算法上就是二八將加番與三叉加番沖突未解決。所以胡牌最優化算法有待進一步完善與提高。

參考文獻:

[1] Deloura M.游戲編程精粹1[M].北京:人民郵電出版社,2004.

[2] Deloura M.游戲編程精粹2[M].北京:人民郵電出版社,2003.

[3] Treglia D.游戲編程精粹3[M].北京:人民郵電出版社,2003.

[4] Kirmse A.游戲編程精粹4[M].北京:人民郵電出版社,2005.

[5] Pallister K.游戲編程精粹5[M].北京:人民郵電出版社,2007.

[6] Dickheiser M.游戲編程精粹6[M].北京:人民郵電出版社,2007.

[7] 榮欽科技.Visual C++游戲編程基礎[M].北京:電子工業出版社,2005.

[8] 楊正華,張秋生.Visual C++游戲編程導學[M].北京:清華大學出版社,2004.

[9] 榮欽科技.Visual C++游戲設計[M].北京:北京科海電子出版社,2003.

[13] LaMothe A.Windows游戲編程大師技巧[M].北京:中國電力出版社,2004.

主站蜘蛛池模板: 国产sm重味一区二区三区| 99999久久久久久亚洲| 久久婷婷综合色一区二区| av午夜福利一片免费看| 国产女人18毛片水真多1| 精品国产一区91在线| 成人在线天堂| 国产亚洲美日韩AV中文字幕无码成人 | 久久一日本道色综合久久| 九九热精品视频在线| 国产91线观看| 日韩欧美中文亚洲高清在线| 欧美自拍另类欧美综合图区| 手机看片1024久久精品你懂的| 97在线国产视频| 国产欧美精品专区一区二区| 一级高清毛片免费a级高清毛片| 国产一级小视频| 日本久久久久久免费网络| 少妇精品久久久一区二区三区| 五月婷婷伊人网| 亚洲天堂免费| 亚洲欧美另类久久久精品播放的| 成人无码一区二区三区视频在线观看 | 久久精品亚洲热综合一区二区| 欧美午夜视频| 色综合天天娱乐综合网| 99在线观看精品视频| 九九视频在线免费观看| 97人妻精品专区久久久久| 丁香六月综合网| 538国产在线| 日韩黄色在线| 欧美一区二区人人喊爽| 国产剧情伊人| 91精品国产无线乱码在线| 亚洲国产天堂久久九九九| 国产精品青青| 在线欧美日韩| 亚洲国产成人久久77| 大香伊人久久| 国产精品第页| 日韩色图区| 在线不卡免费视频| 免费久久一级欧美特大黄| 国产福利微拍精品一区二区| 亚洲狼网站狼狼鲁亚洲下载| 伊人大杳蕉中文无码| 国产精品视频第一专区| 国产黄网站在线观看| 日韩乱码免费一区二区三区| 99福利视频导航| 999精品色在线观看| 美女国产在线| 日韩欧美视频第一区在线观看 | 午夜精品久久久久久久99热下载| 久久香蕉欧美精品| 欧美成人一级| 婷婷色婷婷| 毛片免费视频| 国产成熟女人性满足视频| 91青草视频| 国产91丝袜| 国产无人区一区二区三区| 99久久亚洲精品影院| 囯产av无码片毛片一级| 精品国产成人国产在线| 中日韩欧亚无码视频| 亚洲Av激情网五月天| 亚洲中文在线视频| 韩国自拍偷自拍亚洲精品| 亚洲精选高清无码| 亚洲国产一区在线观看| 成人午夜在线播放| 激情六月丁香婷婷| 国产制服丝袜91在线| 无码aaa视频| 中文字幕不卡免费高清视频| 午夜日b视频| 成人国产免费| 亚洲天堂首页| 夜夜操狠狠操|