- 자동차 경주 게임 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
- 입력 화면 구성
- 자동차 이름들의 입력을 안내하는 메세지 출력
- 자동차 이름들을 입력
- 자동차 이름들은 쉼표로 입력
- 자동차 이름은 5자를 초과할 수 없다.
- 시도 횟수 입력을 안내하는 메세지 출력
- 시도 횟수 입력
- 단, 입력 가능한 자동차 대수는 0 이상의 정수
- 음수, 혹은 문자열 입력 시, 다시 입력 받도록 안내
- 입력된 자동차 대수로 자동차 생성
- 시도 횟수로 레이싱 생성
- 레이싱은 자동차들과 시도 횟수, 랩 기록(Lap History)으로 구성
- 자동차
- 자동차에는 이름을 부여할 수 있다.
- 자동차 이름은 5자를 초과할 수 없다.
- 자동차 대수 만큼 자동차 생성
- 자동차는 이동 이력를 가진다.
- 자동차의 이동 이력은 boolean list로 구성
- 랩 기록
- 랩 기록은 랩을 갖는다.
- 랩은 모든 자동차들의 이동 이력을 가진다.
- 랩 기록은 랩의 누적 이력을 가진다.
- 자동차
- 전진하는 조건에 따라 자동차들 이동
- 한 번 시도가 끝나면, 랩 생성 및 랩 기록 생성
- 생성된 랩 기록으로 화면 출력
- 이동은 "-"로 표시
- 자동차 경주 게임을 완료한 후 누가 우승했는지를 표시
- 우승자는 한명 이상일 수 있다.