diff --git a/' b/' new file mode 100644 index 0000000..3353cc6 --- /dev/null +++ b/' @@ -0,0 +1,11 @@ +commit 9ee2c3533fc9409283a740bc00936d7c0b52e9b4 (HEAD -> szoon2426) +Author: szoon2426 +Date: Fri Feb 14 23:19:54 2025 +0900 + + 기본 기능 추가 + +commit b9d9f2b0e3858ba8e98b53882eb49e7ae8cdd248 (origin/main, origin/HEAD, main) +Author: moongua404 +Date: Mon Jan 6 01:19:25 2025 +0900 + + feat: project-setup diff --git a/README.md b/README.md index d0286c8..af06983 100644 --- a/README.md +++ b/README.md @@ -1 +1,4 @@ # java-racingcar-precourse +## 추가할 목록 +- 게임에 참여할 참가자는 모두 각자 자동차가 있고 이름이 있다. 이름은 ,로 구분한다. 레이싱 후 결과를 알려주고 승자를 알린다. 승자가 여러명 일 경우 ,로 구분한다. 레이싱을 여러번 할 수 있도록 시도할 횟수를 입력받는다. +- 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시킨 후 애플리케이션은 종료되어야 한다. \ No newline at end of file diff --git a/src/main/java/racingcar/Application.java b/src/main/java/racingcar/Application.java index a17a52e..28b2c49 100644 --- a/src/main/java/racingcar/Application.java +++ b/src/main/java/racingcar/Application.java @@ -1,7 +1,79 @@ package racingcar; +import camp.nextstep.edu.missionutils.Randoms; +import camp.nextstep.edu.missionutils.Console; +import java.util.Vector; +import java.util.stream.Collectors; +import java.util.regex.Pattern; + public class Application { + static Vector listOfPlayers = new Vector<>(); + + // 레이싱 돌려잇 + static void game(){ + for(int i = 0; i=4){ + listOfPlayers.get(i).addDistance(); + } + } + } + + // 게임 결과 + static String getGameResult(int player){ + return (listOfPlayers.get(player).getName() + " : " + + listOfPlayers.get(player).printDistance()); + } + + // 승자의 거리 + static int distanceOfWinner(){ + int answer = 0; + for(int i = 0; i answer){ + answer = listOfPlayers.get(i).getDistance(); + } + } + return answer; + } + + // 승자 출력 + static String printWinner(){ + int value = distanceOfWinner(); + Vector listOfWinners = new Vector<>(); + for(Player player : listOfPlayers){ + if(player.getDistance() == value){ + listOfWinners.add(player.getName()); + } + } + return listOfWinners.stream().collect(Collectors.joining(", ")); + } + public static void main(String[] args) { // TODO: 프로그램 구현 + + // input + System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)"); + String names = Console.readLine(); + System.out.println("시도할 횟수는 몇회인가요?"); + int times = Integer.parseInt(Console.readLine()); + + // 입력받은 이름들을 player 리스트에 담아줌 + for(String name : names.split(",")){ + if(name.length()>5){ // 예외처리 + throw new IllegalArgumentException(); + } + Player player = new Player((name)); + listOfPlayers.add(player); + } + + // output + System.out.println("\n실행 결과"); + for(int i = 0; i