コード例 #1
0
    public void colorchange()
    {
        patternset p0 = triup.GetComponent <patternset>();
        patternset p1 = trileft.GetComponent <patternset>();
        patternset p2 = triright.GetComponent <patternset>();

        p0.colorchange();
        p1.colorchange();
        p2.colorchange();
    }
コード例 #2
0
    //40回目限定
    public bool firstmove(int goal)
    {
        ScoreHolder  d_score = scriptbox.GetComponent <ScoreHolder>();  //スコアを取得
        SE_container se      = scriptbox.GetComponent <SE_container>(); //スコアを取得
        bool         hantei  = false;                                   //
                                                                        // var lefttri = new Vector3(-0.2166f, -0.125f, -1);
                                                                        //データの引き継ぎ
        Flicked_1 f1 = scriptbox.GetComponent <Flicked_1>();

        targetpos = f1.targetpos;
        nowpos    = f1.nowpos;
        hazurepos = f1.hazurepos;
        Debug.Log("OK");
        if (goal == targetpos)//正解
        {
            before_edge.SetActive(false);
            after_edge.SetActive(true);

            hantei = true;//


            patternset p0 = childup.GetComponent <patternset>();    //スコアを取得
            patternset p1 = childleft.GetComponent <patternset>();  //スコアを取得
            patternset p2 = childright.GetComponent <patternset>(); //スコアを取得
            patternset px = childnow.GetComponent <patternset>();


            //次段階の登場 pattern は無事埋まりました
            pattern = new bool[9];

            //15秒以上待つとおかしくなる問題はこれで解決するしかない!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            switch (nowpos)
            {
            case 0:
                //  Array.Copy(px.statusback(), pattern, 3);
                p0.set(px.statusback());
                break;

            case 1:
                //  Array.Copy(px.statusback(), 0, pattern, 3, 3);
                p1.set(px.statusback());
                break;

            case 2:
                // Array.Copy(px.statusback(), 0, pattern, 6, 3);
                p2.set(px.statusback());
                break;
            }

            Array.Copy(p0.statusback(), pattern, 3);
            Array.Copy(p1.statusback(), 0, pattern, 3, 3);
            Array.Copy(p2.statusback(), 0, pattern, 6, 3);



            for (int i = 0; i < 9; i++)
            {
                Debug.Log(pattern[i]);
            }


            //Debug.Log(pattern[0] + "," + pattern[1] + "," + pattern[2]);
            triangleup.SetActive(true);
            triangleleft.SetActive(true);
            triangleright.SetActive(true);
            rectTran.DOScale(0.5f, 0.1f);


            switch (nowpos)
            {
            case 0:
                p1.colorchange();
                p2.colorchange();
                break;

            case 1:
                p2.colorchange();
                p0.colorchange();
                break;

            case 2:
                p0.colorchange();
                p1.colorchange();
                break;
            }
            move(goal);//
        }
        else
        {
            var uptri    = new Vector3(0, 0.25f, -5);            //
            var lefttri  = new Vector3(-0.2166f, -0.125f, -5);   //
            var righttri = new Vector3(0.2166f, -0.125f, -5);    //
            GetComponent <AudioSource>().PlayOneShot(se.hazure); //効果音を鳴らす
            d_score.left_jiki--;
            d_score.miss();
            var sequence = DOTween.Sequence();
            //追加部分
            switch (goal)
            {
            case 0:
                switch (nowpos)
                {
                case 0:
                    break;

                case 1:
                    sequence.Append(IrectTran.DOLocalMove(uptri, 0.1f));
                    sequence.Append(IrectTran.DOLocalMove(lefttri, 0.05f));
                    break;

                case 2:
                    sequence.Append(IrectTran.DOLocalMove(uptri, 0.1f));
                    sequence.Append(IrectTran.DOLocalMove(righttri, 0.05f));
                    break;
                }
                break;

            case 1:
                switch (nowpos)
                {
                case 0:
                    sequence.Append(IrectTran.DOLocalMove(lefttri, 0.1f));
                    sequence.Append(IrectTran.DOLocalMove(uptri, 0.05f));
                    break;

                case 1:
                    break;

                case 2:
                    sequence.Append(IrectTran.DOLocalMove(lefttri, 0.1f));
                    sequence.Append(IrectTran.DOLocalMove(righttri, 0.05f));
                    break;
                }
                break;

            case 2:
                switch (nowpos)
                {
                case 0:
                    sequence.Append(IrectTran.DOLocalMove(righttri, 0.1f));
                    sequence.Append(IrectTran.DOLocalMove(uptri, 0.05f));
                    break;

                case 1:
                    sequence.Append(IrectTran.DOLocalMove(righttri, 0.1f));
                    sequence.Append(IrectTran.DOLocalMove(lefttri, 0.05f));
                    break;

                case 2:
                    break;
                }

                break;
            }
        }
        return(hantei); //
    }
コード例 #3
0
    //40回目限定
    public bool shrink(int goal)
    {
        ScoreHolder d_score = scriptbox.GetComponent <ScoreHolder>();//スコアを取得


        SE_container se     = scriptbox.GetComponent <SE_container>();
        bool         hantei = false; //
                                     // var lefttri = new Vector3(-0.2166f, -0.125f, -1);
                                     //データの引き継ぎ(Lv4状態から)



        Shrink_3 s3 = scriptbox.GetComponent <Shrink_3>();

        targetpos = s3.targetpos;
        nowpos    = s3.nowpos;
        hazurepos = s3.hazurepos;
        Debug.Log("OK");
        if (goal == targetpos)//正解
        {
            before_edge.SetActive(false);
            after_edge.SetActive(true);

            GetComponent <AudioSource>().PlayOneShot(se.shrink2); //効果音を鳴らす
            hantei = true;                                        //
            d_score.Shrink();


            //※他の三角形(3_tri)はいらない、inactiveにしてよい
            //""""""""""""""""""""""""""""""遅延して消えた方が美しい
            DOVirtual.DelayedCall(0.1f, () => triangleup.SetActive(false));
            DOVirtual.DelayedCall(0.1f, () => triangleleft.SetActive(false));
            DOVirtual.DelayedCall(0.1f, () => triangleright.SetActive(false));

            //    triangleup.SetActive(false);
            //    triangleleft.SetActive(false);
            //    triangleright.SetActive(false);
            //bigbigbigtriamgleが拡大する=元に戻る

            bigrectTran.DOLocalMove(new Vector3(0, 0, -10), 0.1f);//flick3のみ、親も戻る
            bigrectTran.DOScale(1, 0.1f);
            //  rectTran.DOLocalMove(new Vector3(0, 0, -10), 0.1f);


            patternset p0        = childup.GetComponent <patternset>();    //スコアを取得
            patternset p1        = childleft.GetComponent <patternset>();  //スコアを取得
            patternset p2        = childright.GetComponent <patternset>(); //スコアを取得
            patternset px        = childnow.GetComponent <patternset>();
            bool[]     p0pattern = new bool[3];
            bool[]     p1pattern = new bool[3];
            bool[]     p2pattern = new bool[3];
            bool[]     pxpattern = new bool[3];
            Array.Copy(p0.statusback(), p0pattern, 3);
            Array.Copy(p1.statusback(), p1pattern, 3);
            Array.Copy(p2.statusback(), p2pattern, 3);
            Array.Copy(px.statusback(), pxpattern, 3);
            int yabaiflag = 1;

            int key = (int)(childnow.transform.localPosition.x * 10) + 2;
            //次のプレイヤーの位置(bigbigtriの)場所をじかに求める-2…左 0…上 2…右
            Debug.Log(key + "にいるぞ!!!");
            switch (key) //nowのある場所
                         //	bigbigtriangleがプレイヤー色のままだが、他の子(2_tri)は背景色に戻す
            {
            case 0:      //左
                p2.aroundcolorchange();
                p0.aroundcolorchange();
                p1.aroundcolorchange();    //追加
                nowpos = 1;

                //p0pattern== pxpatternの判定
                for (int i = 0; i < 3; i++)
                {
                    if (p0pattern[i] != pxpattern[i])    //2なら
                    {
                        targetpos = 2;
                        hazurepos = 0;
                        yabaiflag = 0;
                        break;
                    }
                    if (p2pattern[i] != pxpattern[i])    //0なら
                    {
                        targetpos = 0;
                        hazurepos = 2;
                        yabaiflag = 0;
                        break;
                    }
                }
                break;

            case 2:    //上
                p1.aroundcolorchange();
                p2.aroundcolorchange();
                p0.aroundcolorchange();    //追加
                nowpos = 0;

                for (int i = 0; i < 3; i++)
                {
                    if (p2pattern[i] != pxpattern[i])    //1なら
                    {
                        targetpos = 1;
                        hazurepos = 2;
                        yabaiflag = 0;
                        break;
                    }
                    if (p1pattern[i] != pxpattern[i])    //2なら
                    {
                        targetpos = 2;
                        hazurepos = 1;
                        yabaiflag = 0;
                        break;
                    }
                }
                break;

            case 4:    //右
                p0.aroundcolorchange();
                p1.aroundcolorchange();
                p2.aroundcolorchange();
                nowpos = 2;

                for (int i = 0; i < 3; i++)
                {
                    if (p1pattern[i] != pxpattern[i])    //0なら
                    {
                        targetpos = 0;
                        hazurepos = 1;
                        yabaiflag = 0;
                        break;
                    }
                    if (p0pattern[i] != pxpattern[i])    //1なら
                    {
                        targetpos = 1;
                        hazurepos = 0;
                        yabaiflag = 0;
                        break;
                    }
                }

                break;
            }
            Debug.Log("targetpos =" + targetpos + ",hazurepos =" + hazurepos + "nowpos=" + nowpos);
            if (yabaiflag == 1)
            {
                Debug.Log("えええええええええええええなんでsssssっせえええええええええええええええええええええええええええええ");
            }


            px.colorchange();

            // move(goal);
        }
        else
        {
            GetComponent <AudioSource>().PlayOneShot(se.hazure); //効果音を鳴らす
                                                                 //減点
            d_score.Shrinkmiss();
            d_score.left_jiki--;

            var uptri    = new Vector3(0, 0.25f, -5);          //
            var lefttri  = new Vector3(-0.2166f, -0.125f, -5); //
            var righttri = new Vector3(0.2166f, -0.125f, -5);  //
            var sequence = DOTween.Sequence();
            switch (goal)
            {
            case 0:
                switch (nowpos)
                {
                case 0:
                    break;

                case 1:
                    sequence.Append(rectTran.DOLocalMove(uptri, 0.1f));
                    sequence.Append(rectTran.DOLocalMove(lefttri, 0.05f));
                    break;

                case 2:
                    sequence.Append(rectTran.DOLocalMove(uptri, 0.1f));
                    sequence.Append(rectTran.DOLocalMove(righttri, 0.05f));
                    break;
                }
                break;

            case 1:
                switch (nowpos)
                {
                case 0:
                    sequence.Append(rectTran.DOLocalMove(lefttri, 0.1f));
                    sequence.Append(rectTran.DOLocalMove(uptri, 0.05f));
                    break;

                case 1:
                    break;

                case 2:
                    sequence.Append(rectTran.DOLocalMove(lefttri, 0.1f));
                    sequence.Append(rectTran.DOLocalMove(righttri, 0.05f));
                    break;
                }
                break;

            case 2:
                switch (nowpos)
                {
                case 0:
                    sequence.Append(rectTran.DOLocalMove(righttri, 0.1f));
                    sequence.Append(rectTran.DOLocalMove(uptri, 0.05f));
                    break;

                case 1:
                    sequence.Append(rectTran.DOLocalMove(righttri, 0.1f));
                    sequence.Append(rectTran.DOLocalMove(lefttri, 0.05f));
                    break;

                case 2:
                    break;
                }

                break;
            }
        }


        return(hantei); //
    }