/typescript-racing-car

타입스크립트로 구현하는 자동차 경주 게임

Primary LanguageTypeScript

Typescript Racing Car

기능 목록

  • 경주할 자동차의 이름을 입력받는다
    • 입력받은 이름을 쉼표 단위로 구분한다
    • [예외] 이름이 5자 초과일 경우
    • [예외] 이름이 공백인 경우
    • [예외] 이름이 중복인 경우
경주할 자동차 이름을 입력하세요(이름은 쉼표(,)를 기준으로 구분).
pobi,crong,honu
  • 시도할 횟수를 입력받는다
    • [예외] 숫자가 아닌 값
    • [예외] 음수인 값
시도할 회수는 몇회인가요?
5
  • 각 자동차에 0 이상 9 이하의 난수를 부여한다
  • 난수가 4 이상일 경우 전진한다
  • 모든 자동차가 전진이 끝나면 결과를 출력한다
실행 결과
pobi : -
crong : -
honu : -
  • 위 과정을 시도횟수만큼 반복한다
  • 경주가 끝나면 우승자를 도출한다
    • 가장 많이 전진한 차가 우승한다
    • 우승자는 2명 이상일 수 있다
  • 우승자를 출력한다
pobi, honu가 최종 우승했습니다.

도메인 설계

Car

  • 이름을 가진다
    • 공백 안된다
    • 5자 이하여야 한다
  • 전진할 수 있다

Moving Strategy

  • 자동차의 이동 조건을 판단한다
    • 기본 조건은 0~9의 난수를 생성한다
    • 생성된 난수가 4 이상이면 통과한다

Judge == Winning Strategy

  • 가장 많이 전진한 차를 우승자로 판단한다

Game

  • 반복 실행시킨다

Presentation

입력

  • 자동차 이름 목록을 입력받을 수 있다
  • 게임 실행 횟수를 입력받을 수 있다

출력

  • 각 게임의 실행 결과를 출력할 수 있다
  • 최종 우승자 목록을 출력할 수 있다