diff --git a/docs/README.md b/docs/README.md index 0870a1bb5..6655f6712 100644 --- a/docs/README.md +++ b/docs/README.md @@ -10,6 +10,9 @@ - [x] 입력받은 횟수만큼 자동차 이동 - [x] 랜덤으로 숫자를 뽑는다. - [x] 뽑은 숫자가 4이상일 경우 이동한다. +- [x] 진행 내용 출력 + - [x] 달린 만큼 `-`를 출력한다 + - [x] `이름: --` 형식으로 출력한다. - [ ] 최종 결과 - [ ] 가장 멀리 나간 자동차가 무엇인지 구한다. - [ ] 최종 우승자 출력 diff --git a/src/main/java/racingcar/constant/OutputMessage.java b/src/main/java/racingcar/constant/OutputMessage.java index a7cfffd02..6686a2ae0 100644 --- a/src/main/java/racingcar/constant/OutputMessage.java +++ b/src/main/java/racingcar/constant/OutputMessage.java @@ -2,7 +2,8 @@ public enum OutputMessage { READ_NAME("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"), - READ_TRY_COUNT("시도할 회수는 몇회인가요?"); + READ_TRY_COUNT("시도할 회수는 몇회인가요?"), + RACING_RESULT("%s : %s"); private final String message; diff --git a/src/main/java/racingcar/domain/Car.java b/src/main/java/racingcar/domain/Car.java index dc373421b..4f2106730 100644 --- a/src/main/java/racingcar/domain/Car.java +++ b/src/main/java/racingcar/domain/Car.java @@ -1,5 +1,7 @@ package racingcar.domain; +import racingcar.constant.OutputMessage; + public class Car { private final Name name; private final Position position; @@ -12,4 +14,8 @@ public Car(Name name) { public void race() { position.move(); } + + public String getRacingResult() { + return String.format(OutputMessage.RACING_RESULT.toString(), name.getValue(), position.getValue()); + } } diff --git a/src/main/java/racingcar/domain/Cars.java b/src/main/java/racingcar/domain/Cars.java index 0b6f61153..d79d3f9bd 100644 --- a/src/main/java/racingcar/domain/Cars.java +++ b/src/main/java/racingcar/domain/Cars.java @@ -9,10 +9,18 @@ public class Cars { public Cars(List names) { names.forEach(name -> cars.add(new Car(name))); - System.out.println(cars); } public void race() { cars.forEach(Car::race); } + + public String getRacingResult() { + StringBuilder stringBuilder = new StringBuilder(); + cars.forEach(car -> + stringBuilder.append(car.getRacingResult()) + .append("\n") + ); + return stringBuilder.toString(); + } } diff --git a/src/main/java/racingcar/domain/Name.java b/src/main/java/racingcar/domain/Name.java index 5744be017..0b1f42b9e 100644 --- a/src/main/java/racingcar/domain/Name.java +++ b/src/main/java/racingcar/domain/Name.java @@ -18,6 +18,10 @@ private void validateName(String value) { } } + public String getValue() { + return value; + } + @Override public String toString() { return value;