示例#1
0
    void createKomaObj(string name, int x, int cnt)
    {
        // 駒表示
        Vector3 komaScale = new Vector3(100, 100, 0);

        Sprite[]       sprites        = Resources.LoadAll <Sprite> ("koma");
        Sprite         sp             = System.Array.Find <Sprite> (sprites, (sprite) => sprite.name.Equals(name));
        GameObject     gameObj        = new GameObject();
        SpriteRenderer spriteRenderer = gameObj.AddComponent <SpriteRenderer> ();

        spriteRenderer.sprite    = sp;
        gameObj.transform.parent = FindObjectOfType <Canvas> ().transform;
        string objName = KomaConst.motigoma + name;

        gameObj.transform.name       = objName;
        gameObj.transform.localScale = komaScale;
        gameObj.transform.position   = new Vector3(transform.position.x + basex + per1x * x, transform.position.y, 2);
        BoxCollider2D box = gameObj.AddComponent <BoxCollider2D>() as BoxCollider2D;
        KomaScript    sc  = gameObj.AddComponent <KomaScript>();

        sc.SetKoma(0, 0, objName);
        // 枚数
        createKomaNum2Obj(name, x, cnt);         // 2桁目
        createKomaNumObj(name, x, cnt);          // 1桁目
    }
示例#2
0
    public List <KomaMove> GetMotigomaMoves(KomaScript sc)
    {
        List <KomaMove> moves   = new List <KomaMove> ();
        MasuManager     manager = MasuManager.Instance;

        for (int x = 1; x <= 9; x++)
        {
            for (int y = 1; y <= 9; y++)
            {
                MasuInit masu = manager.GetMasu(x, y);
                // 敵味方の駒がいないとき
                if (!masu.exists)
                {
                    KomaMove move = new KomaMove();
                    move.x = x;
                    move.y = y;
                    moves.Add(move);
                }
                else
                {
                    continue;
                }
            }
        }
        return(moves);
    }
示例#3
0
    public List <KomaMove> GetMoves(KomaScript sc, bool reverse = false)
    {
        int reversenum = 1;

        if (reverse)
        {
            reversenum = -1;
        }
        List <KomaMove> moves   = new List <KomaMove>();
        MasuManager     manager = MasuManager.Instance;

        int[] xs = { 0, -1, -1, 0, 1, 1 };
        int[] ys = { 1, 0, -1, -1, -1, 0 };
        int   i  = 0;

        foreach (int x in xs)
        {
            int      y    = ys [i];
            MasuInit masu = manager.GetMasu(sc.x + x, sc.y + y * reversenum);
            if (masu.selfFlag != sc.selfFlag || masu.enemyFlag != sc.enemyFlag)
            {
                KomaMove move = new KomaMove();
                move.x = x;
                move.y = y * reversenum;
                moves.Add(move);
            }
            i++;
        }
        return(moves);
    }
示例#4
0
    // 駒を浮かせた駒を戻す
    public void resetFloatKomaObj(string objName)
    {
        GameObject komaObj = GameObject.Find(objName);
        KomaScript sc      = komaObj.GetComponent <KomaScript> ();

        // komaObj.transform.position = new Vector3 (transform.position.x + basex + per1x * x, transform.position.y, 2);
        komaObj.transform.position = new Vector3(komaObj.transform.position.x + 0.05f, transform.position.y, 2);
    }
示例#5
0
    // 駒を浮かせた駒を戻す
    public void resetFloatKomaObj(string objName)
    {
        GameObject komaObj = GameObject.Find(objName);
        KomaScript sc      = komaObj.GetComponent <KomaScript> ();

        komaObj.transform.position = new Vector3(basex - per1x * sc.x, basey - per1y * sc.y, 0);

        iTween.ColorTo(komaObj, iTween.Hash("r", 1f, "g", 1f, "b", 1f, "time", 0.1f));
    }
示例#6
0
    // 駒を浮かせる
    public void floatKomaObj(string objName)
    {
        GameObject komaObj = GameObject.Find(objName);
        KomaScript sc      = komaObj.GetComponent <KomaScript> ();

        komaObj.transform.position = new Vector3(basex - per1x * sc.x - 0.05f, basey - per1y * sc.y + 0.05f, 0);

        iTween.ColorTo(komaObj, iTween.Hash("r", 0.7f, "g", 0.7f, "b", 0.7f, "time", 0.5f, "loopType", "pingpong"));
    }
示例#7
0
    public List <KomaMove> GetMotigomaMoves(KomaScript sc, bool reverse = false)
    {
        List <KomaMove> moves   = new List <KomaMove> ();
        MasuManager     manager = MasuManager.Instance;
        int             ymin    = 1;
        int             ymax    = 9;

        if (reverse)
        {
            ymax = 8;
        }
        else
        {
            ymin = 2;
        }
        for (int x = 1; x <= 9; x++)
        {
            bool nifuFlag = false;
            for (int y = ymin; y <= ymax; y++)
            {
                MasuInit masu = manager.GetMasu(x, y);
                // 味方側
                if (!reverse && masu.komaName.Equals(KomaConst.komaFu))
                {
                    nifuFlag = true;
                    break;
                    // 敵側
                }
                else if (reverse && masu.komaName.Equals(KomaConst.komaFu2))
                {
                    nifuFlag = true;
                    break;
                }
            }
            if (!nifuFlag)
            {
                for (int y = ymin; y <= ymax; y++)
                {
                    MasuInit masu = manager.GetMasu(x, y);
                    // 敵味方の駒がいないとき
                    if (!masu.exists)
                    {
                        KomaMove move = new KomaMove();
                        move.x = x;
                        move.y = y;
                        moves.Add(move);
                    }
                    else
                    {
                        continue;
                    }
                }
            }
        }
        return(moves);
    }
    // 移動可能マスの表示
    //public void RefresAbles(KomaScript sc, List<KomaMove> moves, string name)
    public void RefresAbles(KomaScript sc, int[,] moves, string name)
    {
        GameObject refObj    = GameObject.Find("ban2_1");
        BanScript  banScript = refObj.GetComponent <BanScript>();
        float      per1x     = 50.6f;
        float      per1y     = 50.6f;
        float      basex     = 575f + per1x;
        float      basey     = 420f + per1y;

        //List<KomaMove> choosemoves = new List<KomaMove>();
        //int[,] choosemoves = new int[4, 2];
        if (!banScript.chooseflag)
        {
            //int i = 0;
            //foreach (KomaMove move in moves)
            for (int i = 0; i < 4; i++)
            {
                //if (sc.x + move.x > 5 || sc.x + move.x < 1)
                if (sc.x + moves[i, 0] > 5 || sc.x + moves[i, 0] < 1)
                {
                    continue;
                }
                //if (sc.y + move.y > 5 || sc.y + move.y < 1)
                if (sc.y + moves[i, 1] > 5 || sc.y + moves[i, 1] < 1)
                {
                    continue;
                }
                Sprite         sp             = Resources.Load <Sprite>("koma_able");
                GameObject     gameObj        = new GameObject();
                SpriteRenderer spriteRenderer = gameObj.AddComponent <SpriteRenderer>();
                spriteRenderer.sprite        = sp;
                gameObj.transform.parent     = FindObjectOfType <Canvas>().transform;
                gameObj.transform.localScale = new Vector3(14, 14, 0);
                gameObj.transform.name       = "koma_able" + i;
                //gameObj.transform.position = new Vector3(basex - per1x * (sc.x + move.x), basey - per1y * (sc.y + move.y), -2);
                gameObj.transform.position = new Vector3(basex - per1x * (sc.x + moves[i, 0]), basey - per1y * (sc.y + moves[i, 1]), -2);
                BoxCollider2D box      = gameObj.AddComponent <BoxCollider2D>() as BoxCollider2D;
                KomaAble      komaAble = gameObj.AddComponent <KomaAble>();
                //komaAble.x = sc.x + move.x;
                //komaAble.y = sc.y + move.y;
                komaAble.x = sc.x + moves[i, 0];
                komaAble.y = sc.y + moves[i, 1];
                i++;
                //choosemoves.Add(move);
            }
            banScript.chooseflag = true;
            //banScript.choosemoves = choosemoves;
            banScript.choosemoves    = moves;
            banScript.choosekomaname = name;
        }
    }
示例#9
0
    // 駒成確認&実行時
    void execCheckNarigoma(string name, int x, int y)
    {
        GameObject gameObj = GameObject.Find(name);
        KomaScript sc      = gameObj.GetComponent <KomaScript>();

        if (sc.selfFlag)
        {
            // 駒がまだ成ってない
            if (KomaFunction.isNotNarigoma(sc.komaName))
            {
                if (y <= 3 || sc.y <= 3 && sc.y != 0)
                {
                    if (KomaFunction.isRequireNarigoma(sc.komaName, x, y))
                    {
                        modKomanariObj(chooseKomaObjName, KomaFunction.GetNarigomaByKoma(sc.komaName), x, y);
                    }
                    else
                    {
                        string[] names = name.Split(new char[] { '_' });
                        name = "koma_" + names [1];
                        CreateNarigomaBg(KomaFunction.GetNarigomaByKoma(name), x, y);
                        CreateNarigomaBg2(name, x, y);
                        narigomaBgFlag = true;
                    }
                }
            }
        }
        else if (sc.enemyFlag)
        {
            // 駒がまだ成ってない
            if (KomaFunction.isNotNarigoma(sc.komaName))
            {
                if (y >= 7 || sc.y >= 7)
                {
                    if (KomaFunction.isRequireNarigoma(sc.komaName, x, y))
                    {
                        modKomanariObj(chooseKomaObjName, KomaFunction.GetNarigomaByKoma(sc.komaName), x, y);
                    }
                    else
                    {
                        string[] names = name.Split(new char[] { '_' });
                        name = "koma_" + names [1];
                        CreateNarigomaBg(KomaFunction.GetNarigomaByKoma(name), x, y);
                        CreateNarigomaBg2(name, x, y);
                        narigomaBgFlag = true;
                    }
                }
            }
        }
    }
示例#10
0
    // 駒移動処理
    public void MoveKomaObj(string name, int x, int y)
    {
        bool motigomaFlag = false;

        // 持ち駒の場合
        if (name.IndexOf(KomaConst.motigoma) > -1)
        {
            name = name.Replace(KomaConst.motigoma, "");
            MotigomaManager motigomaManager = MotigomaManager.Instance;
            motigomaManager.Minus(name);
            if (KomaFunction.isSelfKoma(name))
            {
                GameObject     obj = transform.Find("../Motigoma1").gameObject;
                MotigomaScript mSc = obj.GetComponent <MotigomaScript> ();
                mSc.RefreshKoma();
            }
            else
            {
                GameObject     obj = transform.Find("../Motigoma2").gameObject;
                MotigomaScript mSc = obj.GetComponent <MotigomaScript> ();
                mSc.RefreshKoma();
            }
            name = CreateKomaObj(name, x, y);
            MasuManager manager = MasuManager.Instance;
            manager.SetMasu(x, y, KomaFunction.GetKomaNameByObjName(name));
            manager.UpdMasuObjNameByXAndY(name, x, y);
            motigomaFlag = true;
        }
        GameObject gameObj = GameObject.Find(name);
        KomaScript sc      = gameObj.GetComponent <KomaScript> ();

        gameObj.transform.position = new Vector3(basex - per1x * x, basey - per1y * y, 2);
        // 持ち駒でない場合
        if (!motigomaFlag)
        {
            Debug.Log("motigomadenai " + name);
            execCheckGetEnemyKoma(name, x, y);
            execCheckNarigoma(name, x, y);
            // 移動前のマスを初期化
            MasuManager manager = MasuManager.Instance;
            manager.EmptyMasu(sc.x, sc.y);
            sc.x = x;
            sc.y = y;
            manager.SetMasu(x, y, KomaFunction.GetKomaNameByObjName(name));
            manager.UpdMasuObjNameByXAndY(name, x, y);
        }
    }
示例#11
0
    // 駒選択処理
    public void chooseKoma(string name)
    {
        Debug.Log(name);
        string[] names    = name.Split(new char[] { '_' });
        string   komaname = "yose5p_" + names[1];

        Debug.Log(komaname);
        GameObject komaObj = GameObject.Find(name);
        KomaScript sc      = komaObj.GetComponent <KomaScript>();

        Debug.Log("sc.x:" + sc.x);
        Debug.Log("sc.y:" + sc.y);

        //List<KomaMove> moves = new List<KomaMove>();
        int[,] moves = new int[4, 2];

        Dice_move1 dice = new Dice_move1();

        moves = dice.GetMoves(sc);

        this.RefresAbles(sc, moves, name);
    }
示例#12
0
    public List <KomaMove> GetMoves(KomaScript sc, bool reverse = false)
    {
        int reversenum = 1;

        if (reverse)
        {
            reversenum = -1;
        }
        List <KomaMove> moves   = new List <KomaMove> ();
        MasuManager     manager = MasuManager.Instance;

        for (int i = 1; i <= 8; i++)
        {
            MasuInit masu = manager.GetMasu(sc.x, sc.y + -1 * i * reversenum);
            // 敵の駒に当たったとき
            if (masu.enemyFlag && sc.selfFlag || masu.selfFlag && sc.enemyFlag)
            {
                KomaMove move = new KomaMove();
                move.x = 0;
                move.y = -1 * i * reversenum;
                moves.Add(move);
                break;
                // 味方の駒に当たってないとき
            }
            else if (masu.selfFlag != sc.selfFlag || masu.enemyFlag != sc.enemyFlag)
            {
                KomaMove move = new KomaMove();
                move.x = 0;
                move.y = -1 * i * reversenum;
                moves.Add(move);
            }
            else
            {
                break;
            }
        }
        return(moves);
    }
示例#13
0
    // 移動可能駒のマス表示
    public void RefresAbles(KomaScript sc, List <KomaMove> moves, string name)
    {
        List <KomaMove> chooseKomaMoves = new List <KomaMove> ();

        if (!chooseFlag)
        {
            int i = 0;
            foreach (KomaMove move in moves)
            {
                if (sc.x + move.x > 9 || sc.x + move.x < 1)
                {
                    continue;
                }
                if (sc.y + move.y > 9 || sc.y + move.y < 1)
                {
                    continue;
                }
                Sprite         sp             = Resources.Load <Sprite> ("KomaAble");
                GameObject     gameObj        = new GameObject();
                SpriteRenderer spriteRenderer = gameObj.AddComponent <SpriteRenderer> ();
                spriteRenderer.sprite        = sp;
                gameObj.transform.parent     = FindObjectOfType <Canvas> ().transform;
                gameObj.transform.localScale = new Vector3(140, 140, 0);
                gameObj.transform.name       = "KomaAble" + i;
                gameObj.transform.position   = new Vector3(basex - per1x * (sc.x + move.x), basey - per1y * (sc.y + move.y), 0);
                BoxCollider2D box      = gameObj.AddComponent <BoxCollider2D>() as BoxCollider2D;
                KomaAble      komaAble = gameObj.AddComponent <KomaAble> ();
                komaAble.x = sc.x + move.x;
                komaAble.y = sc.y + move.y;
                i++;
                chooseKomaMoves.Add(move);
            }
            chooseFlag  = true;
            chooseMoves = chooseKomaMoves;
            Debug.Log("able objName=" + name);
            chooseKomaObjName = name;
        }
    }
示例#14
0
    // 駒作成
    public string CreateKomaObj(string komaName, int x, int y)
    {
        Vector3 komaScale = new Vector3(100, 100, 0);

        Sprite[]       sprites        = Resources.LoadAll <Sprite>("koma");
        Sprite         sp             = System.Array.Find <Sprite>(sprites, (sprite) => sprite.name.Equals(komaName));
        GameObject     gameObj        = new GameObject();
        SpriteRenderer spriteRenderer = gameObj.AddComponent <SpriteRenderer>();

        spriteRenderer.sprite    = sp;
        gameObj.transform.parent = FindObjectOfType <Canvas>().transform;
        KomaManager komaManager = KomaManager.Instance;
        string      objName     = komaName + "_" + komaManager.issueKomaAttachId();

        gameObj.transform.name       = objName;
        gameObj.transform.localScale = komaScale;
        gameObj.transform.position   = new Vector3(basex - per1x * x, basey - per1y * y, 2);
        BoxCollider2D box = gameObj.AddComponent <BoxCollider2D>() as BoxCollider2D;
        KomaScript    sc  = gameObj.AddComponent <KomaScript>();

        sc.SetKoma(x, y, objName);
        return(objName);
    }
示例#15
0
    public List <KomaMove> GetMotigomaMoves(KomaScript sc, bool reverse = false)
    {
        List <KomaMove> moves   = new List <KomaMove> ();
        MasuManager     manager = MasuManager.Instance;
        int             ymin    = 1;
        int             ymax    = 9;

        if (reverse)
        {
            ymax = 7;
        }
        else
        {
            ymin = 3;
        }
        for (int x = 1; x <= 9; x++)
        {
            for (int y = ymin; y <= ymax; y++)
            {
                MasuInit masu = manager.GetMasu(x, y);
                // 敵味方の駒がいないとき
                if (!masu.exists)
                {
                    KomaMove move = new KomaMove();
                    move.x = x;
                    move.y = y;
                    moves.Add(move);
                }
                else
                {
                    continue;
                }
            }
        }
        return(moves);
    }
示例#16
0
    // 相手の駒を取ったか確認&実行時
    void execCheckGetEnemyKoma(string objName, int x, int y)
    {
        GameObject      gameObj  = GameObject.Find(objName);
        KomaScript      sc       = gameObj.GetComponent <KomaScript>();
        MasuManager     manager  = MasuManager.Instance;
        MasuInit        masu     = manager.GetMasu(x, y);
        MotigomaManager mManager = MotigomaManager.Instance;

        if (sc.selfFlag && masu.enemyFlag)
        {
            if (masu.komaName.Equals(KomaConst.komaOu2) || masu.komaName.Equals(KomaConst.komaGy2))
            {
                mManager.Plus(KomaConst.komaOu);
            }
            else if (masu.komaName.Equals(KomaConst.komaHi2) || masu.komaName.Equals(KomaConst.komaRy2))
            {
                mManager.Plus(KomaConst.komaHi);
            }
            else if (masu.komaName.Equals(KomaConst.komaKa2) || masu.komaName.Equals(KomaConst.komaUm2))
            {
                mManager.Plus(KomaConst.komaKa);
            }
            else if (masu.komaName.Equals(KomaConst.komaKi2))
            {
                mManager.Plus(KomaConst.komaKi);
            }
            else if (masu.komaName.Equals(KomaConst.komaGi2) || masu.komaName.Equals(KomaConst.komaNg2))
            {
                mManager.Plus(KomaConst.komaGi);
            }
            else if (masu.komaName.Equals(KomaConst.komaKe2) || masu.komaName.Equals(KomaConst.komaNk2))
            {
                mManager.Plus(KomaConst.komaKe);
            }
            else if (masu.komaName.Equals(KomaConst.komaKy2) || masu.komaName.Equals(KomaConst.komaNy2))
            {
                mManager.Plus(KomaConst.komaKy);
            }
            else if (masu.komaName.Equals(KomaConst.komaFu2) || masu.komaName.Equals(KomaConst.komaTo2))
            {
                mManager.Plus(KomaConst.komaFu);
            }
            GameObject     obj = transform.Find("../Motigoma1").gameObject;
            MotigomaScript mSc = obj.GetComponent <MotigomaScript>();
            mSc.RefreshKoma();
            DestroyKomaObj(masu.objName);
        }
        else if (sc.enemyFlag && masu.selfFlag)
        {
            if (masu.komaName.Equals(KomaConst.komaOu) || masu.komaName.Equals(KomaConst.komaGy))
            {
                mManager.Plus(KomaConst.komaOu2);
            }
            else if (masu.komaName.Equals(KomaConst.komaHi) || masu.komaName.Equals(KomaConst.komaRy))
            {
                mManager.Plus(KomaConst.komaHi2);
            }
            else if (masu.komaName.Equals(KomaConst.komaKa) || masu.komaName.Equals(KomaConst.komaUm))
            {
                mManager.Plus(KomaConst.komaKa2);
            }
            else if (masu.komaName.Equals(KomaConst.komaKi))
            {
                mManager.Plus(KomaConst.komaKi2);
            }
            else if (masu.komaName.Equals(KomaConst.komaGi) || masu.komaName.Equals(KomaConst.komaNg))
            {
                mManager.Plus(KomaConst.komaGi2);
            }
            else if (masu.komaName.Equals(KomaConst.komaKe) || masu.komaName.Equals(KomaConst.komaNk))
            {
                mManager.Plus(KomaConst.komaKe2);
            }
            else if (masu.komaName.Equals(KomaConst.komaKy) || masu.komaName.Equals(KomaConst.komaNy))
            {
                mManager.Plus(KomaConst.komaKy2);
            }
            else if (masu.komaName.Equals(KomaConst.komaFu) || masu.komaName.Equals(KomaConst.komaTo))
            {
                mManager.Plus(KomaConst.komaFu2);
            }
            GameObject     obj = transform.Find("../Motigoma2").gameObject;
            MotigomaScript mSc = obj.GetComponent <MotigomaScript>();
            mSc.RefreshKoma();
            DestroyKomaObj(masu.objName);
        }
    }
示例#17
0
    // 持ち駒選択処理
    public void chooseMotigoma(string name)
    {
        Debug.Log(name);

        // 選択持ち駒を浮かせる
        if (KomaFunction.isSelfKoma(name))
        {
            GameObject     obj = transform.Find("../Motigoma1").gameObject;
            MotigomaScript mSc = obj.GetComponent <MotigomaScript> ();
            mSc.floatKomaObj(name);
        }
        else
        {
            GameObject     obj = transform.Find("../Motigoma2").gameObject;
            MotigomaScript mSc = obj.GetComponent <MotigomaScript> ();
            mSc.floatKomaObj(name);
        }

        string[] names    = name.Split(new char[] { '_' });
        string   komaname = "koma_" + names[1];

        Debug.Log(komaname);
        GameObject      komaObj = GameObject.Find(name);
        KomaScript      sc      = komaObj.GetComponent <KomaScript> ();
        List <KomaMove> moves   = new List <KomaMove> ();

        if (komaname.Equals(KomaConst.komaOu) || komaname.Equals(KomaConst.komaGy))
        {
            KomaOu koma = new KomaOu();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaHi))
        {
            KomaHi koma = new KomaHi();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKa))
        {
            KomaKa koma = new KomaKa();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKi))
        {
            KomaKi koma = new KomaKi();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaGi))
        {
            KomaGi koma = new KomaGi();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKe))
        {
            KomaKe koma = new KomaKe();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKy))
        {
            KomaKy koma = new KomaKy();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaFu))
        {
            KomaFu koma = new KomaFu();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaOu2) || komaname.Equals(KomaConst.komaGy2))
        {
            KomaOu koma = new KomaOu();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaHi2))
        {
            KomaHi koma = new KomaHi();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKa2))
        {
            KomaKa koma = new KomaKa();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKi2))
        {
            KomaKi koma = new KomaKi();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaGi2))
        {
            KomaGi koma = new KomaGi();
            moves = koma.GetMotigomaMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKe2))
        {
            KomaKe koma = new KomaKe();
            moves = koma.GetMotigomaMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaKy2))
        {
            KomaKy koma = new KomaKy();
            moves = koma.GetMotigomaMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaFu2))
        {
            KomaFu koma = new KomaFu();
            moves = koma.GetMotigomaMoves(sc, true);
        }
        this.RefresAbles(sc, moves, name);
    }
示例#18
0
    // 駒選択処理
    public void chooseKoma(string name)
    {
        Debug.Log(name);
        floatKomaObj(name);
        string[] names    = name.Split(new char[] { '_' });
        string   komaname = "koma_" + names[1];

        Debug.Log(komaname);
        GameObject      komaObj = GameObject.Find(name);
        KomaScript      sc      = komaObj.GetComponent <KomaScript> ();
        List <KomaMove> moves   = new List <KomaMove> ();

        if (komaname.Equals(KomaConst.komaOu) ||
            komaname.Equals(KomaConst.komaGy))
        {
            KomaOu koma = new KomaOu();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaHi))
        {
            KomaHi koma = new KomaHi();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKa))
        {
            KomaKa koma = new KomaKa();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKi))
        {
            KomaKi koma = new KomaKi();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaGi))
        {
            KomaGi koma = new KomaGi();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKe))
        {
            KomaKe koma = new KomaKe();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaKy))
        {
            KomaKy koma = new KomaKy();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaFu))
        {
            KomaFu koma = new KomaFu();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaRy))
        {
            KomaRy koma = new KomaRy();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaUm))
        {
            KomaUm koma = new KomaUm();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaNg))
        {
            KomaNg koma = new KomaNg();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaNk))
        {
            KomaNk koma = new KomaNk();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaNy))
        {
            KomaNy koma = new KomaNy();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaTo))
        {
            KomaTo koma = new KomaTo();
            moves = koma.GetMoves(sc);
        }
        else if (komaname.Equals(KomaConst.komaOu2) ||
                 komaname.Equals(KomaConst.komaGy2))
        {
            KomaOu koma = new KomaOu();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaHi2))
        {
            KomaHi koma = new KomaHi();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaKa2))
        {
            KomaKa koma = new KomaKa();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaKi2))
        {
            KomaKi koma = new KomaKi();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaGi2))
        {
            KomaGi koma = new KomaGi();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaKe2))
        {
            KomaKe koma = new KomaKe();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaKy2))
        {
            KomaKy koma = new KomaKy();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaFu2))
        {
            KomaFu koma = new KomaFu();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaRy2))
        {
            KomaRy koma = new KomaRy();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaUm2))
        {
            KomaUm koma = new KomaUm();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaNg2))
        {
            KomaNg koma = new KomaNg();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaNk2))
        {
            KomaNk koma = new KomaNk();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaNy2))
        {
            KomaNy koma = new KomaNy();
            moves = koma.GetMoves(sc, true);
        }
        else if (komaname.Equals(KomaConst.komaTo2))
        {
            KomaTo koma = new KomaTo();
            moves = koma.GetMoves(sc, true);
        }
        this.RefresAbles(sc, moves, name);
    }