溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java如何實(shí)現(xiàn)麻將和牌程序

發(fā)布時間:2022-03-30 13:55:37 來源:億速云 閱讀:161 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“java如何實(shí)現(xiàn)麻將和牌程序”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“java如何實(shí)現(xiàn)麻將和牌程序”這篇文章吧。

以下是Java編寫的麻將和牌程序:

public class MaJiang2
{
private boolean jiang=false;//是否找到將
public MaJiang2(){}
//花色,判斷這個花色是否被減完了(如果沒有減完自然沒有和)
private int huase(int[] hua)
{
if (hua.length==7)
{
//判斷字,自比較特殊,沒有順
for (int i=0;i<HUA.LENGTH ;i++ )
{
if (hua[i]==3||hua[i]==4)
{
hua[i]=0;
huase(hua);
}
//如果字有兩個,肯定是將
if (hua[i]==2&&!jiang)
{
hua[i]=0;
jiang=true;
huase(hua);
}
}
}
else
{
for (int i=0;i<HUA.LENGTH ;i++ )
{
//如果沒有將,先把將減出去
if (!jiang&&hua[i]>=2)
{
hua[i]=hua[i]-2;
jiang=true;
int fanhui=huase(hua);
//如果遞歸回來依舊沒有減完,則把將加回去
if (fanhui!=0)
{
hua[i]=hua[i]+2;
jiang=false;
}
}
if (hua[i]!=0&&i<7&&hua[i+1]!=0&&hua[i+2]!=0)
{
hua[i]--;
hua[i+1]--;
hua[i+2]--;
huase(hua);
int fanhui=huase(hua);
//如果遞歸回來依舊沒有減完,減去的加回去
if (fanhui!=0)
{
hua[i]++;
hua[i+1]++;
hua[i+2]++;
}
}
if (hua[i]==3||hua[i]==4)
{
int temp=hua[i];
hua[i]=0;
huase(hua);
int fanhui=huase(hua);
//如果遞歸回來依舊沒有減完,減去的加回去
if (fanhui!=0)
{
hua[i]++;
hua[i]=temp;
}
}
}
}
int re=0;
//最后判斷減沒減完
for (int i=0;i<HUA.LENGTH ;i++ )
{
re=re+hua[i];
}
return re;
}
public void Hu(int[] aWan,int[] aTiao,int[] aTong,int[] aZi)
{
//先從字開始,如果某一花色計算完之后依舊不為0,則肯定不和。如果所有的花色全部減完了,就和了,呵呵:-〉
int jieguo=huase(aZi);
if (jieguo!=0)
{
System.out.println("沒和");
}
else if ((jieguo=huase(aWan))!=0)
{
System.out.println("沒和");
}
else if ((jieguo=huase(aTiao))!=0)
{
System.out.println("沒和");
}
else if ((jieguo=huase(aTong))!=0)
{
System.out.println("沒和");
}
else
{
System.out.println("和了,真不容易,一腦門子漢");
}
}
public static void main(String[] args) 
{
MaJiang2 mj=new MaJiang2();
int[] w={3,1,1,2,1,1,1,1,3};
int[] ti={0,0,0,0,0,0,0,0,0};
int[] to={0,0,0,0,0,0,0,0,0};
int[] z={0,0,0,0,0,0,0};
mj.Hu(w,ti,to,z);
}
}

以上是“java如何實(shí)現(xiàn)麻將和牌程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI