- 두 개의 사다리를 연속으로 그릴 수 없음
- 사다리가 있는 위치에 1저장
- 1이 저장되어 있지 않은 위치에는 사다리가 없음
- 현재 위치 기준 오른쪽에 사다리가 있을 때 오른쪽으로 이동 (현재 위치와 오른쪽으로 +1인 위치의 값이 모두 1일 때)
- 현재 위치 기준 왼쪽에 사다리가 있을 때 오른쪽으로 이동 (현재 위치와 왼쪽으로 -1인 위치의 값이 모두 1일 때)
- 연속 2개의 사다리가 만들어지지 않게 하기 위해 연속 3개의 위치가 1이 되지 않도록 조절 (연속 2개의 사다리 = 연속 세 점의 값이 1)
-
Rows클래스
- getNumofRow() : 사다리 길이 반환
- getNumofPerson() : 사람 수 반환
- getValue() : 해당 위치에 저장된 값 반환
- validateLadder() : 사다리 생성 시, 사람 수가 0명 이하이거나 사다리 길이가 0이하인지 검사
- validatePosition() : 해당 위치가 사다리에서 벗어난 위치인지 검사
- validateNumOfPerson() : 사다리 타기 실행 시, 참여하는 사람의 수 검사
- drawLine() : 사다리 그리는 함수
-
사다리 생성 시, 사다리 길이가 0이거나 사다리 탈 수 있는 사람이 0명이면 IllegalArgumentException
-
사다리 타기 실행 시, 선택된 사다리 번호가 만들어진 범위에서 벗어나면 IllegalArgumentException
-
사다리 선 그릴 때, 사다리 위치에서 벗어나면 IllegalArgumentException