You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pull Request만 보내고 지원 플랫폼에서 과제를 제출하지 않으면 최종 제출하지 않은 것으로 처리되니 주의한다.
🚨 과제 제출 전 체크 리스트 - 0점 방지
기능 구현을 모두 정상적으로 했더라도 요구 사항에 명시된 출력값 형식을 지키지 않을 경우 0점으로 처리한다.
기능 구현을 완료한 뒤 아래 가이드에 따라 테스트를 실행했을 때 모든 테스트가 성공하는지 확인한다.
테스트가 실패할 경우 0점으로 처리되므로, 반드시 확인 후 제출한다.
테스트 실행 가이드
터미널에서 Mac 또는 Linux 사용자의 경우 ./gradlew clean test 명령을 실행하고,
Windows 사용자의 경우 gradlew.bat clean test 명령을 실행할 때 모든 테스트가 아래와 같이 통과하는지 확인한다.
BUILD SUCCESSFUL in 0s
🚀 기능 요구 사항
위아래 두 칸으로 이루어진 다리를 건너야 한다.
다리는 왼쪽에서 오른쪽으로 건너야 한다.
위아래 둘 중 하나의 칸만 건널 수 있다.
다리의 길이를 숫자로 입력 받고 생성한다.
다리를 생성할 때 위 칸과 아래 칸 중 건널 수 있는 칸은 Random 값을 이용해서 정한다.
위 칸을 건널 수 있는 경우 U, 아래 칸을 건널 수 있는 경우 D 값으로 나타낸다.
Random 값이 0인 경우 아래 칸, 1인 경우 위 칸이 건널 수 있는 칸이 된다.
다리가 생성되면 플레이어가 이동할 칸을 선택한다.
이동할 때 위 칸은 대문자 U, 아래 칸은 대문자 D를 입력한다.
이동한 칸을 건널 수 있다면 O로 표시한다. 건널 수 없다면 X로 표시한다.
다리를 끝까지 건너면 게임이 종료된다.
다리를 건너다 실패하면 게임을 재시작하거나 종료할 수 있다.
재시작해도 처음에 만든 다리로 재사용한다.
사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다.
Exception이 아닌 IllegalArgumentException, IllegalStateException 등과 같은 명확한 유형을 처리한다.
입출력 요구 사항
입력
자동으로 생성할 다리 길이를 입력 받는다. 3 이상 20 이하의 숫자를 입력할 수 있으며 올바른 값이 아니면 예외 처리한다.
3
매 라운드마다 플레이어가 이동할 칸을 입력 받는다. U(위 칸)와 D(아래 칸) 중 하나의 문자를 입력할 수 있으며 올바른 값이 아니면 예외 처리한다.
U
게임 재시작/종료 여부를 입력 받는다. R(재시작)과 Q(종료) 중 하나의 문자를 입력할 수 있으며 올바른 값이 아니면 예외 처리한다.
R
출력
게임 시작 문구
다리 건너기 게임을 시작합니다.
게임 종료 문구
최종 게임 결과
[ O | | ]
[ | O | O ]
게임 성공 여부: 성공
총 시도한 횟수: 2
사용자가 이동할 때마다 다리 건너기 결과의 출력 형식은 실행 결과 예시를 참고한다.
이동할 수 있는 칸을 선택한 경우 O 표시
이동할 수 없는 칸을 선택한 경우 X 표시
선택하지 않은 칸은 공백 한칸으로 표시
다리의 시작은 [, 다리의 끝은 ]으로 표시
다리 칸의 구분은 |(앞뒤 공백 포함) 문자열로 구분
현재까지 건넌 다리를 모두 출력
예외 상황 시 에러 문구를 출력해야 한다. 단, 에러 문구는 "[ERROR]"로 시작해야 한다.
[ERROR] 다리 길이는 3부터 20 사이의 숫자여야 한다.
실행 결과 예시
다리 건너기 게임을 시작합니다.
다리의 길이를 입력해주세요.
3
이동할 칸을 선택해주세요. (위: U, 아래: D)
U
[ O ]
[ ]
이동할 칸을 선택해주세요. (위: U, 아래: D)
D
[ O | ]
[ | X ]
게임을 다시 시도할지 여부를 입력해주세요. (재시도: R, 종료: Q)
R
이동할 칸을 선택해주세요. (위: U, 아래: D)
U
[ O ]
[ ]
이동할 칸을 선택해주세요. (위: U, 아래: D)
D
[ O | ]
[ | O ]
이동할 칸을 선택해주세요. (위: U, 아래: D)
D
[ O | | ]
[ | O | O ]
최종 게임 결과
[ O | | ]
[ | O | O ]
게임 성공 여부: 성공
총 시도한 횟수: 2
다리 건너기 게임을 시작합니다.
다리의 길이를 입력해주세요.
3
이동할 칸을 선택해주세요. (위: U, 아래: D)
U
[ O ]
[ ]
이동할 칸을 선택해주세요. (위: U, 아래: D)
D
[ O | ]
[ | X ]
게임을 다시 시도할지 여부를 입력해주세요. (재시도: R, 종료: Q)
Q
최종 게임 결과
[ O | ]
[ | X ]
게임 성공 여부: 실패
총 시도한 횟수: 1
🎯 프로그래밍 요구 사항
Kotlin 1.6.20에서 실행 가능해야 한다. Kotlin 1.6.20에서 정상적으로 동작하지 않을 경우 0점 처리한다.