
디자인 계속 다듬어보다가

이 느낌으로 가보기로 함
이제 해야될 거
박자 속도에 맞게 플레이어 이동
박자 맞게 누르면 라이팅 및 이펙트 및 소멸
박자 못 맞추면 게임 오버
개발용 노트 블럭 에디터
클래식 곡 구하기
맵 배경 구하기
튜토리얼 만들기
레벨 선택 화면 만들기
게임 시작 화면 만들기 (피아노 너머로 파란 하늘이 보이고 커텐이 나부끼는 창문, 3D,
사양 딸리면 영상으로 대체하라는 알림창)
시작할 때 리듬 오프셋 조절
클래스
클래스의 정의
class ClassNote
{
static void Run()
{
Console.WriteLine("ClassNote 클래스의 Run 메서드");
}
static void Main()
{
Run(); // 메서드 레벨: 같은 클래스의 메서드 호출
ClassNote.Run(); // 클래스 레벨: 클래스.메서드(); 형태로 호출
}
}
C#에서는 static을 정적으로 표현한다.
다시 말해, static이 붙는 클래스의 모든 멤버는 해당 클래스 내의 누구나 공유해서 접근할 수 있다.
static이 붙는 메서드를 정적 메서드, 공유 메서드라 한다.
class MyFirstClass
{
static void StaticMethod() => Console.WriteLine("[1] 정적 메서드");
void InstanceMethod() => Console.WriteLine("[2] 인스턴스 메서드");
static void Main()
{
MyFirstClass.StaticMethod();
MyFirstClass my = new MyFirstClass();
my.InstanceMethod();
}
}
static 붙은 정적 메서드는 그냥 호출해도 되고
static 안 붙은 인스턴스 메서드는 인스턴스 만든 후 해당 인스턴스 개체를 사용하여 호출
public class Car { }
public 액세스 한정자를 생략하면 기본값인 internal을 갖는다.
internal: 해당 프로그램 내에서 언제든지 접근 가능하다.
클래스 본문인 중괄호 안에는 메서드, 필드, 속성, 생성자, 소멸자 등이 올 수 있다.
이 모두를 가리켜 클래스 멤버라고 한다.
클래스 이름은 의미 있는 이름을 사용하면 좋다. 명사를 사용한다.
첫 글자는 꼭 대문자여야 한다. 축약형, 특정 접두사, 언더스코어 같은 특수 문자 쓰지 않는다.
인스턴스 생성한 다음에 써야 하는 것도 있고 바로 쓸 수 있는 것도 있고
개체.GetType() == typeof(형식)의 줄임 표현으로 개체 is 형식이 가능하다.
ex) a is int, b is string
as 연산자는 특정 데이터를 특정 데이터 형식으로 변환하는 데 사용한다.
해당 데이터 형식이면 반환하고 그렇지 않으면 null을 반환한다.
> object x = 1234;
> string s = x as string;
> s
null
> object x = "1234";
> string s = x as string;
> s
"1234"
보석 결정체가 옆에 붙어있으면 석판으로 나누기 불가.
불순물 기준으로 영역을 정하던가,
보석 결정체 기준으로 영역을 결정하던가?
불순물의 자르는 방향만 중요한게 아니라 순서도 중요함.
방향은 경우의 수 2^n, 순서는 경우의 수 n!
보석 결정체는 15개까지라고 했으면서
불순물 개수 최대는 안 정해줬으므로 최악의 경우는
n에 399개가 들어가는 것. 브루트 포스 불가능.
보석 결정체 기준으로 나누려고 하면 석판 나누는 경우를 모두 탐색하기가 곤란.
애초에 불순물을 중심으로 나누는 것이기 때문.
그렇다면 불순물을 중심으로 나누는 경우의 수를 하나하나 따져봐야 한다는 건데
그 중에서 보석 결정체를 자르는 경우의 수는 탈락, 끝까지 나눠보니 보석이 2개인 구역이 생기면 탈락.
와 진짜 개어렵네; 아예 감도 안옴.
https://blog.naver.com/jhc9639/221866427886
아니 문제 조건 보니까
석판의 결 때문에 가로 또는 세로 방향으로만 석판을 자를 수 있다. 석판을 자를 때에는 이전에 자른 방향과 같은 방향으로는 자를 수 없다.
이게 있었네; 아오
근데 이렇게 해도 순서 때문에 경우의 수 n! 나오지 않음?
https://choosla.tistory.com/10
각각의 석판 안에 불순물이 없으면서 단 하나의 보석 결정체만이 있도록
이 조건으로 케이스 줄이는 거였네