1、郑州男子挪车电话用麻将牌拼出是怎么回事? 昨日上午9时许,杜岭街与西里路交叉口南路西一家属院门口,一些路过的市民看着一辆白色的奇瑞轿车津津乐道:这
1、郑州男子挪车电话用麻将牌拼出是怎么回事?昨日上午9时许,杜岭街与西里路交叉口南路西一家属院门口,一些路过的市民看着一辆白色的奇瑞轿车津津乐道:这辆轿车并非豪车,让人啼笑皆非的是放在汽车挡风玻璃上的挪车电话:一排麻将。 “我们巡逻,隔三差五能看到这辆汽车。据小区居民称,该车主姓高,不在这小区住,他开车来这儿,是找朋友打麻将。”杜岭街道办事处巡防队员史存才称。 “车主制作挪车电话五花八门,但用麻将牌拼成挪车电话的,我还是第一次见到。这主应该是痴迷麻将牌,要不然不会想着用这招。”路过的市民许女士嬉笑道。 10时46分,有媒体试着拨打该挪车电话,接通后,里边传出“东风南风七条和了”等声音。接听电话的正是高先生,可以听出,他们麻将打得正酣。 10时50分许,一中年男子从院里出来,手里拿着一串车钥匙和一部手机。“我没有其他爱好,就好与朋友闲暇之时打打麻将牌。”高先生称。 当问起为何会想着用麻将牌拼成挪车电话时,高先生说:“我的车后备厢里放着一副麻将牌,但缺几张牌,本想扔掉,突然想到不如用它拼成挪车电话,便用胶带将其粘住,停车离开时就放在挡风玻璃上。” 2、麻将“大吊车”怎么玩?大吊车是苏州麻将中的打法,其规则如下:如果有一人手上有2,,2万4张牌,这时有人打了2条,他可以胡,可以碰,但他选择了碰,,再打出一张2万,这时他吊2万。 其他人打出一张牌,自己手中有三张相同的牌,即可杠牌,称为明杠,倒下这个杠,再到排尾抓一张牌,将手中不需要的一张牌打出。手中有三张相同的牌,又抓到一张相同的牌,称为暗杠; 扣下,别人不知道是啥牌,再到排尾抓一张牌,将手中不需要的一张牌打出。“明杠”比“吃”优先,如果你要杠的牌刚好是出牌方下家要吃的牌,则吃牌失败,杠牌成功。 玩法过程: 码牌:洗均匀之后,每人码36张牌,两张牌上下摞在一起为一墩,各自为18墩,并码成牌墙摆在自己门前,四人牌墙左右相接成正方形。 理牌、审牌、补花:分类整理手中的牌,整齐排列,审视牌势。如手中有花牌,首先由庄家补花,即是从牌墙的尾端取一张牌。另外三家依次逐一补花,若补回来的是花牌,则待该轮完结后再补。 行牌:行牌即是打牌进行过程。由庄家打出第一张牌开始,此过程包括抓牌、出牌、吃牌、碰牌、开杠(明杠、暗杠)、补直至和牌或荒牌。 3、可以随配的那种麻将算法?、?将规则(云南昭通?将)1)“万”“筒”和“条”三房牌,各36张,共张牌; 2)只能“碰”“杠”“胡”,不能吃牌 3)4?进?游戏; 4)游戏开始时,庄家摸14张牌,闲家摸13张牌; 5)有4个癞?牌(坨牌:既可以作为本?牌型可以替换为任意牌) 2.游戏术语 1)坎:???中有三张相同的牌; 2)碰牌:???中有两张,别?再打出?张,则可以?两张去碰,并将这三张亮出来; 3)明杠:???中有?坎,别?在打出?张,则可以?三张去杠,称之为明杠,所有的杠都是从牌墙前?补牌的。 4)暗杠:??摸到了四张相同的牌,则可以暗杠; 5)补杠:??已经碰了的牌,???摸到了第4张,则可以补杠; 6)根:??的?牌和碰牌中有四张相同的但是没杠下来的,称之为根; 7)叫:即听牌,?户当前的13张牌,再摸?张牌就可以和牌的牌型; 8)墙?:摸完牌后,翻出?张牌,放在下家的堆牌区中。 9)坨:摸完牌后,翻出牌墙第?张牌,定义为癞?牌。 10)满飞满杀:坨拿去杠。 案例1:?上2个5条,有?打出5条,可以拿2个5条加1个坨去杠5条 案列2:已碰了3万,?上有坨,可以直接拿坨去杠3万 11)飞碰:坨加?张单牌拿去碰的过程。 12)亮牌:胡牌后亮出所有牌(牌桌上的玩家都可以看),剩下的继续?战。 3.胡牌规则 1)胡牌条件:缺?门成牌型即可胡牌 缺?门:游戏开始后,必须打缺?门,中途可以换打缺哪门(不是定缺),胡牌局牌时必须只有2门或1门(筒、万、条牌型)胡牌的基本牌型: i.11、、、、; ii.11、、、、/(下同); iii.11、、、、; iv.11、、、、; v.11、、、、; vi.11、22、33、44、55、66、77; 2)牌型 牌型说明 棒棒正常普通的和牌,所谓的平胡 勾胡?上有杠的牌型 天胡庄家起?牌就和牌 地胡庄家打出的第??牌被闲家和 清??只有?种花?的牌型 杠上炮玩家杠了之后摸起来那张牌点的炮 杠上花玩家杠了以后?摸,?论暗杠、明杠、加杠都相当于?摸抢杠和别?补杠的杠牌(不是补杠后摸得那张) ?对?11、、、、的牌型 · · 关注微信公众号:挪车小黄码 · 官方免费领取:挪车码,车主双方虚拟号码,隐私保护,拒绝骚扰,违章查询,免费使用!--挪车电话? 官网:https://www.nuoche.cc/ · · ![]() 巧七对11、22、33、44、55、66、77的牌型 龙七对11、22、33、44、55、的牌型 ?、?将算法设计(?维数组形式) 1.类型定义(类型*10) 万10(万牌的张数) 11——19?万-九万 筒20(筒牌的张数) 21——筒-9筒 条30(条?牌的张数) 31——条-9条 风牌40(?前?风牌)41——49东南西北中发? 2.牌下标定义 (1)万字牌的对应 4张1万 4张2万 4张3万 4张4万 4张5万 4张6万 4张7万 4张8万 4张9万 3.初始化牌和发牌 1)把所有牌放到牌堆*初始化?将*@returnpublicList List for(inti=11;i<40;i++){ if(i%10==0){ continue;for(intj=0;j<4;j++){ allPai.add(i);returnallPai;2)发牌,发四份牌*发牌 *@paraminitAllPaipublicList Collections.shuffle(initAllPai); List for(intj=0;j<4;j++){ List for(inti=0;i<13;i++){ //从牌堆中移除?张牌 Integerremove=initAllPai.remove(0); pais.add(remove);paiLists.add(pais);returnpaiLists;3)把牌分成?维数组判断能否胡牌、杠牌、碰牌*牌的类型?万-九万11-19?筒-九筒21-29?索-九索31-39将牌转换为?维数组*?位是牌型总数*@paramlist *@returnpublicstaticint[][]changeToArr(List int[][]allPai=newint[4][10]; for(inti=0;i Integerpai=list.get(i); switch(pai/10){ case1: allPai[0][0]=allPai[0][0]+1; allPai[0][pai%10]=allPai[0][pai%10]+1; break; case2: allPai[1][0]=allPai[1][0]+1; allPai[1][pai%10]=allPai[1][pai%10]+1; break; case3: allPai[2][0]=allPai[2][0]+1; allPai[2][pai%10]=allPai[2][pai%10]+1; break; case4: allPai[3][0]=allPai[3][0]+1; allPai[3][pai%10]=allPai[3][pai%10]+1; break; default: break;returnallPai;4.测试效果 publicstaticvoidmain(String[]args){ List List for(List "everyonepais:"+pais);所有的牌:allpai:[[36,4,4,4,4,4,4,4,4,4],[36,4,4,4,4,4,4,4,4,4],[36,4,4,4,4,4,4,4,4,4],[0,0,0,0,0,0,0,0,0,0]]结果 该玩家牌为:[13,21,25,16,24,12,24,38,27,36,36,15,39]缺牌类型为:0 该玩家牌为:[33,36,26,34,36,39,39,38,19,21,24,35,26]缺牌类型为:0 该玩家牌为:[17,26,17,22,11,29,37,18,31,23,11,13,28]缺牌类型为:2 该玩家牌为:[13,33,25,11,17,31,37,37,27,15,12,11,28]缺牌类型为:1 三)?将业务算法 1)判断是否缺?门(只有筒、万、条中的?种或两种牌型)*是否缺?门 *@parampaiList玩家?中所有牌 *@paramtuopai癞?牌 *@returnpublicstaticbooleanisQueYiMen(List allPais.remove(tuopai); int[][]allPai=changeToArr(allPais); if(allPai[0][0]==0){//万牌为0张 returntrue;if(allPai[1][0]==0){//筒牌为0张 returntrue;if(allPai[2][0]==0){//条牌为0张 returntrue;returnfalse;//三种牌都不缺2)缺的牌类型下标*缺的类型下标 *@paramallPai *@paramtuopai *@returnpublicstaticintchoseQueType(int[][]allPai,inttuopai){ if(allPai[0][0]==0){//万牌为0张,即可返回,不?执?下?代码,提?运?效率return0;if(allPai[1][0]==0){//筒牌为0张 return1;if(allPai[2][0]==0){//条牌为0张 return2;intyu=tuopai/10-1; intmod=tuopai%10; intnum=allPai[yu][mod];//癞?牌的号码,癞?牌不算?种牌类型 intindex=0; for(intcount=0;count<2;count++){//遍历移除癞?牌三种类型牌的数量 intlast=allPai[index][0]; intnext=allPai[count+1][0]; //除去坨牌的数量 if(index==yu){ last=last-num;if(next==yu){ next=next-num;if(next index=count+1;returnindex;3)能否杠牌 *判断能否杠牌*@parampaiList所有?牌 *@paramtargetPai?标牌 *@paramgangType杠类型 *@returnpublicstaticbooleancanGang(List int[][]allPai=changeToArr(paiList); intidx=targetPai/10; intpos=targetPai%10; intyetPaiNum=allPai[idx-1][pos]; switch(gangType){ case1:{//暗杠-4张?样的?牌 returnyetPaiNum==4;case2:{//明杠-3张?张的?牌 returnyetPaiNum==3;returnfalse;4)能否碰牌*判断能否碰牌*@paramallPai所有?牌 *@paramtargetPai?标牌 *@returnpublicstaticbooleancanPeng(List int[][]allPai=changeToArr(paiList); intidx=targetPai/10; intpos=targetPai%10; intyetPaiNum=allPai[idx-1][pos]; if(yetPaiNum>=2){//?上该?标牌超过两张,可执?碰操作 returntrue;returnfalse;5)选择打某张牌(基本) *根据玩家的碰杠牌选择打的牌避免花猪 *@paramlist?牌 *@parammap碰杠牌堆 *@paramtuoPai癞?牌 *@returnpublicstaticintchosePai(List inttotal=0;//花?总数 inthuaSe=0;//记录最少的花? List for(Map.Entry intkey=entry.getKey(); if(indexList!=null&&!indexList.contains(key/10-1)){ indexList.add(key/10-1);int[][]allPai=changeToArr(list); allPai[tuoPai/10-1][0]-=allPai[tuoPai/10-1][tuoPai%10]; allPai[tuoPai/10-1][tuoPai%10]=0;//把癞?牌的数量置零 for(intindex=0;index<3;index++){//遍历三种花?牌的情况, if(indexList.contains(index)){ continue;if(total==0){ total=allPai[index][0]; huaSe=index;if(total>allPai[index][0]){ total=allPai[index][0]; huaSe=index;for(inti=1;i<10;i++){//选择最左的牌 if(allPai[huaSe][i]>0){ pai=(huaSe+1)*10+i; break;returnpai;6)对对胡 *对对胡 *@paramallPai所有?牌 *@returnpublicstaticbooleaniiHu(int[][]allPai){ //对对胡 booleanisDuizi=true; if(allPai[0][0]+allPai[1][0]+allPai[2][0]!=14){//所有?牌?共14张,对对胡有7个对?returnfalse;//遍历所有?牌 for(inti=0;i<3;i++){ for(intj=1;j<=9;j++){ if(allPai[i][j]>0&&(allPai[i][j]!=2&&allPai[i][j]!=4)){ isDuizi=false; break;if(!isDuizi){ break;if(isDuizi){ returntrue;returnfalse;7)?将听牌列表*?将缺什么牌型完整*@paramallPai *@returnpublicstaticList intpai=0; List for(inti=1;i<=3;i++){ List for(intj=1;j<=9;j++){//遍历每?张牌,统计每张牌组合牌型 pai=10*i+j; intyu=pai/10-1; intmod=pai%10; //是否有对? intsize=allPai[yu][mod];//这种牌pai张数 if(size==0){ continue;booleanhasShun=shunFilter(allPai,pai,tingTable); if(size==2&&!hasShun){//没有带顺序的牌并且是?对的 izi.add(pai);if(size==2&&hasShun){//有带顺序的牌并且是?对的 if(!tingTable.contains(pai)){ tingTable.add(pai); tingTable.add(pai);if(size==2){ if(!tingTable.contains(pai)){ tingTable.add(pai);if(size==3&&hasShun){ izi.add(pai);if(izi.size()>1){ for(Integerdata:izi){ if(!tingTable.contains(data)){ tingTable.add(data);}//连续牌缺牌的整体判断 for(inti=1;i<=3;i++){ Map intstart=0; intyu=i-1; for(intj=1;j<=9;j++){ intnext=1; start=j; for(intk=j;k<=8;k++){ if(allPai[yu][k]>0&&allPai[yu][k+1]>0){ next++; }else{ break;if(next>3){ shun.put(start,next);if(next>max){ max=next;for(Map.Entry for(intk=0;k pai=10*i+entry.getKey()+k; if(!tingTable.contains(pai)){ tingTable.add(pai);if(entry.getKey()>1){ pai=10*i+entry.getKey()-1; if(!tingTable.contains(pai)){ tingTable.add(pai);intend=entry.getKey()+entry.getValue(); if(end<10){ pai=10*i+end; if(!tingTable.contains(pai)){ tingTable.add(pai);}shun.clear();returntingTable;注:未完待续,?将算法较为复杂的地?是听牌列表判断、能否胡牌判断、特别是有癞?牌的时候简直是噩梦5.9 文库VIP限时优惠现在开通,立享6亿+VIP内容 立即获取 麻将算法(上) ?将算法(上) ?、?将规则(云南昭通?将)1)“万”“筒”和“条”三房牌,各36张,共张牌; 2)只能“碰”“杠”“胡”,不能吃牌 3)4?进?游戏; 4)游戏开始时,庄家摸14张牌,闲家摸13张牌; 5)有4个癞?牌(坨牌:既可以作为本?牌型可以替换为任意牌) 2.游戏术语 1)坎:???中有三张相同的牌; 2)碰牌:???中有两张,别?再打出?张,则可以?两张去碰,并将这三张亮出来; 3)明杠:???中有?坎,别?在打出?张,则可以?三张去杠,称之为明杠,所有的杠都是从牌墙前?补牌的。 4)暗杠:??摸到了四张相同的牌,则可以暗杠; 5)补杠:??已经碰了的牌,???摸到了第4张,则可以补杠; 6)根:??的?牌和碰牌中有四张相同的但是没杠下来的,称之为根; 7)叫:即听牌,?户当前的13张牌,再摸?张牌就可以和牌的牌型; 8)墙?:摸完牌后,翻出?张牌,放在下家的堆牌区中。 9)坨:摸完牌后,翻出牌墙第?张牌,定义为癞?牌。 10)满飞满杀:坨拿去杠。 案例1:?上2个5条,有?打出5条,可以拿2个5条加1个坨去杠5条 案列2:已碰了3万,?上有坨,可以直接拿坨去杠3万 11)飞碰:坨加?张单牌拿去碰的过程。 12)亮牌:胡牌后亮出所有牌(牌桌上的玩家都可以看),剩下的继续?战。 3.胡牌规则 1)胡牌条件:缺?门成牌型即可胡牌 缺?门:游戏开始后,必须打缺?门,中途可以换打缺哪门(不是定缺),胡牌局牌时必须只有2门或1门(筒、万、条牌型)胡牌的基本牌型: i.11、、、、; ii.11、、、、/(下同); iii.11、、、、; iv.11、、、、; v.11、、、、; vi.11、22、33、44、55、66、77; 2)牌型 牌型说明 棒棒正常普通的和牌,所谓的平胡 勾胡?上有杠的牌型 天胡庄家起?牌就和牌 地胡庄家打出的第??牌被闲家和 清??只有?种花?的牌型 杠上炮玩家杠了之后摸起来那张牌点的炮 杠上花玩家杠了以后?摸,?论暗杠、明杠、加杠都相当于?摸抢杠和别?补杠的杠牌(不是补杠后摸得那张) ?对?11、、、、的牌型 巧七对11、22、33、44、55、66、77的牌型 龙七对11、22、33、44、55、的牌型 ?、?将算法设计(?维数组形式) 1.类型定义(类型*10) 万10(万牌的张数) 11——19?万-九万 筒20(筒牌的张数) 21——筒-9筒 条30(条?牌的张数) 31——条-9条 风牌40(?前?风牌)41——49东南西北中发? 2.牌下标定义 |
请发表评论