- 클라이언트 요청(RacingView), RacingRequest 기능 정의
- Car 클래스 데이터 정의 및 기능 구현
- RacingController 기능 정의 구현 RacingService 기능 정의
- 클라이언트 요청 출력(racingView) 기능 정의
초간단 자동차 경주 게임 구현
- 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출수 있다.
- 각 자동차에 이름을 부여 할 수 있다. 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다.
- 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다.
- 사용자는 몇번의 이동을 할 것인지를 입력할 수 있어야한다.
- 전진하는 조건은 0에서 9사이에서 무작위 값을 구한 후 무작위 값이 4이상일 경우이다.
- 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다.
- 우승자가 여러명일 경우 쉼표(,)를 이용하여 구분한다.
- 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생 시킨 후 애플리케이션 종료
- 경주할 자동차 이름(이름은 쉼표(,) 기준으로 구분) pobi,woni,jun
- 시도할 횟수 5
-
차수별 실행 결과
pobi : --
woni : ----
jun : ---
-
단독 우승자
최종 우승자 : pobi
- 공동 우승자
최종 우승자 : pobi, jun
경주할 자동차 이름을 입력하세요.(이름은 쉽표(,) 기준으로 구분)
pobi,woni,jun
시도 할 횟수는 몇회인가요?
5
실행 결과
-
- 과제 진행 요구사항, 기능 요구 사항, 프로그래밍 요구사항 정확하게 준수
- git 사용 명령어 및 방법 숙지
- 커밋 메세지를 수행한 작업을 이해할 수 있게 작성.
- IDE에서 어플리케이션 디버깅 방법 학습 및 활용하기
- 클래스, 메서드, 변수의 이름을 통해 의도를 정확히 표현한다. 축약하지 않는다. 문맥상 중복 이름은 자제한다.
- Java에서 제공하는 API를 적극 활용 <- 함수 직접 구현 전 Java에서 제공되는 기능이 있는지 확인
- 배열 대신 컬렉션 사용 및 활용.
아래 질문 항모게 대한 중간 회고를 진행하고 소감에 구체적인 결과를 작성.
- 지원서에 작성한 목표 달성율과 그 이유
- 지원서에 작성한 목표 변경을 해야한다면 이유와 어떤 목표로 변경 할건지
- 프리코스 진행 중 눈에 띄는 변화나 깨달은 점
- 구현 전 READ.md 에 구현할 기능 목록을 만들고, 기능 단위로 커밋하는 방식으로 진행
초간단 자동차 경주 게임 구현
- 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출수 있다.
- 각 자동차에 이름을 부여 할 수 있다. 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다.
- 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다.
- 사용자는 몇번의 이동을 할 것인지를 입력할 수 있어야한다.
- 전진하는 조건은 0에서 9사이에서 무작위 값을 구한 후 무작위 값이 4이상일 경우이다.
- 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다.
- 우승자가 여러명일 경우 쉼표(,)를 이용하여 구분한다.
- 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생 시킨 후 애플리케이션 종료
- 경주할 자동차 이름(이름은 쉼표(,) 기준으로 구분) pobi,woni,jun
- 시도할 횟수 5
-
차수별 실행 결과
pobi : --
woni : ----
jun : ---
-
단독 우승자
최종 우승자 : pobi
- 공동 우승자
최종 우승자 : pobi, jun
- 실행결과 예시
경주할 자동차 이름을 입력하세요.(이름은 쉽표(,) 기준으로 구분)
pobi,woni,jun
시도 할 횟수는 몇회인가요?
5
실행 결과
- indent depth를 3이 넘지 않도록 구현, 2까지만 허용
- 3항 연산자 쓰지 않는다.
- 함수가 한 가지 일만 하도록 최대한 작게 만들어라
- Junit5 와 AssertJ를 이요하여 정리한 기능 목록이 정상 작동하는지 테스트 코드로 확인