Esempio n. 1
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);
        }
    }
Esempio n. 2
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);
        }
    }
Esempio n. 3
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);
    }
Esempio n. 4
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetMouseButtonDown(0))
     {
         Vector2    tap        = Camera.main.ScreenToWorldPoint(Input.mousePosition);
         Collider2D collition  = Physics2D.OverlapPoint(tap);
         GameObject masuObj    = GameObject.Find("Canvas/Masu");
         MasuScript masuScript = masuObj.GetComponent <MasuScript> ();
         // 成り駒bgが開いている時
         if (masuScript.narigomaBgFlag)
         {
             if (collition)
             {
                 string name = collition.transform.gameObject.name;
                 if (name.IndexOf(KomaConst.narigomaBg) > -1)
                 {
                     // 駒を成る選択をした時
                     if (name.Equals(KomaConst.narigomaBg + "1"))
                     {
                         masuScript.modKomanariObj(masuScript.chooseKomaObjName
                                                   , masuScript.narigomaBgName
                                                   , masuScript.narigomaBgx
                                                   , masuScript.narigomaBgy
                                                   );
                     }
                     masuScript.DestroyNarigomaBg();
                     masuScript.narigomaBgFlag = false;
                 }
             }
             // 駒が移動選択状態の時
         }
         else if (masuScript.chooseFlag)
         {
             if (collition)
             {
                 string name = collition.transform.gameObject.name;
                 if (name.IndexOf("KomaAble") > -1)
                 {
                     Debug.Log(name);
                     GameObject gameObj  = GameObject.Find(name);
                     KomaAble   komaAble = gameObj.GetComponent <KomaAble> ();
                     masuScript.MoveKomaObj(masuScript.chooseKomaObjName, komaAble.x, komaAble.y);
                 }
             }
             // 持ち駒でない時の浮き駒戻し
             if (masuScript.chooseKomaObjName.IndexOf(KomaConst.motigoma) == -1)
             {
                 masuScript.resetFloatKomaObj(masuScript.chooseKomaObjName);
             }
             else
             {
                 // 持ち駒の時の浮き駒戻し
                 if (KomaFunction.isSelfKoma(masuScript.chooseKomaObjName))
                 {
                     GameObject     motigomaObj    = GameObject.Find("Canvas/Motigoma1");
                     MotigomaScript motigomaScript = motigomaObj.GetComponent <MotigomaScript> ();
                     motigomaScript.resetFloatKomaObj(masuScript.chooseKomaObjName);
                 }
                 else
                 {
                     GameObject     motigomaObj    = GameObject.Find("Canvas/Motigoma2");
                     MotigomaScript motigomaScript = motigomaObj.GetComponent <MotigomaScript> ();
                     motigomaScript.resetFloatKomaObj(masuScript.chooseKomaObjName);
                 }
             }
             masuScript.DelchooseMoves();
         }
         else
         {
             if (collition)
             {
                 string name = collition.transform.gameObject.name;
                 // 持ち駒の場合
                 if (name.IndexOf(KomaConst.motigoma) > -1)
                 {
                     masuScript.chooseMotigoma(name);
                     // 盤上の駒の場合
                 }
                 else
                 {
                     masuScript.chooseKoma(name);
                 }
             }
         }
     }
 }