- 사다리 게임 게임 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
-
사다리 게임에 참여하는 사람에 이름을 최대5글자까지 부여할 수 있다. 사다리를 출력할 때 사람 이름도 같이 출력한다.
-
LadderPlayerName
클래스를 만들어 String 클래스를 Wrap 한다.String.length()
메서드를 이용하여 5글자를 벋어난다면,IllegalStateException
에러를 발생시킨다.toString()
메서드를 오버라이딩 하여, 이름을 출력한다.포맷팅
을 사용하여 5글자 간격을 맞춘다.
-
ResultView
클래스를 제작한다.- 안내문구를 출력한다.
LadderPlayerNames
인스턴스를 받아 이름 라벨을 출력한다.
-
-
사람 이름은 쉼펴(,)를 기준으로 구분한다.
-
InputView
클래스를 제작한다.- 안내문구를 출력한다.
- 참여할 사람들의 이름모음 문자열을 리턴한다.
- 최대 사다리 높이는 몇개 인지를 리턴한다.
-
LadderPlayerNames
클래스를 제작한다. 해당 객체는List<LadderPlayerName>
를 가지는 일급 객체이다.,로 구분된 사람 이름 문자열
을 받는다.String.split()
메서드를 이용하여, 문자열을 추출한 후,List<LadderPlayerName>
를 구성한다.몇명인지
리턴한다.
-
-
사람 이름을 5자 기준으로 출력하기 때문에 사다리 폭도 넓어져야 한다.
-
LadderPlayerNames
클래스를 이용한다.toString()
메서드를 오버라이딩 한다.Stream API
를 이용하여 빈칸 기준으로(LadderPlayName
문자열을 이어서 만든다.
-
ResultView
클래스를 이용한다.LadderPlayerName
클래스가 제공하는 이름 최대 개수만큼 문자열-
를 이은 사다리 다리와 빈칸을 미리 제작한다.Ladder
인스턴스를 받아, 출력한다.
-
-
사다리 타기가 정상적으로 동작하려면 라인이 겹치지 않도록 해야 한다.
-
ㅣ-----ㅣ-----ㅣ 모양과 같이 가로 라인이 겹치는 경우 오느 방향으로 이동할지 결정할 수 없다.
-
LadderLine
클래스를 제작한다. 해당 객체는List<Boolean>
를 가지는 일급 객체이다. -가로 칸 개수
를 생성자로 받는다. - 생성을 표현하기 위해팩토리 메서드
를 사용한다. - 가로 칸 마다Random
인스턴스를 이용하여, 사다리 다리를 둘것인지 아닌지를 결정한다. - 이전 칸이 사다리가 담겼다면, 해당 칸은 빈 칸으로 설정하고 넘어간다. -설치된 결과 List
를 리턴합니다. -
Ladder
클래스를 제작한다. 해당 객체는List<LadderLine>
를 가지는 일급 객체이다.가로 칸 개수
와사다리 높이
를 생성자로 받는다.- 생성을 표현하기 위해
팩토리 메서드
를 사용한다.
- 생성을 표현하기 위해
toString()
을 오버라이딩 하여,List<LadderLine
컬렉션과 함께 문자열을 제작한다.
-