- 자동차 경주 게임 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
- [자동차 경주 게임][# 자동차 경주]
초간단 자동차 경주 게임을 구현한다.
- 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다.
- 각 자동차에 이름을 부여할 수 있다. 자동차 이름은 5자를 초과할 수 없다.
- 자동차 이름은 쉼표(,)를 기준으로 구분한다.
- 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다.
- 사용자는 몇 대의 자동차로 몇 번의 이동을 할 것인지를 입력할 수 있어야 한다.
- 전진하는 조건은 0에서 9 사이에서 무작위 값을 구한 후 무작위 값이 4 이상일 경우이다.
- 자동차의 상태를 화면에 출력한다. 어느 시점에 출력할 것인지에 대한 제약은 없다.
- 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다.
- 사용자에게 경주할 자동차 이름을 입력받는 기능 구현 - RacingCarInput#getCarName
- 입력 값이 쉼표를 기준으로 구분되는지 검증 - isCommaSeperated()
- 시도할 횟수가 입력받는 기능 구현 - getRaceCount()
- 자동차 이름, 위치정보를 저장하는 자동차 클래스 - RacingCar
- 자동차 이름의 길이가 5이하인지 검증 - isCorrectNameSize()
- 전진 하는 메서드 - moveForward()
- 자동차게임 실행하는 클래스 - GameLauncher
- 필드로 자동차 리스트 관리
- 여러 자동차 한번에 전진 - start()
- 시도마다 결과를 출력 - printRacing()
- 우승자를 선정해서 출력 - printWinner()
- 랜덤값 생성 클래스 - RandomUtil
- 랜덤값 생성기능 구현 - createRandomNumber()