/java-racingcar-playground

자동차 경주 게임 미션을 위한 저장소

Primary LanguageJava


학습 효과를 높이기 위해 추천하는 미션 진행 방법


  1. 피드백 강의 전까지 미션 진행

피드백 강의 전까지 혼자 힘으로 미션 진행. 미션을 진행하면서 하나의 작업이 끝날 때 마다 add, commit 예를 들어 다음 숫자 야구 게임의 경우 0, 1, 2단계까지 구현을 완료한 후 push

mission baseball


  1. 피드백 앞 단계까지 미션 구현을 완료한 후 피드백 강의를 학습한다.

  1. Git 브랜치를 master 또는 main으로 변경한 후 피드백을 반영하기 위한 새로운 브랜치를 생성한 후 처음부터 다시 미션 구현을 도전한다.
git branch -a // 모든 로컬 브랜치 확인
git checkout master // 기본 브랜치가 master인 경우
git checkout main // 기본 브랜치가 main인 경우

git checkout -b 브랜치이름
ex) git checkout -b apply-feedback

String Calculator

요구사항 정리

목록

  • 쉼표 또는 콜론을 구분자로 가지는 문자열을 split 함
  • '//' 와 '\n' 사이의 문자를 커스텀 구분자로 사용하여 split하기
  • split한 문자열을 숫자로 변환해 덧셈하기
  • 문자열 계산기에 숫자 이외의 값 또는 음수를 전달하는 경우 RuntimeException throw
  • 빈문자열 또는 null 값을 입력할 경우 0반환
  • 숫자 하나만 입력하면 숫자 반환

유의 사항

  • indent 1단계
  • 메소드 크기를 10라인 내로
  • else 없이

Racing game

요구사항 정리

목록

  • 각자동차의 이름을 부여할 수 있다.
    • 자동차 이름은 5자를 초과할 수 없다.
  • 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다.
  • 자동차 이름은 쉼표를 기준으로 구분한다.
  • 전진하는 조건은 0에서 9사이에서 random 값을 구한다.
    • random 값이 4이상일 경우이다.
  • 자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다.
    • 우승자는 한명 이상일 수 있다.

힌트

  • 자동차의 이름과 위치정보를 가지는 Car 객체를 추가해 구현한다.

유의 사항

  • 자바 코드 컨벤션은 구글 컨벤션 < 한번 읽어야 겠다.
  • 2까지 indent 허용하기
  • else 안쓰기
  • 3항 연산자 쓰지 않기
  • 함수는 한가지 일만 하도록 최대한 작게 만들기
  • 모든 기능 TDD하기
  • 모든 원시 값과 문자열 포장하기
  • 일급 컬렉션 사용하기

설계

class

  • Car
  • RacingGame