Skip to content

Schro2109/ios-baseball

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ios-baseball(숫자 야구 프로젝트)

숫자야구란?

일반 야구와는 다른 규칙을 가지고 있는 게임으로서, 그 진행 방식은 아래와 같다.

  1. 게임 시작/게임 종료 메뉴를 사용자에게 입력받는다.
  2. 게임 시작을 선택했을 경우 컴퓨터가 1~9 까지의 중복되지 않은 3개의 난수를 생성한다.
  3. 이후 사용자가 정답을 맞추기 위해 중복되지 않은 숫자 3개를 공백(" ")으로 구분하여 입력한다.
  4. 만약 컴퓨터의 숫자와 사용자의 숫자들이 순서까지 일치한다면 그 갯수만큼 strike,
  5. 만약 컴퓨터의 숫자와 사용자의 숫자 중 순서는 다르지만 일치하는 것이 있다면 그 갯수만큼 ball,
  6. 해당되지 않는다면 집계되지 않는다.
  7. 사용자에게는 한 번의 게임 당 9번의 기회가 주어지며, 주어진 기회를 모두 소모하기 전에 3 strike를 달성하면 승리하는 게임이다. (ex: [1, 4, 2] 와 [1, 4, 2], 값과 순서까지 일치하므로 3 strike이다.)
  8. 게임이 끝난 후 게임 시작/게임 종료 메뉴가 한번 더 출력되며, 게임을 계속할지 그만할지를 선택 할 수 있다.

목차

  • 순서도(Flow Chart)
  • 함수 목록 & 각 함수 기능
  • 실제 게임 화면

순서도

CU-1주차 숫자야구 순서도 drawio

함수 목록 & 각 함수 기능

이름 기능
startGame() 시도 기회를 초기화하고 아래의 함수들을 실행해 결과값을 받은 후 게임 결과를 처리하는 게임의 주축을 담당하는 함수이다.
inputMenu() 사용자에게 메뉴를 보여주고 입력받으며, 1~2 이외의 숫자나 문자의 입력을 막아주는 유효성 검사까지 겸하는 함수이다.
getRandomNumbers() 중복되지 않은 세 개의 난수를 생성해 반환하는 함수로, 컴퓨터의 수를 생성하는데 사용된다.
getUserNumbers() 사용자가 입력한 문자열을 공백을 기준으로 쪼갠 후 정수형 배열로 변환하여 반환하는 함수이다.
compare() 컴퓨터가 생성한 세 난수와 사용자가 입력한 세 수를 비교하여 승패를 가리고 win/lose 로 결과를 문자열 형태로 반환하는 함수이다.

실제 게임 화면

  1. 사용자 메뉴 출력

스크린샷 2022-08-17 오전 12 13 54

  1. 사용자 메뉴에서 잘못된 입력 시 출력

스크린샷 2022-08-17 오전 12 14 07

  1. 사용자 숫자 입력 중 잘못된 입력과 올바른 입력 시 출력

스크린샷 2022-08-17 오전 12 14 55

  1. 3 strike를 달성했을 시 출력

스크린샷 2022-08-17 오전 12 15 37

About

숫자야구 프로젝트 저장소입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Swift 100.0%