C#/수업 과제

라바 to 히드라 to 럴커(클래스 메서드 사용)

Bueong_E 2023. 1. 5. 18:04
반응형
SMALL

App단

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("라바1호기");
            
            larva.Change();
            Hydralisk hydra0 = larva.Change();

            larva.Change();
            larva = null;


            hydra0.name = "히드라1호기";

            hydra0.Move();  //이동 했습니다.

            hydra0.Burrow(); //버로우 했습니다.
            hydra0.Burrow(); //이미 버로우를 시전한 상태입니다.


            hydra0.Move(); //이동할수 없습니다.

            hydra0.UnBurrow(); //언버로우 했습니다.
            hydra0.UnBurrow(); //이미 지상에 있습니다..

            hydra0.Move(); //이동 했습니다.



            Lurker lurker = hydra0.Change(); //럴커 부화
            hydra0 = null;
        }
    }
}

라바

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

namespace Study05
{
    class Larva
    {
        public string name;
        public int life = 1;
        //생성자
        public Larva(string name)
        {
            this.name = name;
            Console.WriteLine("{0}가 생성되었습니다.", this.name);

        }
        public Hydralisk Change()
        {

            if (life == 1)
            {
                 
                Console.WriteLine("{0}를 진화시켰습니다.", this.name);
                Console.WriteLine("럴커 가 생성되었습니다.");
                life--;


            }
            else
            {
                Console.WriteLine("{0}는 이미 진화하여 죽었습니다.", this.name);
                
            }
            
            Hydralisk hydralisk = new Hydralisk();            
            return hydralisk;


        }
    }
}

히드라

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

namespace Study05
{
    class Hydralisk
    {
        public enum Stance
        {
            Stand,
            Ground

        }
        public Stance stance;
        public string name;
        public Hydralisk()
        {

            this.stance = Stance.Stand;
            
        }
        public void Move()
        {
            if (this.stance == Stance.Ground)
                Console.WriteLine("이동할수 없습니다.");
            else
                Console.WriteLine("{0} 가 이동했습니다.", this.name);

        }
        public void Burrow()
        {
            if (this.stance == Stance.Stand)
            {
                this.stance = Stance.Ground;
                Console.WriteLine("{0} 가 버로우를 시전하였습니다.", this.name);
            }
            else
                Console.WriteLine("{0} 는 이미 버로우를 시전하였습니다.", this.name);

        }
        public void UnBurrow()
        {
            if (this.stance == Stance.Ground)
            {
                this.stance = Stance.Stand;
                Console.WriteLine("{0} 가 버로우를 끝냈습니다.", this.name);
            }
            else
                Console.WriteLine("{0} 는 이미 지상에 있습니다.", this.name);
        }
        public Lurker Change()
        {
            Console.WriteLine("{0}가 변화합니다.", this.name);
            Console.WriteLine("럴커를 생성하였습니다.");
            Lurker lurker = new Lurker();
            return lurker;
            
            
        }
    }
}

럴커

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

namespace Study05
{
    class Lurker
    {
        public Lurker()
        {

        }

    }
}

결과물

반응형
LIST