using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp6
{




    internal class TerranDropShip
    {

        private List<Unit> units;

        public enum eState{
            Armor = 1
            
        }

       

        public TerranDropShip() {
            units = new List<Unit>();
            Console.WriteLine("DropShip이 생성되었습니다.");
            Console.WriteLine("Armor: {0}", Convert.ToInt32(eState.Armor));
        }

        public void Move()
        {
            Console.WriteLine("DropShip이 이동합니다.");
        }

        public void ListUnits()
        {
            Console.WriteLine("************************");
            Console.WriteLine("탑승 목록:");
            foreach (var unit in units)
            {
                Console.WriteLine(unit.Name);
            }
            Console.WriteLine("************************");
        }
        public void Board(Unit unit)
        {
            units.Add(unit);
            Console.WriteLine("{0} 탑승 완료.", unit.Name);
        }

        public void Disembark(string unitName)
        {
            var unit = units.FirstOrDefault(u => u.Name == unitName);
            if (unit != null)
            {
                units.Remove(unit);
                Console.WriteLine("{0} 하차 완료.", unitName);
            }
            else
            {
                Console.WriteLine("{0}은(는) 탑승하고 있지 않습니다.", unitName);
            }
        }


    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp6
{
    internal class App
    {
        public App() {
            var dropShip = new TerranDropShip();
            while (true)
            {
                Console.WriteLine("************************");
                Console.WriteLine("(1) 이동");
                Console.WriteLine("(2) 탑승 목록");
                Console.WriteLine("(3) 탑승");
                Console.WriteLine("(4) 하차");
                Console.WriteLine("************************");
                Console.Write("번호를 입력하세요: ");
                var input = Console.ReadLine();
                switch (input)
                {
                    case "1":
                        dropShip.Move();
                        break;
                    case "2":
                        dropShip.ListUnits();
                        break;
                    case "3":
                        Console.WriteLine("탑승할 유닛의 이름을 입력하세요.");
                        var unitName = Console.ReadLine();
                        dropShip.Board(new Unit(unitName));
                        break;
                    case "4":
                        Console.WriteLine("하차할 유닛의 이름을 입력하세요.");
                        var unitName2 = Console.ReadLine();
                        dropShip.Disembark(unitName2);
                        break;
                    default:
                        Console.WriteLine("잘못된 입력입니다.");
                        break;
                }
            }
        }    
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp6
{
    internal class Unit
    {
        public string Name { get; set; }

        public Unit(string name)
        {
            Name = name;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp6
{
    internal class Program
    {
        static void Main(string[] args)
        {
            new App();
        }
    }
}

'KDT > C# 프로그래밍' 카테고리의 다른 글

마린과 메딕. 피해와 치료  (0) 2023.07.24
저글링 클래스와 메딕 클래스  (0) 2023.07.24
플레이어, 몬스터, 무기  (0) 2023.07.21
SCV  (0) 2023.07.21
도전문제 4번  (0) 2023.07.20

+ Recent posts