Exemplo n.º 1
0
        // 自艦隊のデータを作成する
        private Fleet FriendFleet(string inputDeckBuilderText)
        {
            // とりあえず読み込む
            Fleet friendFleet = null;

            try {
                // デッキビルダー形式と仮定
                friendFleet = DeckBuilder.ToFleet(inputDeckBuilderText);
            }
            catch {
                // 独自形式と仮定
                friendFleet = FriendData.ToFleet(inputDeckBuilderText);
            }
            // 陣形を設定する
            friendFleet.Formation = (Formation)friendFleetFormation;
            // 艦隊の陣容を設定する
            switch (friendFleetType)
            {
            case 0:
                // 普段は何もしないが、第3艦隊以降が存在する際は切り捨てる
                if (friendFleet.Unit.Count >= 3)
                {
                    friendFleet.Unit.RemoveRange(2, friendFleet.Unit.Count - 2);
                }
                break;

            case 1:
                // 通常艦隊なので、最初の艦隊以外は切り捨てる
                friendFleet.Unit.RemoveRange(1, friendFleet.Unit.Count - 1);
                break;

            case 2:
                // 連合艦隊なので、最初から2つ分の艦隊以外は切り捨てる
                // 通常艦隊のデータを入れると例外が発生することに注意
                friendFleet.Unit.RemoveRange(2, friendFleet.Unit.Count - 2);
                break;
            }
            return(friendFleet);
        }