示例#1
0
    public void comboadd()
    {
        ImportantValue dx = scriptbox.GetComponent <ImportantValue>();
        timekeeper     tk = scriptbox.GetComponent <timekeeper>();
        SE_container   se = scriptbox.GetComponent <SE_container>();//

        if (scenemover.gamemode() == 0)
        {
            combo++;
            if (maxcombo < combo)
            {
                maxcombo = combo;
            }
            int plusscore = 0;
            switch (tk.nowlevel)
            {
            case 1:
                if (combo < dx.combobonus_lv1)
                {
                    plusscore = combo;
                }
                else
                {
                    plusscore = dx.combobonus_lv1;
                }

                break;

            case 2:
                if (combo * 2 < dx.combobonus_lv2)
                {
                    plusscore = combo * 2;
                }
                else
                {
                    plusscore = dx.combobonus_lv2;
                }
                break;

            case 3:
                if (combo * 3 < dx.combobonus_lv3)
                {
                    plusscore = combo * 3;
                }
                else
                {
                    plusscore = dx.combobonus_lv3;
                }

                break;

            case 4:
                if (combo * 4 < dx.combobonus_lv4)
                {
                    plusscore = combo * 4;
                }
                else
                {
                    plusscore = dx.combobonus_lv4;
                }
                break;
            }
            // tk.time = tk.time + dx.addtime1;
            score = score + plusscore;

            GameObject score_UI = GameObject.Instantiate(scoreUI) as GameObject;
            score_UI.transform.SetParent(canvas.transform);
            score_UI.GetComponent <RectTransform>().localPosition = new Vector3(-380, 200, 0);
            ScoreUI ui = score_UI.GetComponent <ScoreUI>();//スコアを取得
            ui.hyojiscore = plusscore;



            //時間延長工作

            if (combo % dx.addcombo1 == 0 && (combo % dx.addcombo2 != 0)) //5コンボごとに時間追加
            {
                GetComponent <AudioSource>().PlayOneShot(se.Fivecombo);   //効果音を鳴らす
                switch (tk.nowlevel)
                {
                case 1:
                    tk.time_lv1 = tk.time_lv1 + dx.addtime1;
                    break;

                case 2:
                    tk.time_lv2 = tk.time_lv2 + dx.addtime1;
                    break;

                case 3:
                    tk.time_lv3 = tk.time_lv3 + dx.addtime1;
                    break;

                case 4:
                    tk.time_lv4 = tk.time_lv4 + dx.addtime1;
                    break;
                }
                // tk.time = tk.time + dx.addtime1;
            }
            if (combo % dx.addcombo2 == 0)                             //10コンボごとに時間追加
            {
                GetComponent <AudioSource>().PlayOneShot(se.Tencombo); //効果音を鳴らす
                switch (tk.nowlevel)
                {
                case 1:
                    tk.time_lv1 = tk.time_lv1 + dx.addtime2;
                    break;

                case 2:
                    tk.time_lv2 = tk.time_lv2 + dx.addtime2;
                    break;

                case 3:
                    tk.time_lv3 = tk.time_lv3 + dx.addtime2;
                    break;

                case 4:
                    tk.time_lv4 = tk.time_lv4 + dx.addtime2;
                    break;
                }
                tk.time = tk.time + dx.addtime2;
            }
        }
        //ここからサバイバル
        //ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
        else if (scenemover.gamemode() == 1)
        {
            sv_progress++;
            if (sv_progress == dx.sv_progress_per_level)                //5コンボごとに次レベルへ
            {
                GetComponent <AudioSource>().PlayOneShot(se.Fivecombo); //効果音を鳴らす

                switch (tk.nowlevel)
                {
                case 1:
                    tk.nowlevel = 2;
                    tk.flag1    = 1;
                    break;

                case 2:
                    tk.nowlevel = 3;
                    tk.flag2    = 1;
                    break;

                case 3:
                    tk.nowlevel = 4;
                    tk.flag3    = 1;
                    break;

                case 4:
                    tk.nowlevel = 5;
                    tk.flagX3   = 1;
                    tk.flagX2   = 1;
                    tk.flagX1   = 1;
                    tk.LASTflag = 1;
                    break;
                }
                sv_progress = 0;
            }
        }
    }
示例#2
0
    // フリックジェスチャーが成功すると呼ばれるメソッド
    private void OnFlick(object sender, System.EventArgs e)
    {
        timekeeper     dt = scriptbox.GetComponent <timekeeper>();
        ImportantValue iv = scriptbox.GetComponent <ImportantValue>();
        ScoreHolder    sh = scriptbox.GetComponent <ScoreHolder>();
        stop           st = scriptbox.GetComponent <stop>();

        if (dt.time == 0 && scenemover.gamemode() == 0)
        {
            return;
        }
        if (dt.time_lv4 <= 0 && scenemover.gamemode() == 0)
        {
            return;
        }
        if (dt.coolflag == true && scenemover.gamemode() == 0)
        {
            return;
        }
        if (dt.time_sv <= 0 && scenemover.gamemode() == 1)
        {
            return;
        }
        if (sh.left_jiki < 0 && scenemover.gamemode() == 1)
        {
            return;
        }
        if (st.running == false)
        {
            return;
        }

        ScoreHolder d_score = scriptbox.GetComponent <ScoreHolder>();

        var up    = new Vector3(0, 1, 0);           //上
        var left  = new Vector3(-0.866f, -0.5f, 0); //左下
        var right = new Vector3(0.866f, -0.5f, 0);  //右上


        var gesture = sender as FlickGesture;
        //        string str = "フリック: " + gesture.ScreenFlickVector + " (" + gesture.ScreenFlickTime + "秒)";
        var Fvector = gesture.ScreenFlickVector.normalized;

        //  Vector3.Dot(Fvector, uptri);
        //$$遊び
        switch (iv.jiki)
        {
        case 30:
            zentai.transform.DOShakePosition(0.2f, 1, 10, 90, false, true);
            break;

        case 31:
            zentai.transform.DOShakePosition(1f, 10, 100, 90, false, true);
            break;
        }



        if (Vector3.Dot(Fvector, up) > 0.5f)
        {
            goal = 0;
        }
        if (Vector3.Dot(Fvector, left) > 0.5f)
        {
            goal = 1;
        }
        if (Vector3.Dot(Fvector, right) > 0.5f)
        {
            goal = 2;
        }

        Flicked   f0 = scriptbox.GetComponent <Flicked>();
        Flicked_1 f1 = scriptbox.GetComponent <Flicked_1>();
        Flicked_2 f2 = scriptbox.GetComponent <Flicked_2>();
        Flicked_3 f3 = scriptbox.GetComponent <Flicked_3>();
        Shrink_3  s3 = scriptbox.GetComponent <Shrink_3>();
        shrink_2  s2 = scriptbox.GetComponent <shrink_2>();
        shrink_1  s1 = scriptbox.GetComponent <shrink_1>();
        shrink_0  s0 = scriptbox.GetComponent <shrink_0>();

        if (dt.nowlevel == 0)//ホントに最初
        {
            if (f0.firstmove(goal))
            {
                dt.flag     = true;
                dt.nowlevel = 1;
            }
        }

        else if (dt.flag1 == 0)//最初
        {
            f0.move(goal);
        }
        else if (dt.flag1 == 1)
        {
            if (f1.firstmove(goal))
            {
                dt.flag1 = 2;
            }
            dt.flag = true;
        }
        else if (dt.flag2 == 0)
        {
            f1.move(goal);
        }
        else if (dt.flag2 == 1)
        {
            if (f2.firstmove(goal))
            {
                dt.flag2 = 2;
            }
            dt.flag = true;
        }
        else if (dt.flag3 == 0)
        {
            f2.move(goal);
        }
        else if (dt.flag3 == 1)
        {
            if (f3.firstmove(goal))
            {
                dt.flag3 = 2;
            }
            dt.flag = true;
        }
        else if (dt.flagX3 == 0)
        {
            f3.move(goal);
        }
        else if (dt.flagX3 == 1)
        {
            if (s3.shrink(goal))
            {
                dt.flagX3 = 2;
            }
        }
        else if (dt.flagX2 == 1)
        {
            if (s2.shrink(goal))
            {
                dt.flagX2 = 2;
            }
        }
        else if (dt.flagX1 == 1)
        {
            if (s1.shrink(goal))
            {
                dt.flagX1 = 2;
            }
        }
        else if (dt.LASTflag == 1)
        {
            if (s0.shrink(goal))
            {
                dt.LASTflag = 2;
            }
        }
        else
        {
            //            Debug.Log("もうねえ");
        }
        int var;
        //nextlevel()で全部0に戻される
    }
示例#3
0
    public void move(int goal)//(始点,終点)
    {
        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);
        ImportantValue dx       = scriptbox.GetComponent <ImportantValue>(); //スコアを取得
        ScoreHolder    d_score  = scriptbox.GetComponent <ScoreHolder>();    //スコアを取得

        SE_container se = scriptbox.GetComponent <SE_container>();           //スコアを取得

        Debug.Log("ouu");

        if (goal == targetpos)//正解なら三角形が移動し、解答が再配置される
        {
            Debug.Log("ouua");

            /*      GameObject score_UI = GameObject.Instantiate(scoreUI ) as GameObject;
             *    score_UI.transform.parent=canvas.transform;
             *    score_UI.GetComponent<RectTransform>().localPosition = new Vector3(-340, 200, 0);
             *    ScoreUI ui = score_UI.GetComponent<ScoreUI>();//スコアを取得
             *    ui.hyojiscore = 3;
             *    // score_UI.transform =uptri;
             */
            //            Debug.Log("正解");

            d_score.comboadd();
            ansset(nowpos, goal);                               //正解の配置
            triset();                                           //三角形の配置
            GetComponent <AudioSource>().PlayOneShot(se.atari); //効果音を鳴らす
            switch (goal)
            {
            case 0:
                rectTran.DOLocalMove(uptri, 0.1f);

                break;

            case 1:
                rectTran.DOLocalMove(lefttri, 0.1f);
                break;

            case 2:
                rectTran.DOLocalMove(righttri, 0.1f);
                break;
            }
        }
        else if (goal == nowpos) //同じ場所にフリックしたら 何もなし
        {
        }
        else
        {//外れたら ペナルティ///////////////////////////////////////////
         //3秒待たせる
            d_score.left_jiki--;
            GetComponent <AudioSource>().PlayOneShot(se.hazure);//効果音を鳴らす
            //   d_score.score = d_score.score - dx.missscore_lv1;
            d_score.miss();
            var sequence = DOTween.Sequence();
            switch (goal)// 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;

                /*
                 * case 0:
                 *  switch (nowpos)//今の場所
                 *  {
                 *      case 0:
                 *          break;
                 *      case 1:
                 *          rectTran.DOLocalMove(uptri, 0.1f);
                 *          break;
                 *      case 2:
                 *          rectTran.DOLocalMove(uptri, 0.1f);
                 *
                 *          break;
                 *  }
                 *  break;
                 * case 1:
                 *  switch (nowpos)
                 *  {
                 *      case 0:
                 *          rectTran.DOLocalMove(lefttri, 0.1f);
                 *
                 *          break;
                 *      case 1:
                 *          break;
                 *      case 2:
                 *          rectTran.DOLocalMove(lefttri, 0.1f);
                 *          break;
                 *  }
                 *  break;
                 * case 2:
                 *  switch (nowpos)
                 *  {
                 *      case 0:
                 *          rectTran.DOLocalMove(righttri, 0.1f);
                 *          break;
                 *      case 1:
                 *          rectTran.DOLocalMove(righttri, 0.1f);
                 *          break;
                 *      case 2:
                 *          break;
                 *  }
                 *
                 *  break;
                 */
            }
            //            missansset(nowpos, goal);
            //            triset();
            ///////////////////////////////////////////////////////////////////////
            d_score.combo = 0;
            Debug.Log("不正解…正解は" + targetpos);
        }
    }