Mommoo / java-ladder

사다리 타기 구현을 위한 저장소

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

사다리 게임

진행 방법

  • 사다리 게임 게임 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
  • 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
  • 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.

온라인 코드 리뷰 과정

STEP2 요구사항

  • 사다리 게임에 참여하는 사람에 이름을 최대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 컬렉션과 함께 문자열을 제작한다.

About

사다리 타기 구현을 위한 저장소


Languages

Language:Java 100.0%