일반 야구와는 다른 규칙을 가지고 있는 게임으로서, 그 진행 방식은 아래와 같다.
- 게임 시작/게임 종료 메뉴를 사용자에게 입력받는다.
- 게임 시작을 선택했을 경우 컴퓨터가 1~9 까지의 중복되지 않은 3개의 난수를 생성한다.
- 이후 사용자가 정답을 맞추기 위해 중복되지 않은 숫자 3개를 공백(" ")으로 구분하여 입력한다.
- 만약 컴퓨터의 숫자와 사용자의 숫자들이 순서까지 일치한다면 그 갯수만큼 strike,
- 만약 컴퓨터의 숫자와 사용자의 숫자 중 순서는 다르지만 일치하는 것이 있다면 그 갯수만큼 ball,
- 해당되지 않는다면 집계되지 않는다.
- 사용자에게는 한 번의 게임 당 9번의 기회가 주어지며, 주어진 기회를 모두 소모하기 전에 3 strike를 달성하면 승리하는 게임이다. (ex: [1, 4, 2] 와 [1, 4, 2], 값과 순서까지 일치하므로 3 strike이다.)
- 게임이 끝난 후 게임 시작/게임 종료 메뉴가 한번 더 출력되며, 게임을 계속할지 그만할지를 선택 할 수 있다.
- 순서도(Flow Chart)
- 함수 목록 & 각 함수 기능
- 실제 게임 화면
| 이름 | 기능 |
|---|---|
| startGame() | 시도 기회를 초기화하고 아래의 함수들을 실행해 결과값을 받은 후 게임 결과를 처리하는 게임의 주축을 담당하는 함수이다. |
| inputMenu() | 사용자에게 메뉴를 보여주고 입력받으며, 1~2 이외의 숫자나 문자의 입력을 막아주는 유효성 검사까지 겸하는 함수이다. |
| getRandomNumbers() | 중복되지 않은 세 개의 난수를 생성해 반환하는 함수로, 컴퓨터의 수를 생성하는데 사용된다. |
| getUserNumbers() | 사용자가 입력한 문자열을 공백을 기준으로 쪼갠 후 정수형 배열로 변환하여 반환하는 함수이다. |
| compare() | 컴퓨터가 생성한 세 난수와 사용자가 입력한 세 수를 비교하여 승패를 가리고 win/lose 로 결과를 문자열 형태로 반환하는 함수이다. |
- 사용자 메뉴 출력
- 사용자 메뉴에서 잘못된 입력 시 출력
- 사용자 숫자 입력 중 잘못된 입력과 올바른 입력 시 출력
- 3 strike를 달성했을 시 출력




