自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

麻將和牌程序(遞歸)

開發(fā) 后端
本文提供了一個Java編寫的麻將和牌程序(遞歸)源代碼。

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

public class MaJiang2
{
    private boolean jiang=false;//是否找到將
    public MaJiang2(){}

    //花色,判斷這個花色是否被減完了(如果沒有減完自然沒有和)
    private int huase(int[] hua)
    {
        if (hua.length==7)
        {
            //判斷字,自比較特殊,沒有順
            for (int i=0;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            {
                //如果沒有將,先把將減出去
                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        {
            re=re+hua[i];
        }
        return re;
    }


    public void Hu(int[] aWan,int[] aTiao,int[] aTong,int[] aZi)
    {
        //先從字開始,如果某一花色計(jì)算完之后依舊不為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);
    }
}

【編輯推薦】

  1. JavaOne 2009第三天:微軟與Sun/Oracle攜手并進(jìn)
  2. 開發(fā)高可移植性J2ME的軟件
  3. Java虛擬機(jī)(JVM)中的內(nèi)存設(shè)置詳解
  4. JavaFX和Java之間的互操作性
  5. JavaFX能否實(shí)現(xiàn)Sun的桌面端夢想
責(zé)任編輯:王觀 來源: 百家編程
相關(guān)推薦

2019-03-13 09:51:56

AI人工智能打麻將

2020-10-14 08:32:08

算法遞歸面試

2020-04-03 09:05:43

麻將 AI Suphx神經(jīng)網(wǎng)絡(luò)

2018-12-24 10:04:32

區(qū)塊鏈數(shù)據(jù)存儲分布式記賬

2020-05-27 07:38:36

尾遞歸優(yōu)化遞歸函數(shù)

2021-06-02 07:57:48

內(nèi)存管理

2020-07-10 08:15:19

遞歸算法函數(shù)

2022-03-31 08:15:59

遞歸代碼非遞歸

2019-09-16 08:32:59

遞歸算法編程

2024-11-29 14:50:45

2019-09-18 10:12:37

遞歸數(shù)據(jù)結(jié)構(gòu)

2010-04-02 15:04:14

Oracle遞歸查詢

2013-11-11 10:03:29

遞歸路由

2009-11-17 16:53:24

PHP遞歸算法

2023-10-24 09:30:49

Java內(nèi)存

2018-03-05 08:52:57

2015-07-08 16:06:15

iOS遞歸鎖

2020-01-17 06:02:46

技術(shù)開發(fā)AI

2021-09-15 07:40:50

二叉樹數(shù)據(jù)結(jié)構(gòu)算法

2023-07-11 13:07:53

中國AI麻將
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號