From 1bdf9c3d62da86a5b996ce1d4884a28d77582974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=97=B0=EC=A7=84?= Date: Fri, 8 Sep 2023 16:48:54 +0900 Subject: [PATCH] =?UTF-8?q?feat(Car):=20`=EC=9D=B4=EB=A6=84:=20--`=20?= =?UTF-8?q?=ED=98=95=EC=8B=9D=EC=9C=BC=EB=A1=9C=20=EC=B6=9C=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 3 +++ src/main/java/racingcar/constant/OutputMessage.java | 3 ++- src/main/java/racingcar/domain/Car.java | 6 ++++++ src/main/java/racingcar/domain/Cars.java | 10 +++++++++- src/main/java/racingcar/domain/Name.java | 4 ++++ 5 files changed, 24 insertions(+), 2 deletions(-) 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;