C#/수업 내용

클래스를 활용한 라바-히드라-러커 구현

HSH12345 2023. 1. 5. 17:51
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study05
{
    class App
    {
        public App()
        {
            Larva larva = new Larva();
            Hydralisk hydra = larva.Tranformate();

            Console.WriteLine();

            hydra.Move();
            hydra.Burrow();
            hydra.Move();

            Console.WriteLine();

            hydra.UnBurrow();
            hydra.Move();

            Console.WriteLine();

            Lurker lurker = hydra.Transformate();

            Console.WriteLine("\n/////////////////////////\n");

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

namespace Study05
{
    class Larva
    {        
        public Larva()
        {
            Console.WriteLine("라바가 생성되었습니다.");
        }

        public Hydralisk Tranformate()
        {
            Console.WriteLine("라바가 히드라로 진화하는 중입니다.");
            Hydralisk hydra = new Hydralisk(10, 80);
            
            return hydra;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study05
{



    class Hydralisk
    {
        enum IsBurrow
        {
            Burrow,
            UnBurrow
        }
        IsBurrow isBurrow = IsBurrow.UnBurrow;

        public int dmg;
        public int maxHp;
        public int hp;

        public Hydralisk(int dmg, int maxHp)
        {
            this.dmg = dmg;
            this.maxHp = maxHp;
            this.hp = maxHp;
            Console.WriteLine("히드라가 생성되었습니다.");
            Console.WriteLine("체력 : {0}/{1}\n공격력 : {2}", hp, maxHp, dmg);
        }

        public void Move()
        {
            if(isBurrow == IsBurrow.UnBurrow)
            {
                Console.WriteLine("이동하였습니다.");
            }
            else
            {
                Console.WriteLine("이동할 수 없습니다.");

            }
        }

        public void Burrow()
        {
            isBurrow = IsBurrow.Burrow;
            Console.WriteLine("버로우 하였습니다.");
        }

        public void UnBurrow()
        {
            isBurrow = IsBurrow.UnBurrow;
            Console.WriteLine("버로우를 해제하였습니다.");
        }

        public Lurker Transformate()
        {
            Console.WriteLine("히드라가 러커로 진화 진화하는 중입니다.");
            Lurker lurker = new Lurker(20, 200);
            return lurker;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study05
{
    class Lurker
    {
        public int dmg;
        public int maxHp;
        public int hp;

        public Lurker(int dmg, int maxHp)
        {
            this.dmg = dmg;
            this.maxHp = maxHp;
            this.hp = maxHp;
            Console.WriteLine("러커가 생성되었습니다.");
            Console.WriteLine("체력 : {0}/{1}\n공격력 : {2}", hp, maxHp, dmg);
        }
    }
}