【北海道大戦】敵の行動処理を実装する。

最新ソースはこちら(gitHub)

https://github.com/takishita2nd/HokkaidoWar

以前作成したこれ。

これの「敵の行動」の部分を作成していきます。

敵を行動させるのであれば、すでに作成済みである、

    class Battle
    {
        public void NextTurn()

を実行すればいいでしょう。

では、次の状態遷移の条件である、「自分の都市の順番が来た場合」を考えます。

それを行うには、自分の都市と、次に実行する都市をBattleクラスから取得する処理があればいいでしょう。

    class Battle
    {
        public City GetActionCity()
        {
            return _cities[cityCnt];
        }
    class Player
    {
        private City _city;

        public City City { get { return _city; } }

        public Player(City city)
        {
            _city = city;
        }
    }
    class HokkaidoWar
    {
        public void Run()
        {
// 中略
            while (asd.Engine.DoEvents())
            {
                asd.Vector2DF pos = asd.Engine.Mouse.Position;

                switch (gameStatus)
                {
// 中略
                    case GameStatus.ActionEnemy:
                        if (_player.City.Equals(_battle.GetActionCity()))
                        {
                            gameStatus = GameStatus.ActionPlayer;
                        }
                        else
                        {
                            Thread.Sleep(100);
                            _battle.NextTurn();
                        }
                        break;
                }

                if (asd.Engine.Mouse.LeftButton.ButtonState == asd.ButtonState.Push)
                {
// 中略
                    switch (gameStatus)
                    {
                        case GameStatus.ActionEnemy:
                            break;
                    }
                }
                asd.Engine.Update();

マウスクリック処理は特にやることがないので、何もやる必要はありません。

「【北海道大戦】敵の行動処理を実装する。」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください