건널 수 있는 다리를 생성하고, 플레이어가 다리를 건너는 게임을 구현한다.
-
다리 건너기 게임을 시작합니다.를 출력한다.
- 다리의 길이를 입력한다.
-
다리의 길이를 입력해주세요.를 출력한다. - 다리의 길이를 입력받는다.
- 빈 문자열이 아님을 검증한다.
- 숫자 입력임을 검증한다.
- 3 이상 20이하임을 검증한다.
-
- 다리를 생성한다.
- 다리의 길이만큼 0과 1 중 무작위 값을 생성한다.
- 0인 경우 아래 칸, 1인 경우 위 칸을 건널 수 있는 칸으로 저장한다.
-
이동할 칸을 선택해주세요. (위: U, 아래: D)를 출력한다. - 플레이어가 이동할 칸을 입력한다.
- 빈 문자열이 아님을 검증한다.
- U 혹은 D의 입력임을 검증한다.
- 플레이어가 이동한 칸이 이동할 수 있는 칸인지 검사한다.
- 이동할 수 있는 칸을 선택한 경우 O를 표시한다.
- 모든 다리를 이동한 경우 결과를 반환한다.
- 이동할 수 없는 칸을 선택한 경우
- 재시도 혹은 종료 여부를 선택한다.
- 종료를 선택한 경우 결과를 반환한다.
- 이동할 수 있는 칸을 선택한 경우 O를 표시한다.
-
최종 게임 결과를 출력한다. - 최종적으로 만들어진 다리의 상태를 출력한다.
-
게임 성공 여부: 성공와 같이 게임 성공 여부를 출력한다. -
총 시도한 횟수: 2와 같이 총 시도한 횟수를 출력한다.
-
게임을 다시 시도할지 여부를 입력해주세요. (재시도: R, 종료: Q)를 출력한다. - 플레이어는 재시도 혹은 종료 여부를 입력한다.
- 빈 문자열이 아님을 검증한다.
- R 혹은 Q의 입력임을 검증한다.
- 재시도를 선택한 경우, 처음부터 다시 다리를 이동한다.
- 종료를 선택한 경우, 게임을 종료한다.