Ejemplo n.º 1
0
 protected override IEnumerable <bool> E_EachFrame()
 {
     return(ScriptCommon.Wrapper(SCommon.Supplier(this.E_EachFrame2())));
 }
Ejemplo n.º 2
0
 private void CreateRandomPiece()
 {
     CreatePiece((ScriptPiece.PieceType)ScriptCommon.RandomEnum(typeof(ScriptPiece.PieceType)));
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 本テストデータ
        /// 道中+掛け合い+ボス
        /// </summary>
        /// <returns></returns>
        protected override IEnumerable <bool> E_EachFrame()
        {
            Ground.I.Music.MUS_STAGE_01.Play();

            Game.I.Walls.Add(new Wall_Dark());
            Game.I.Walls.Add(new Wall_21001());
            Game.I.Walls.Add(new Wall_21002());

            for (int c = 0; c < 60; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0001(40.0, -50.0, 1, 10, 0, 100, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -100.0, 1, 10, 0, 100, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -150.0, 1, 10, 0, 100, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -200.0, 1, 10, 0, 100, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -250.0, 1, 10, 0, 100, 2, 4.0, 1, 250.0, 0.97));

            for (int c = 0; c < 60; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0001(440.0, -50.0, 1, 10, 0, 100, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -100.0, 1, 10, 0, 100, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -150.0, 1, 10, 0, 100, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -200.0, 1, 10, 0, 100, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -250.0, 1, 10, 0, 100, 2, 4.0, -1, 350.0, 0.97));

            for (int c = 0; c < 180; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0001(40.0, -50.0, 1, 30, 1, 101, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -100.0, 1, 30, 1, 101, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -150.0, 1, 30, 1, 101, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -200.0, 1, 30, 1, 101, 2, 4.0, 1, 250.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(40.0, -250.0, 1, 30, 1, 101, 2, 4.0, 1, 250.0, 0.97));

            for (int c = 0; c < 60; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0001(440.0, -50.0, 1, 30, 1, 101, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -100.0, 1, 30, 1, 101, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -150.0, 1, 30, 1, 101, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -200.0, 1, 30, 1, 101, 2, 4.0, -1, 350.0, 0.97));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -250.0, 1, 30, 1, 101, 2, 4.0, -1, 350.0, 0.97));

            for (int c = 0; c < 300; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0001(40.0, -50.0, 10, 10, 2, 100, 1, 2.0, -1, 400.0, 0.99));
            Game.I.Enemies.Add(new Enemy_0001(140.0, -50.0, 10, 10, 2, 100, 1, 2.0, -1, 350.0, 0.99));
            Game.I.Enemies.Add(new Enemy_0001(240.0, -50.0, 10, 10, 2, 100, 1, 2.0, 1, 300.0, 0.99));
            Game.I.Enemies.Add(new Enemy_0001(340.0, -50.0, 10, 10, 2, 100, 1, 2.0, 1, 350.0, 0.99));
            Game.I.Enemies.Add(new Enemy_0001(440.0, -50.0, 10, 10, 2, 100, 1, 2.0, 1, 400.0, 0.99));

            for (int c = 0; c < 60; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0002(480.0, -100.0, 100, 10, 4, 200, 11, 0.0, 100.0, 1.0, 0.0, 0.98));

            for (int c = 0; c < 60; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0002(0.0, -100.0, 100, 10, 4, 200, 11, 480.0, 200.0, -1.0, 0.0, 0.98));

            for (int c = 0; c < 120; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_0003(240.0, -100.0, 30, 30, 6, 0, 1, 80.0, 150.0, 200, -0.01, -0.01));
            Game.I.Enemies.Add(new Enemy_0003(240.0, -100.0, 30, 30, 7, 0, 1, 80.0, 300.0, 200, -0.01, -0.01));
            Game.I.Enemies.Add(new Enemy_0003(240.0, -100.0, 30, 30, 6, 0, 1, 80.0, 450.0, 200, -0.01, -0.01));
            Game.I.Enemies.Add(new Enemy_0003(240.0, -100.0, 30, 30, 7, 0, 1, 400.0, 150.0, 200, 0.01, -0.01));
            Game.I.Enemies.Add(new Enemy_0003(240.0, -100.0, 30, 30, 6, 0, 1, 400.0, 300.0, 200, 0.01, -0.01));
            Game.I.Enemies.Add(new Enemy_0003(240.0, -100.0, 30, 30, 7, 0, 1, 400.0, 450.0, 200, 0.01, -0.01));

            for (int c = 0; c < 600; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_JackOLantern(40.0, -100.0, 30, 10, 100, 0, 50.0, 2.0, 0.0, 0.1));
            Game.I.Enemies.Add(new Enemy_JackOLantern(140.0, -100.0, 30, 10, 100, 0, 50.0, 2.0, 0.0, 0.1));
            Game.I.Enemies.Add(new Enemy_JackOLantern(240.0, -100.0, 30, 10, 100, 1, 50.0, 2.0, 0.0, 0.1));
            Game.I.Enemies.Add(new Enemy_JackOLantern(340.0, -100.0, 30, 10, 100, 0, 50.0, 2.0, 0.0, 0.1));
            Game.I.Enemies.Add(new Enemy_JackOLantern(440.0, -100.0, 30, 10, 100, 0, 50.0, 2.0, 0.0, 0.1));

            for (int c = 0; c < 180; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_BigJackOLantern(240.0, 0.0, 100, 10, 100, 2, 300.0, 0.99, 4.7, -0.05, 0.0, 1.0));

            for (int c = 0; c < 200; c++)
            {
                yield return(true);
            }

            //Game.I.Walls.Add(new Wall_1001());

            for (int c = 0; c < 300; c++)
            {
                yield return(true);
            }

            //Game.I.Walls.Add(new Wall_1001());

            for (int c = 0; c < 60; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_BigJackOLantern(480.0, 0.0, 100, 10, 100, 11, 100.0, 0.996, 4.7, -0.03, -0.5, 0.3));
            Game.I.Enemies.Add(new Enemy_BigJackOLantern(0.0, 0.0, 100, 10, 100, 22, 100.0, 0.996, 4.7, 0.03, 0.5, 0.5));

            for (int c = 0; c < 500; c++)
            {
                yield return(true);
            }

            Game.I.Enemies.Add(new Enemy_BigJackOLantern(480.0, 0.0, 100, 10, 100, 21, 100.0, 0.996, 4.7, -0.03, -0.5, 0.3));
            Game.I.Enemies.Add(new Enemy_BigJackOLantern(0.0, 0.0, 100, 10, 100, 11, 100.0, 0.996, 4.7, 0.03, 0.5, 0.5));

            for (int c = 0; c < 400; c++)
            {
                yield return(true);
            }

            // ---- BOSS 登場

            {
                Game.I.Shots.Add(new Shot_BossBomb());

                Enemy_鍵山雛 boss = new Enemy_鍵山雛();

                Game.I.Enemies.Add(boss);

                for (int c = 0; c < 90; c++)
                {
                    yield return(true);
                }

                foreach (bool v in ScriptCommon.掛け合い(new Scenario(@"res\掛け合いシナリオ\小悪魔_鍵山雛.txt")))
                {
                    yield return(v);
                }

                boss.NextFlag = true;

                // boss はすぐに消滅することに注意
            }

            Ground.I.Music.MUS_BOSS_01.Play();

            while (!Game.I.BossKilled)
            {
                yield return(true);
            }

            for (int c = 0; c < 30; c++)
            {
                yield return(true);
            }

            Game.I.Shots.Add(new Shot_BossBomb());

            // ---- BOSS 撃破

            for (int c = 0; c < 180; c++)
            {
                yield return(true);
            }
        }
Ejemplo n.º 4
0
    private void StateCrank()       //Add row, return to main game loop
    {
        GetComponent <AudioSource>().PlayOneShot(audioCrank);

        int nOver = 0;

        for (int r = mGridSpaces - 1; r > -1; r--)
        {
            for (int c = 0; c < mGridSpaces; c++)
            {
                ScriptClicker nCell = mClickers[c, r].GetComponent <ScriptClicker>();
                if (nCell.occupant != null)
                {
                    if (r + 1 < mGridSpaces)
                    {
                        ScriptClicker nNewCell = mClickers[c, r + 1].GetComponent <ScriptClicker>();
                        nNewCell.occupant = nCell.occupant;
                        //Move block up on play area, added line
                        //nCell.occupant.transform.position = nNewCell.transform.position;
                        nCell.occupant.GetComponent <ScriptBlock>().MoveTo(nNewCell.transform.position);
                        nCell.occupant = null;
                    }
                    else
                    {
                        if (nCell.occupant != null)
                        {
                            //Move block off play area, exit
                            nCell.occupant.GetComponent <ScriptBlock>().MoveTo(new Vector3(nCell.transform.position.x, nCell.transform.position.y + nCell.transform.localScale.y, nCell.transform.position.z));
                            //Tell block to detach, gameover
                            //Destroy(nCell.occupant);
                            nCell.occupant.GetComponent <ScriptBlock>().Bust();
                            nCell.occupant = null;
                            nOver++;
                        }
                    }
                }
            }
        }

        int nHoles = 0;

        if (ScriptCommon.RandomBoolean())          //Forward through columns
        {
            for (int c = 0; c < mGridSpaces; c++)
            {
                if (nHoles < mMaxCrankHoles && ScriptCommon.RandomBoolean())
                {
                    nHoles++; continue;
                }
                if (nHoles == 0 && c == mGridSpaces - 1)
                {
                    nHoles++; break;
                }                                                                          //Last space must be hole if no others were
                InsertBlock(mClickers[c, 0]);
            }
        }
        else             //Backward through columns
        {
            for (int c = mGridSpaces - 1; c > -1; c--)
            {
                if (nHoles < mMaxCrankHoles && ScriptCommon.RandomBoolean())
                {
                    nHoles++; continue;
                }
                if (nHoles == 0 && c == 0)
                {
                    nHoles++; break;
                }                                                              //Last space must be hole if no others were
                InsertBlock(mClickers[c, 0]);
            }
        }

        if (nOver > 0)
        {
            ChangeState(GameState.Over);

            textTotalFinal.text   = mTotal.ToString();
            textSinglesFinal.text = mSingles.ToString();
            textDoublesFinal.text = mDoubles.ToString();
            textTriplesFinal.text = mTriples.ToString();
            textQuadsFinal.text   = mQuads.ToString();
            textScoreFinal.text   = mScore.ToString();

            Invoke("GameActionDelayedOver", mDelayOverSeconds);             //Audio play
            Invoke("GameActionDelayedFinish", mDelayFinishSeconds);         //Game over screen enter
        }
        else
        {
            CheckNeedBomb();
            if (mLastDropPos != null)
            {
                ShowDropPosition(mLastDropPos);
            }
            panelTimer.GetComponent <ScriptTimer>().runTimer();
            ChangeState(GameState.Wait, true);
        }
    }
Ejemplo n.º 5
0
    private bool UpdateCameraPosition()
    {
        bool  nComplete = false;
        float nZ        = ScriptCommon.NumberTarget(viewer.transform.position.z, mTargetZ, ScriptCommon.FrameValue(mPerSecMove), out nComplete);

        viewer.transform.position = new Vector3(mOriginalPosition.x, mOriginalPosition.y, nZ);
        return(nComplete);
    }