메인메서드
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;
}
}
}
원래 버로우를 반환값이 없는 '버로우했다'고 출력만하는 메서드로 만들었다가 좀더 힘내봤다.
'C# > 수업 과제' 카테고리의 다른 글
SCV 미네랄캐고 건물짓기 (0) | 2021.12.24 |
---|---|
클래스 생성과 인스턴스 생성 및 메서드 연습 과제 (0) | 2021.12.24 |
클래스 및 인스턴스 만들기와 메서드 연습5 (캐리어-인터셉터) (0) | 2021.12.23 |
클래스 및 인스턴스 만들기와 메서드 연습4 (벌쳐-마인) (0) | 2021.12.23 |
클래스 및 인스턴스 만들기와 메서드 연습3 (SCV-배럭) (0) | 2021.12.23 |