C#/수업 내용

[C#] 2021-08-26 오전

JSH1 2021. 8. 26. 12:51
class Program
{
    public enum eBuildingType
    {
        SpawningPool
    }

    public enum eUnitType
    {
        Drone,
        Zergling
    }

    static public bool spawningPoolCheck = false;

    static void Main(string[] args)
    {
        Larva larva = new Larva();
        Larva larva2 = new Larva();

        Zergling zergling = larva2.TransformToZergling(eUnitType.Zergling);
        Drone drone = larva2.TransformToDrone(eUnitType.Drone);
        larva2 = null;

        drone.Build(eBuildingType.SpawningPool);
        zergling = larva.TransformToZergling(eUnitType.Zergling);
        larva = null;
    }
}
class Larva
{
    //생성자 메서드
    public Larva()
    {
        Console.WriteLine("Larva가 생성되었습니다.");
    }

    public Drone TransformToDrone(Program.eUnitType unit)
    {
        Console.WriteLine("{0}으로 변태를 시도합니다.", unit);
        return new Drone();
    }

    public Zergling TransformToZergling(Program.eUnitType unit)
    {
        Console.WriteLine("{0}으로 변태를 시도합니다.", unit);

        if (Program.spawningPoolCheck)
        {
            Zergling zergling = new Zergling();
            Zergling zergling2 = new Zergling();
            return null;
        }
        else
        {
            Console.WriteLine("스포닝풀이 필요합니다.");
            return null;
        }
    }
}
class Drone
{
    //생성자 메서드
    public Drone()
    {
        Console.WriteLine("드론이 생성되었습니다");
    }

    public void Build(Program.eBuildingType building)
    {
        switch(building)
        {
            case Program.eBuildingType.SpawningPool:
                Console.WriteLine("스포닝풀로 변태를 시도합니다.");
                SpawningPool spawningPool = new SpawningPool();
                break;
        }
    }
}
class SpawningPool
{
    //생성자 메서드
    public SpawningPool()
    {
        Program.spawningPoolCheck = true;
        Console.WriteLine("스포닝풀이 생성되었습니다.");
    }
}
class Zergling
{
    //생성자 메서드
    public Zergling()
    {
        Console.WriteLine("저글링이 생성되었습니다.");
    }
}


 

'C# > 수업 내용' 카테고리의 다른 글

[C#] class virtual override  (0) 2021.08.27
[C#] 2021-08-26 오후  (0) 2021.08.26
[C#] 2021-08-25 오후  (0) 2021.08.25
[C#] class  (0) 2021.08.25
[C#] 2021-08-24 오후  (0) 2021.08.24