일반적인 메서드는 메인 함수에서 작성한다.
개인 과제를 진행하면서 게임의 화면이나 기능 단위로 메서드를 작성하였는데 해설 영상에서는 반복적으로 사용되는 작은 부분들을 대부분 메서드로 작성하는 것을 알 수 있었다.
글자의 색상을 넣는 부분이나, 게임화면에서 다음 화면으로 넘어가기 위해 키를 입력하는 부분 등 내가 복사 붙여넣기로 진행했던 부분들을 함수로 작성하여 가독성을 높힐 수 있었다.
아직 접근제한자를 설정하거나 전역변수 지역변수 등을 어떠한 구조로 설정해야하는지 잘 모르겠다.
네임스페이스에 정의된 요소는 명시적으로 선언할 수 없습니다! 오류도 많이 뜨고...
이 오류는 프로그램 코드의 특정 부분에서 접근 제한자(접근 제어 지시자)를
잘못 사용했을 때 발생합니다. C#에서는 네임스페이스에 직접적으로 멤버를
선언하는 것이 아니라 클래스, 구조체, 인터페이스, 델리게이트 등의 유형 내에서
멤버를 선언해야 합니다. 네임스페이스 자체에는 멤버를 직접 선언할 수 없습니다.
참조 형태인지 값 형태인지도 아직은 분간이 잘 가지 않아서 대부분 public으로 선언하거나
다른 클래스의 매서드를 사용하기 위해 객체를 전달하는 방식을 사용하였다.
결과적으로 개인 과제에서는 메인 함수에서 작성해야 할 대부분의 매서드들을 Scene클래스 안에서 선언하였는데 Scene을 객체로 생성할 필요는 없었던 것 같다. 전체적인 게임의 구조에 대해서는 여러가지 게임코드를 참고하여 더 공부해 보아야 겠다.
콘솔에서 글자의 색상 변경
Console.ForegroundColor = ConsoleColor.색상
자주 사용하는 경우 매서드를 생성하여 반복적으로 사용
public void Title(string text)
{
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine(text);
Console.ResetColor();
}
public void Highlight(string s1, string s2, string s3 = "")
{
Console.Write(s1);
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write(s2);
Console.ResetColor();
Console.WriteLine(s3);
}
3항 연산자
(조건 ? 참이면 : 거짓이면)
Console.WriteLine("$a는 5보다 {(a>=5?:"크거나 같다":"작다")}");