Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-racingcar-precourse

🧮 # 자동차 경주 기능 요구 목록

📥 View

🖥️ 입력 InputView

  • 사용자로부터 자동차 이름 입력 받기
  • 사용자로부터 시도할 횟수 입력 받기

🖥️ 출력 OutputView

  • 사용자로부터 자동차 이름 입력 문구 출력{"경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)")}
  • 사용자로부터 시도 횟수 입력 문구 출력 {"시도할 횟수는 몇 회인가요?"}
  • 결과 출력
    • 차 위치 출력
    • 우승자 출력

🔍 Validator

🔍 검증기(Validator)

  • 간단 입력 검증
    • 자동차 이름 입력값이 비어있는지
    • 이동 횟수가 양수인 정수인지 검증

🧠 Controller

🧠 컨트롤러(GameController)

  • 게임 플레이
    • 입력값 Game에게 전달
    • 응답값 View에게 전달

🤖 Model

🎮 게임(GameService)

  • 게임 진행 로직
    • 입력 문자열 분리
    • 라운드별 진행
      • 자동차들 이동
      • 라운드 결과 기록
    • 최종 게임 결과 생성

🧾라운드 결과 관리(RoundResult)

  • 라운드 결과 출력 서식에 맞게 반환

🧾 게임 결과 관리(GameResult)

  • 우승자, 라운드 결과들 반환

🚗차(Car)

  • 자동차 객체 생성
    • 이름 유효성 검증(길이 5로 제한)
  • 자동차 이동
  • 위치 반환
  • 자동차 이름 반환

🚗차들(Cars)

  • 입력만큼 자동차 객체 생성
  • 자동차들 이동
  • 우승자 반환
    • 최대 이동 거리 판단
  • 자동차들 위치 반환

🔢RandomGenerator

  • 랜덤 값 생성
    • 범위 내 난수 생성

🚀 확장성

  • 우승자 조건이 바뀐다면?
    • 우승자는 한명이어야 한다면?
  • 자동차 움직이는 조건이 바뀐다면?
    • 랜덤숫자에 의해서가 아니라 어떠한 f(x)함수에 의해서 움직인다면?
    • 랜덤 숫자로 움직이는 것이 아니라 랜덤 숫자의 합으로 움직인다면?
  • 자동차 이름이 중복되면 안된다면?
  • 자동차 위치 표시가 -가 아니라 다른 형식으로 바뀐다면?

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages