예제 #1
0
 // 마린과 파이어뱃 생성 부분 분리하고 외부에서 형변환 필요없도록 수정
 public TerranUnit CreateTerranUnit(int unitType, int unitCode)
 {
     switch (unitType)
     {
         case 1:
             Marine marine = new Marine(unitCode, 10);
             return marine;
         case 2:
             Firebat firebat = new Firebat(unitCode, 10);
             return firebat;
         default:
             return null;
     }
 }
예제 #2
0
        // 마린과 파이어뱃 생성 부분 분리하고 외부에서 형변환 필요없도록 수정
        public TerranUnit CreateTerranUnit(int unitType, int unitCode)
        {
            switch (unitType)
            {
            case 1:
                Marine marine = new Marine(unitCode, 10);
                return(marine);

            case 2:
                Firebat firebat = new Firebat(unitCode, 10);
                return(firebat);

            default:
                return(null);
            }
        }
예제 #3
0
        static void Main(string[] args)
        {
            List <TerranUnit> terranUnitList = new List <TerranUnit>();

            Barracks barracks = new Barracks(5, 150);

            Console.WriteLine("프로퍼티 Name: {0}", barracks.Name);

            Marine marine1 = barracks.CreateTerranUnit(1, unitCode++) as Marine;

            terranUnitList.Add(marine1);
            Marine marine2 = barracks.CreateTerranUnit(1, unitCode++) as Marine;

            terranUnitList.Add(marine2);

            Firebat firebat1 = barracks.CreateTerranUnit(2, unitCode++) as Firebat;

            terranUnitList.Add(firebat1);

            Bunker bunker = new Bunker(3, 100);

            //Console.WriteLine("프로퍼티 Name: {0}", bunker.Name);
            Console.WriteLine("프로퍼티 Name: {0}", ((Building)bunker).Name);

            bunker.PutUnit(marine1);
            bunker.PutUnit(marine2);
            bunker.PutUnit(firebat1);
            bunker.PutUnit(marine1);
            bunker.TakeOutAllUnits();

            // 총공격
            Console.WriteLine("+++++ 총 공격 개시 +++++");
            foreach (TerranUnit unit in terranUnitList)
            {
                unit.Attack();
            }
            // 인공지능 적을 만듭시다.
            // 스레드를 이용해서 만드는것도 재미있을 듯.
        }