Пример #1
0
        public frmMain()
        {
            InitializeComponent();

            //Инициализация всех компонентов для рисования.
            //Фактически, полная загрузка приложения.
            btmp             = new Bitmap(pictureBox.Width, pictureBox.Height);
            g                = Graphics.FromImage(btmp);
            font             = new Font("Segoe print", 12);
            pictureBox.Image = btmp;

            wmp     = new WindowsMediaPlayer();
            pl      = new MySoundPlayer();
            wmp.URL = "Music\\menu.mp3";
            wmp.settings.setMode("Loop", true);
            wmp.settings.volume = 100;

            m_rnd = new Random();

            //ship = new Ship(pictureBox.Width, pictureBox.Height);
            space = new Space(pictureBox.Width, pictureBox.Height);
            Draw  = new MyDrawing(g, space.GetWidth, space.GetHeight);

            director = new StageDirector(pictureBox.Width, pictureBox.Height);

            x = space.GetWidth / 2;
            y = space.GetHeight - 100;

            pictureBox.Cursor.Dispose();
            Draw.Menu(pictureBox.Width, pictureBox.Height);

            now         = DateTime.Now;
            lastCurrent = now;
        }
Пример #2
0
 private void getFood(PlayerStatus aPlayer, int aFood, Action aCallback)
 {
     if (aFood != 0)
     {
         MySoundPlayer.playSe("decision22");
     }
     aPlayer.mFood += aFood;
     sortPlayerRank();
     GameAnimation.getFood(mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber], aFood, aCallback);
 }
Пример #3
0
    //拡大する
    private void expandLand(PlayerStatus aPlayer, LandMasStatus aLand)
    {
        MySoundPlayer.playSe("decision7");
        aPlayer.mFood      -= aLand.mExpansionCost;
        aPlayer.mTerritory += aLand.mExpansionCost;
        mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber].updateDisplay(aPlayer);

        aLand.mExpansionLevel += 1;
        ((LandMasDisplay)mElement.mMasDisplay[aLand.mMasNumber]).updateDisplay(aLand);
    }
Пример #4
0
    //占領する
    private void occupyLand(PlayerStatus aPlayer, LandMasStatus aLand)
    {
        MySoundPlayer.playSe("decision7");
        aPlayer.mFood      -= aLand.mValue;
        aPlayer.mTerritory += aLand.mValue;
        mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber].updateDisplay(aPlayer);

        aLand.mOwnerNumber = aPlayer.mPlayerNumber;
        ((LandMasDisplay)mElement.mMasDisplay[aLand.mMasNumber]).updateDisplay(aLand);
    }
Пример #5
0
    //次のマスに移動する
    public void moveNextMass(Action aCallback)
    {
        int tNextMassNum = (mTurnPlayer.mCurrentMassNumber + 1) % mMaster.mFeild.mMassList.Count;

        mTurnPlayer.mComa.moveToWithSpeed(mMaster.mFeild.mMassList[tNextMassNum].position, mMoveSpeed, () => {
            mTurnPlayer.mCurrentMassNumber = tNextMassNum;
            MySoundPlayer.playSe("step", false);
            aCallback();
        });
    }
Пример #6
0
    //解放する
    private void freeLand(LandMasStatus aLand, Action aCallback)
    {
        MySoundPlayer.playSe("cancel1");
        PlayerStatus tOwner = mElement.mPlayerStatus[aLand.mOwnerNumber];

        tOwner.mFood      += aLand.mFreeCost;
        aLand.mOwnerNumber = -1;
        tOwner.mTerritory -= aLand.mTotalValue;
        mElement.mPlayerStatusDisplay[tOwner.mPlayerNumber].updateDisplay(tOwner);
        ((LandMasDisplay)mElement.mMasDisplay[aLand.mMasNumber]).updateDisplay(aLand);
        setTimeout(1, aCallback);
    }
Пример #7
0
 public void changeIncreaseLevel(int aLevel, Action aCallback)
 {
     MySoundPlayer.playSe("increase", false);
     mIncreaseLevel = aLevel;
     updateValueDisplay();
     mBuildingRenderer.sprite = Resources.Load <Sprite>("sprites/feild/mass/building" + aLevel.ToString());
     mBuilding.scale2D        = new Vector2(0, 0);
     mBuilding.scaleTo(new Vector2(0.2f, 1.3f), 0.2f, () => {
         mBuilding.scaleTo(new Vector2(1.3f, 0.6f), 0.2f, () => {
             mBuilding.scaleTo(new Vector2(1, 1), 0.2f, () => {
                 aCallback();
             });
         });
     });
 }
Пример #8
0
 private void lostFood(PlayerStatus aPlayer, int aFood, Action aCallback)
 {
     if (aFood != 0)
     {
         MySoundPlayer.playSe("decision14");
     }
     aPlayer.mFood -= aFood;
     sortPlayerRank();
     GameAnimation.getFood(mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber], -aFood, () => {
         if (aPlayer.mFood >= 0)
         {
             aCallback();
         }
         else
         {
             endanger(aPlayer, aCallback);
         }
     });
 }
Пример #9
0
    private void moveFood(PlayerStatus aGetter, PlayerStatus aPayer, int aFood, Action aCallback)
    {
        MySoundPlayer.playSe("decision14");
        aGetter.mFood += aFood;
        aPayer.mFood  -= aFood;
        sortPlayerRank();
        CallbackSystem tSystem = new CallbackSystem();

        GameAnimation.getFood(mElement.mPlayerStatusDisplay[aGetter.mPlayerNumber], aFood, tSystem.getCounter());
        GameAnimation.getFood(mElement.mPlayerStatusDisplay[aPayer.mPlayerNumber], -aFood, tSystem.getCounter());
        tSystem.then(() => {
            if (aPayer.mFood < 0)
            {
                endanger(aPayer, aCallback);
                return;
            }
            aCallback();
        });
    }
Пример #10
0
    public void open(int aNum)
    {
        if (mIsOpen)
        {
            return;
        }
        mIsOpen = true;
        mBox.scaleTo(new Vector2(0, 0), 0.3f);
        mNumber.scaleTo(new Vector2(3, 3), 0.3f);
        mNumMesh.text = aNum.ToString();

        //sound
        MySoundPlayer.playSe("open", false);

        //light
        for (int i = 0; i < 5; i++)
        {
            throwLight();
        }
    }
Пример #11
0
 public void flip(bool aToFront, Action aCallback = null)
 {
     MySoundPlayer.playSe("dealing_cards1", true);
     _IsFront = aToFront;
     this.scaleToWithSpeed(new Vector2(0, 1), 5, () => {
         if (aToFront)
         {
             showFront();
         }
         else
         {
             showBack();
         }
         this.scaleToWithSpeed(new Vector2(1, 1), 5, () => {
             if (aCallback != null)
             {
                 aCallback();
             }
         });
     });
 }
Пример #12
0
        public bool Start()
        {
            int i = 0;

            try
            {
                this.eventPlayer = new SoundPlayer(MWS.Properties.Resources.newsms);
                soundPlayers     = new MySoundPlayer[(int)Tone.TONE_MAX];
                for (Tone tone = Tone.TONE_DTMF_1; tone < Tone.TONE_MAX; tone++)
                {
                    soundPlayers[i++] = new MySoundPlayer(tone);
                }

                return(true);
            }
            catch (Exception e)
            {
                LOG.Error("Failed to start sound service", e);
                return(false);
            }
        }
Пример #13
0
    private void Start()
    {
        Arg tArg = MySceneManager.getArg("eventBox");

        mText.text      = tArg.get <string>("text");
        mWindow.scale2D = new Vector2(0, 0);

        mBox.moveTo(new Vector3(0, 1, 0), 0.4f, () => {
            MyBehaviour.setTimeoutToIns(0.2f, () => {
                MySoundPlayer.playSe("open", false);
                mEventBox.scaleTo(new Vector2(0, 0), 0.3f);
                mWindow.scaleTo(new Vector2(1, 1), 0.4f);
                for (int i = 0; i < 5; i++)
                {
                    throwLight(mBox.worldPosition);
                }
                MyBehaviour.setTimeoutToIns(1.5f, () => {
                    MySceneManager.closeScene("eventBox");
                });
            });
        });
    }
Пример #14
0
    static public void lostCoin(Vector3 aPosition, string aLabel, Action aCallback)
    {
        MyBehaviour tContainer = MyBehaviour.create <MyBehaviour>();

        tContainer.name     = "lostCoin";
        tContainer.position = aPosition;

        MySoundPlayer.playSe("lost", false);

        CallbackSystem tSystem = new CallbackSystem();
        KinCoin        tPrefab = Resources.Load <KinCoin>("prefabs/game/effect/coin");

        for (int i = 0; i < 10; i++)
        {
            Action tCounter = tSystem.getCounter();
            MyBehaviour.setTimeoutToIns(0.1f * i, () => {
                KinCoin tCoin = GameObject.Instantiate(tPrefab);
                tCoin.transform.SetParent(tContainer.transform, false);
                tCoin.lost(tCounter);
            });
        }
        tSystem.then(aCallback);
    }
Пример #15
0
 //所持食糧が負の数になった
 private void endanger(PlayerStatus aPlayer, Action aCallback)
 {
     MySoundPlayer.playSe("cursor6");
     mElement.mTable.showMessage((aPlayer.mPlayerNumber + 1) + "Pは絶滅の危機です");
     setTimeout(1, () => {
         Action tAskFree = () => { };
         tAskFree        = () => {
             //絶滅判定
             if (aPlayer.mTerritory <= 0)
             {
                 endangered(aPlayer, aCallback);
                 return;
             }
             //解放する土地を選択する
             bool tAnsered = false;
             aPlayer.mController.freeLand(aPlayer, mElement, (aLand) => {
                 if (tAnsered == true)
                 {
                     return;
                 }
                 tAnsered = true;
                 freeLand(aLand, () => {
                     if (aPlayer.mFood < 0)
                     {
                         tAskFree();//まだ負の数
                     }
                     else
                     {
                         mElement.mTable.hideMessage();
                         aCallback();
                     }
                 });
             });
         };
         tAskFree();
     });
 }
Пример #16
0
    // Start is called before the first frame update
    void Start()
    {
        Arg tArg = MySceneManager.getArg("game");

        MySoundPlayer.playBgm("Morning_2", MySoundPlayer.LoopType.normalConnect, 0.7f);

        mElement = new GameElementData();

        mElement.mInitData         = tArg.get <GameInitData>("data");
        mElement.mStageData        = new StageData(mElement.mInitData.mStagePath);
        LandMasStatus.mLootingRate = mElement.mInitData.mLooting / 100.0f;

        initPlace();
        initStatus();
        //piece
        mElement.mPlayerPieces = GamePlacer.placePiece(mElement.mPlayerStatus, mElement.mMasDisplay[0].position2D);

        mMaster          = MyBehaviour.create <GameMaster>();
        mMaster.name     = "GameMaster";
        mMaster.mElement = mElement;
        mMaster.mMain    = this;

        mMaster.start();
    }