본문 바로가기

C#/수업 과제

클래스 및 인스턴스 만들기와 메서드 연습6 (히드라-러커)

메인메서드

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

class Program
{
    static void Main(string[] args)
    {
        Hydralisk hydralisk1 = new Hydralisk();
        Lurker lurker1 = hydralisk1.ConvertToLurker();
        while (true)
        {
            Console.Write("무엇을 하시겠습니까? (버로우, 공격) : ");
            string action = Console.ReadLine();
            Console.WriteLine();
            Lurker.eState state = lurker1.Action(action);
            Console.WriteLine("현재 상태 : {0}", state);
            Console.WriteLine();
            if (state == Lurker.eState.Die)
            {
                break;
            }
        }
    }
}

히드라 클래스

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

class Hydralisk
{
    //멤버 변수

    //생성자 메서드
    public Hydralisk()
    {
        Console.WriteLine("히드라가 생성되었습니다.");
    }

    //멤버 메서드
    public Lurker ConvertToLurker()
    {
        Console.WriteLine("러커로 변태합니다.");
        return new Lurker();
    }
}

러커 클래스

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

class Lurker
{
    public enum eState
    {
        Attack, BeHit, Burrown, Die
    }
    //멤버 변수

    //생성자 메서드
    public Lurker()
    {
        Console.WriteLine("러커가 생성되었습니다.");
    }

    //멤버 메서드
    public eState Action(string action)
    {
        if (action == "버로우")
        {
            Console.WriteLine("러커가 {0}합니다.", action);
            return eState.Burrown;
        }
        else if (action == "공격")
        {
            Console.WriteLine("러커가 {0}합니다.", action);
            return eState.Attack;
        }
        else
        {
            Console.WriteLine("잘못입력하셨습니다. 러커가 사망합니다.");
            Console.WriteLine("눈앞이 캄캄해졌다.");
            return eState.Die;
        }
    }
}

원래 버로우를 반환값이 없는 '버로우했다'고 출력만하는 메서드로 만들었다가 좀더 힘내봤다.

 

HelloWorld.exe
0.01MB