숫자 야구 게임은 두 명이 즐길 수 있는 추리 게임으로, 상대방이 설정한 3자리의 숫자를 맞히는 것이 목표입니다.
각 자리의 숫자와 위치가 모두 맞으면 '스트라이크', 숫자만 맞고 위치가 다르면 '볼'로 판정됩니다.
예를 들어, 상대방의 숫자가 123일 때 132를 추리하면 1스트라이크 2볼이 됩니다. 이러한 힌트를 활용하여 상대방의 숫자를 추리해 나가는 게임입니다.
- 0에서 9까지 서로 다른 임의의 수를 정하고 맞추기
- 정답은 랜덤으로 만들기
- 정답을 맞추기 위한 힌트를 제공하기
- 힌트 용어는 야구 용어인 스트라이크와 볼
- 같은 자리에 같은 숫자가 있는 경우 스트라이크 , 다른 자리에 숫자가 있는 경우 볼
- 올바르지 않은 입력에 대해 오류 문구 띄우기
- 3스트라이크일 때 게임 종료
- 맨 앞자리에 0이 오는 것은 불가능
- 프로그램 시작 시 안내문구 띄우기
환영합니다! 원하시는 번호를 입력해주세요
1. 게임 시작하기 2. 게임 기록 보기 3. 게임 종료하기- 1번의 경우 게임을 시작하기
- 2번의 경우 완료한 게임들에 대한 시도 횟수 보여주기
- 3번의 경우 게임 종료하기
- 1, 2, 3 이외의 입력 값에 대해서 오류 메세지 보여주기
main.swift가 있는 폴더입니다. 게임을 시작하는 코드가 작성되어 있습니다.
게임 진행을 위한 여러 클래스가 구현되어 있는 swift 파일들이 있는 폴더입니다.
- StrikeAndBall.swift : 스트라이크와 볼을 판정하는 클래스가 구현되어 있습니다.
- MakeAnswer.swift : 정답을 생성하는 클래스가 구현되어 있습니다.
- PlayGame.swift : 게임을 진행하고 기록을 확인하는 클래스가 구현되어 있습니다.
- ShowMessage.swift : 게임 진행 시 나오는 문구들을 모아놓은 클래스 입니다.
- Start.swift : 게임 시작 시 어떤 것을 실행할지 묻는 클래스가 구현되어 있습니다.
생성된 정답이나 입력한 입력 값이 형식에 맞는지 확인하는 CheckCorrectInput.swift가 구현되어 있는 폴더입니다.
-
[ADD] : 파일 추가
-
[RENAME] : 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
-
[REMOVE] : 파일을 삭제하는 작업만 수행한 경우
-
[FEAT] : 기능 추가
-
[DELETE] : 기능 삭제
-
[UPDATE] : 기능 수정
-
[FIX] : 버그 수정
-
[REFACTOR] : 리팩토링
-
[STYLE] : 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없음)
-
[DOCS] : 문서 (문서 추가(Add), 수정, 삭제)
-
[CHORE] : 기타 변경사항 (빌드 스크립트 수정, 에셋 추가 등)
-
[DESIGN] : 사용자 UI 디자인 변경
-
[HOTFIX] : 급하게 치명적인 버그를 고쳐야하는 경우
-
[COMMENT] : 필요한 주석 추가 및 변경
-
[TEST] : 테스트 추가, 테스트 리팩토링(프로덕션 코드 변경 X)