分享
 
 
 

麻将游戏开发

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

最近要学习软件工程,学习之余就去网络上玩麻将,呵呵~~~

突发奇想要自己开发一个,边练手,边娱乐,何乐而不为呢

麻将游戏要用到很多模块,慢慢补来

也望各位大大多留下意见,先谢过

麻将网络游戏项目

项目分为服务器端和客户端两大模块

服务器端功能:提供游戏玩家注册、登录、积分、聊天服务

为游戏提供桌号、洗牌、算番

客户端:游戏界面,判断是否吃、碰、杠、听牌及胡牌

数据结构:麻将的数字表示

用数字0~35表示麻将牌,其中0~8代表一万到九万,9~17代表一条到九条,18~26代表一筒到九筒,27代表东风,28代表南风,29代表西风,30代表北风,31代表中,32代表发,33代表白,34代表春夏秋冬,35代表梅竹兰菊

见下表

============================================

0 1 2 3 4 5 6 7 8

============================================

一万 二万 三万 四万 五万 六万 七万 八万 九万

============================================

9 10 11 12 13 14 15 16 17

============================================

一条 二条 三条 四条 五条 六条 七条 八条 九条

============================================

18 19 20 21 22 23 24 25 26

============================================

一筒 二筒 三筒 四筒 五筒 六筒 七筒 八筒 九筒

============================================

27 28 29 30 31 32 33 34 35

============================================

东风 南风 西风 北风 红中 发财 白板 花1 花2

============================================

每个数字出现四次,代表四张牌,洗牌时采用随机算法提供牌墙

牌墙数据结构:

圈风:

quanfeng:(27,28,29,30)

数组paiqiang[0..143],其中

paiqiang[0]~paiqiang[35]为东(庄)家

paiqiang[36]~paiqiang[71]为南家

paiqiang[72]~paiqiang[107]为西家

paiqiang[108]~paiqiang[143]为北家

玩家数据结构:

玩家wanjia:{

门风:

menfeng:(27,28,29,30)

杠:

gangpai{

pai:0~33

mingAn:0|1

}

gangarr[0..3]:gangpai(最多四个杠,数字表示杠的牌,结构体第二位的0表示明杠,1表示暗杠)

碰:pengpai[0..3]:0~33最多四个碰牌

吃:

chipai{

chimin:(0~6,9~15,18~24)

chimax:(2~8,11~17,20~26)

}吃牌中只用记录顺子的收尾即可

chiarr[0..3]:chipai(最多有三个吃牌)

花牌:0~8(初始化为0,每摸到一个花牌加一)

手牌:paiInHand{

pai[0..13],

num:1,4,7,10,13

}

要牌pai[13]:除庄家外,初始化为-1,待摸牌上手(吃牌,碰牌,杠牌摸牌,任何一家打牌)后,将对应的牌值赋值给要牌,要牌为玩家需要处理牌的标志(当非负时),当玩家处理完牌后,将牌整理后,将要牌置-1

}

当要牌置位(非负)时,要对手牌进行胡牌判断:

由于手牌已经除掉了大量的碰杠吃等情况,简化的胡牌算法:

先对pai数组加上要牌一起排序;

然后用递归算法判断是否胡牌;

最后判断是否为7对,十三么,全不靠牌型:(注,这些牌型一般不容易胡,故番数也不小哦,^_^)

if(num==13)

{

if(pai[0]==pai[1]&pai[2]==pai[3]&pai[4]==pai[5]&pai[6]==pai[7]&pai[8]==pai[9]&pai[10]==pai[11]&pai[12]==pai[13])

return 1;//七对

dblpos=-1; //记录数组中对牌的位置;-1为没有对牌

dblnum=0;//对的个数(如果超过两个对(可能是一个刻子)则不能胡十三么,全不靠牌型)

for(i=0;i<14;i++}

{

if(pai[i]==pai[i+1])

{

dblpos=i;

dblnum++;

}

if(dblnum>1) break;

}

if(dblnum==1) //可能为十三么

{

tirteen=1;

for(i=0;i<14;i++)

{

if(pai[i]>0&[pai]<8)

{

tirteen=0;

break;

}

else if(pai[i]>9&[pai]<17)

{

tirteen=0;

break;

}

else if(pai[i]>18&[pai]<26)

{

tirteen=0;

break;

}//如果任何一张牌为非么九和非字牌,则不能胡十三么,

if(tirteen) return 1;//如果全部是么九和字牌,加上进入该段程序的牌只有一个对,则十三么胡牌

}

}

else//可能为全不靠

{

nowordpos=14;//记录下最后一个不是字牌的位置

for (i=13;i>=0;i--)

{

if(pai[i]<=26)

{

nowordpos=i;

break;

}

}

if(nowordpos<=8)//如果非字牌有9个以上,肯定不能胡全不靠

{

istirteen=1;

for(i=0;i<=nowordpos;i++)

{

if(pai[i+1]-pai[i]<3&&pai[i+1]/9==pai[i]/9)//如果存在同一花色里两张可以吃别人的牌,则不能胡全不靠

{

istirteen=0;

break;

}

}

if(istirteen)

{

for(i=0;i<=nowordpos-1;i++)

{

for(j=i+1;j<=nowordpos;j++)

if(pai[i]==pai[j] mod 9)

{

istirteen=0;

break;

}

if(istirteen==0) break;

}

}

if(istirteen) return 1;

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有