Пример #1
0
    void Start()
    {
        //jsonの初回ロード
        json = File.ReadAllText(Application.persistentDataPath + "/data.json");//読み取ってるよ
        savedata sv = new savedata();

        json = encryption.DecryptString(json);
        JsonUtility.FromJsonOverwrite(json, sv);//読み取ったのを変換してるよ
        jiki = sv._jiki;
        //jiki = 10;

        //ここから
        if (jikimat = Resources.Load <Material>("Materials/no" + jiki))
        {
            firsttriangle.GetComponent <SpriteRenderer>().material = jikimat;
            Debug.Log(jiki + "じゃん");
            matFound = true;
        }
        else
        {
            jikispr = Resources.Load <Sprite>("Materials/no" + jiki);
            firsttriangle.GetComponent <SpriteRenderer>().sprite = jikispr;
            Debug.Log("ないじゃn");
        }
        //ここまで

        //自機色決定
        //        mycolor = new Color(0, 1, 1, 1);
        //
        //自機色決定
        //        mycolor = new Color(0, 1, 1, 1);
        //        aroundcolor = new Color(1, 0, 1, 1);

        firsttriangle.GetComponent <SpriteRenderer>().color = mycolor;



        firsttriangle.GetComponent <SpriteRenderer>().color = mycolor;


        //周りの色決定
        patternset pm     = BigTriangleNOW.GetComponent <patternset>();
        relay      pmm    = BigBigTriangleNOW.GetComponent <relay>();
        relay1     pmmm   = BigBigBigTriangleNOW.GetComponent <relay1>();
        relay1     pup    = Triup_third.GetComponent <relay1>();
        relay1     pleft  = Trileft_third.GetComponent <relay1>();
        relay1     pright = Triright_third.GetComponent <relay1>();

        pm.aroundcolorchange();
        pmm.aroundcolorchange();
        pmmm.aroundcolorchange();
        pup.aroundcolorchange();
        pleft.aroundcolorchange();
        pright.aroundcolorchange();

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

        se.SEswitch(sv._sound);
        se.BGMswitch(sv._BGM);
    }
Пример #2
0
    public void colorchange()
    {
        relay p0 = triup.GetComponent <relay>();
        relay p1 = trileft.GetComponent <relay>();
        relay p2 = triright.GetComponent <relay>();

        p0.colorchange();
        p1.colorchange();
        p2.colorchange();
    }
Пример #3
0
    public void set(bool[] pattern)
    {
        relay p0 = triup.GetComponent <relay>();
        relay p1 = trileft.GetComponent <relay>();
        relay p2 = triright.GetComponent <relay>();

        p0.set(new bool[] { pattern[0], pattern[1], pattern[2], pattern[3], pattern[4], pattern[5], pattern[6], pattern[7], pattern[8] });
        p1.set(new bool[] { pattern[9], pattern[10], pattern[11], pattern[12], pattern[13], pattern[14], pattern[15], pattern[16], pattern[17] });
        p2.set(new bool[] { pattern[18], pattern[19], pattern[20], pattern[21], pattern[22], pattern[23], pattern[24], pattern[25], pattern[26] });
    }
Пример #4
0
 public ActionResult setQueueLimit(relay relay)
 {
     if (ModelState.IsValid)
     {
         var relayForSetQueue = db.relay.Where(x => x.relayID == relay.relayID).FirstOrDefault();
         relayForSetQueue.queueLimit = relay.queueLimit;
         ViewBag.success             = "Successfully update the relay(" + relay.relayIP + ")";
         db.SaveChanges();
     }
     return(PartialView("_ChangeQueuePartial", relay));
 }
Пример #5
0
    public bool[] statusback()
    {
        relay p0 = triup.GetComponent <relay>();
        relay p1 = trileft.GetComponent <relay>();
        relay p2 = triright.GetComponent <relay>();

        bool[] statusall = new bool[27];
        Array.Copy(p0.statusback(), statusall, 9);
        Array.Copy(p1.statusback(), 0, statusall, 9, 9);
        Array.Copy(p2.statusback(), 0, statusall, 18, 9);

        return(statusall);
    }
Пример #6
0
    void triset()//三角形の再配置
    {
        //正解の配置
        relay q0 = triangleup.GetComponent <relay>();    //スコアを取得
        relay q1 = triangleleft.GetComponent <relay>();  //スコアを取得
        relay q2 = triangleright.GetComponent <relay>(); //スコアを取得

        switch (targetpos)
        {
        case 0:
            q0.set(pattern);
            break;

        case 1:
            q1.set(pattern);
            break;

        case 2:
            q2.set(pattern);
            break;
        }

        //不正解の配置
        switch (hazurepos)
        {
        case 0:
            q0.setrand(pattern);
            while (q0.kinsoku(pattern))
            {
                q0.setrand(pattern);
            }

            break;

        case 1:
            q1.setrand(pattern);
            while (q1.kinsoku(pattern))
            {
                q1.setrand(pattern);
            }
            break;

        case 2:
            q2.setrand(pattern);
            while (q2.kinsoku(pattern))
            {
                q2.setrand(pattern);
            }
            break;
        }
    }
Пример #7
0
        // GET: Store/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            relay relay = db.relay.Find(id);

            if (relay == null)
            {
                return(HttpNotFound());
            }
            return(View(relay));
        }
Пример #8
0
        public ActionResult SetRelayActive(int relayId, bool isActive)
        {
            relay relay = db.relay.Find(relayId);

            if (relay == null)
            {
                return(HttpNotFound());
            }

            relay.isActive = isActive;

            db.SaveChanges();

            return(null);
        }
Пример #9
0
        public bool relayIPOkay(relay relayToCheck)
        {
            var stores = db.store.Where(x => x.storeIP == relayToCheck.relayIP);

            if (stores.Count() == 0)
            {
                var relays = db.relay.Where(x => x.relayIP == relayToCheck.relayIP);

                if (relays.Count() == 0)
                {
                    return(true);
                }
                return(false);
            }
            return(false);
        }
Пример #10
0
    public void colorReset()
    {
        patternset pm     = BigTriangleNOW.GetComponent <patternset>();
        relay      pmm    = BigBigTriangleNOW.GetComponent <relay>();
        relay1     pmmm   = BigBigBigTriangleNOW.GetComponent <relay1>();
        relay1     pup    = Triup_third.GetComponent <relay1>();
        relay1     pleft  = Trileft_third.GetComponent <relay1>();
        relay1     pright = Triright_third.GetComponent <relay1>();

        pm.aroundcolorchange();
        pmm.aroundcolorchange();
        pmmm.aroundcolorchange();
        pup.aroundcolorchange();
        pleft.aroundcolorchange();
        pright.aroundcolorchange();
    }
Пример #11
0
    // Use this for initialization
    public void setrand(bool[] pattern)//27要素
    {
        relay p0   = triup.GetComponent <relay>();
        relay p1   = trileft.GetComponent <relay>();
        relay p2   = triright.GetComponent <relay>();
        int   rand = UnityEngine.Random.Range(0, 5);//0~3を生成

        switch (rand)
        {
        case 0:
            p0.set(new bool[] { pattern[0], pattern[1], pattern[2], pattern[3], pattern[4], pattern[5], pattern[6], pattern[7], pattern[8] });
            p1.setallrand(new bool[] { pattern[9], pattern[10], pattern[11], pattern[12], pattern[13], pattern[14], pattern[15], pattern[16], pattern[17] });
            p2.setallrand(new bool[] { pattern[18], pattern[19], pattern[20], pattern[21], pattern[22], pattern[23], pattern[24], pattern[25], pattern[26] });
            break;

        case 1:
            p0.setallrand(new bool[] { pattern[0], pattern[1], pattern[2], pattern[3], pattern[4], pattern[5], pattern[6], pattern[7], pattern[8] });
            p1.set(new bool[] { pattern[9], pattern[10], pattern[11], pattern[12], pattern[13], pattern[14], pattern[15], pattern[16], pattern[17] });
            p2.setallrand(new bool[] { pattern[18], pattern[19], pattern[20], pattern[21], pattern[22], pattern[23], pattern[24], pattern[25], pattern[26] });
            break;

        case 2:
            p0.setallrand(new bool[] { pattern[0], pattern[1], pattern[2], pattern[3], pattern[4], pattern[5], pattern[6], pattern[7], pattern[8] });
            p1.setallrand(new bool[] { pattern[9], pattern[10], pattern[11], pattern[12], pattern[13], pattern[14], pattern[15], pattern[16], pattern[17] });
            p2.set(new bool[] { pattern[18], pattern[19], pattern[20], pattern[21], pattern[22], pattern[23], pattern[24], pattern[25], pattern[26] });
            break;

        case 3:    //完全ランダム
            p0.setallrand(new bool[] { pattern[0], pattern[1], pattern[2], pattern[3], pattern[4], pattern[5], pattern[6], pattern[7], pattern[8] });
            p1.setallrand(new bool[] { pattern[9], pattern[10], pattern[11], pattern[12], pattern[13], pattern[14], pattern[15], pattern[16], pattern[17] });
            p2.setallrand(new bool[] { pattern[18], pattern[19], pattern[20], pattern[21], pattern[22], pattern[23], pattern[24], pattern[25], pattern[26] });
            break;

        case 4:    //完全ランダム
            p0.setallrand(new bool[] { pattern[0], pattern[1], pattern[2], pattern[3], pattern[4], pattern[5], pattern[6], pattern[7], pattern[8] });
            p1.setallrand(new bool[] { pattern[9], pattern[10], pattern[11], pattern[12], pattern[13], pattern[14], pattern[15], pattern[16], pattern[17] });
            p2.setallrand(new bool[] { pattern[18], pattern[19], pattern[20], pattern[21], pattern[22], pattern[23], pattern[24], pattern[25], pattern[26] });
            break;
        }
    }
Пример #12
0
        public ActionResult Create(RegionStoreRelayModel regionStoreRelay)
        {
            if (!storeIPOkay(regionStoreRelay.store))
            {
                ModelState.AddModelError("store.storeIP", "IP already exists");
            }
            if (!relayIPOkay(regionStoreRelay.relay))
            {
                ModelState.AddModelError("relay.relayIP", "IP already exists");
            }

            if (regionStoreRelay.CheckboxGatewayModel.Where(x => x.selected).Count() < 1)
            {
                ModelState.AddModelError("", "Needs to be connected to gateway or processing center");
            }

            if (ModelState.IsValid)
            {
                region newRegion = new region()
                {
                    colorID      = regionStoreRelay.region.colorID,
                    regionNumber = db.region.Select(x => x.regionID).Max() + 1
                };
                db.region.Add(newRegion);
                db.store.Add(regionStoreRelay.store);
                db.SaveChanges();


                relay gatewayRelay = new relay()
                {
                    isActive           = true,
                    isProcessingCenter = false,
                    queueLimit         = regionStoreRelay.relay.queueLimit,
                    isGateway          = true,
                    relayIP            = regionStoreRelay.relay.relayIP,
                    regionID           = newRegion.regionID
                };

                db.relay.Add(gatewayRelay);
                db.SaveChanges();

                connections connection = new connections()
                {
                    storeID     = regionStoreRelay.store.storeID,
                    destRelayID = gatewayRelay.relayID,
                    isActive    = true,
                    weight      = regionStoreRelay.connections.weight
                };

                db.connections.Add(connection);
                db.SaveChanges();

                var selectedRelays = regionStoreRelay.CheckboxGatewayModel.Where(x => x.selected);
                foreach (var selectedRelay in selectedRelays)
                {
                    connections connection2 = new connections()
                    {
                        relayID     = gatewayRelay.relayID,
                        destRelayID = selectedRelay.relayID,
                        isActive    = true,
                        weight      = selectedRelay.weight
                    };

                    db.connections.Add(connection2);
                }

                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            //regionStoreRelay.CheckboxGatewayModel = GetGatewayRelays();

            var colorInfo = from colors in db.colors
                            select new { colors.colorID };

            var colorsUsed = from region in db.region
                             select new { region.colorID };

            var temp = from colors in colorInfo.Except(colorsUsed)
                       join colors2 in db.colors on colors.colorID equals colors2.colorID
                       select new { colors2.colorName, colors2.colorID };

            ViewBag.region = new { colorID = new SelectList(temp, "colorID", "colorName") };
            return(View(regionStoreRelay));
        }
Пример #13
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_2 f2 = scriptbox.GetComponent <Flicked_2>();

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

            hantei = true;                                      //
            GetComponent <AudioSource>().PlayOneShot(se.atari); //効果音を鳴らす
            relay p0 = childup.GetComponent <relay>();          //スコアを取得
            relay p1 = childleft.GetComponent <relay>();        //スコアを取得
            relay p2 = childright.GetComponent <relay>();       //スコアを取得
            relay px = childnow.GetComponent <relay>();

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

            //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, 9);
            Array.Copy(p1.statusback(), 0, pattern, 9, 9);
            Array.Copy(p2.statusback(), 0, pattern, 18, 9);

            /*
             * for (int i = 0; i < 27; 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); //
    }
Пример #14
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状態から)



        Flicked_3 f3 = scriptbox.GetComponent <Flicked_3>();

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

            GetComponent <AudioSource>().PlayOneShot(se.shrink3); //効果音を鳴らす
            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));
            //   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);


            relay  p0        = childup.GetComponent <relay>();    //スコアを取得
            relay  p1        = childleft.GetComponent <relay>();  //スコアを取得
            relay  p2        = childright.GetComponent <relay>(); //スコアを取得
            relay  px        = childnow.GetComponent <relay>();
            bool[] p0pattern = new bool[9];
            bool[] p1pattern = new bool[9];
            bool[] p2pattern = new bool[9];
            bool[] pxpattern = new bool[9];
            Array.Copy(p0.statusback(), p0pattern, 9);
            Array.Copy(p1.statusback(), p1pattern, 9);
            Array.Copy(p2.statusback(), p2pattern, 9);
            Array.Copy(px.statusback(), pxpattern, 9);
            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 < 9; 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 < 9; 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 < 9; 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); //
    }