Skip to content

skarltjr/baseball

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

숫자 야구 게임

진행 방법

  • 숫자 야구 게임 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 과제를 제출한다.

이 프로그램은 무엇인가?

컴퓨터가 선정한 중복이없는 3자리수를 맞추는 게임.

요구 사항

  1. 유저와 상대방이 존재한다. 여기서 상대방은 컴퓨터가 수행한다.
  2. 사용되는 숫자는 1~9로 컴퓨터는 중복되는 수가 없는 3자리 숫자를 랜덤 선택한다.
  3. 유저는 예측되는 3자리 수를 입력하고 이에 대한 결과를 출력받는다.
  4. 같은 수, 같은 자리까지 맞추면 strike / 같은 수, 다른 자리의 경우 ball / 같은 수가 하나도 없다면 nothing이라는 힌트 제공하며 2,3번 과정을 반복한다.
  5. 숫자를 맞추면 게임을 종료되며 새 게임 시작 or 완전 종료 선택할 수 있다.
무엇을, 누가 해야할지 고려하여 책임을 분리하자.
ㄱㄱㄱ

기능 목록

  1. InputView
  • 사용자의 입력을 전달받는 화면역할
    • 예상 숫자를 입력받는다
    • 게임 재시작 여부를 입력받는다
  1. Input
  • 입력 결과물을 이해하기 쉬운 이름을 가진 하나의 객체로 다룬다.
  • 사용자가 입력한 예상 숫자를 str->int로 변환하여 보관한다
  • 사용자의 입력을 검증한다.
    • 입력 숫자 validation
    • 재시작 여부 체크
  1. TargetGenerator
  • 상대방에 해당하는 컴퓨터의 숫자를 생성한다.
    • 1~9까지 중복없는 3자리수를 생성한다
  1. Target
  • 생성된 결과물을 이해하기 쉬운 이름을 가진 하나의 객체로 다룬다.
  • 생성된 상대방 숫자를 저장한다.
  1. ResultDiscriminator
  • 사용자의 입력을 정답과 비교한다.
    • 같은 숫자 같은 위치 = strike
    • 같은 숫자 다른 위치 = ball
    • 같은 숫자가 없다면 = nothing
  1. Result
  • 판단된 결과를 다룬다.
  1. BaseballGame
  • 전체 게임 흐름을 담당한다.
    • 정답을 맞출때까지 게임이 진행된다
    • 정답을 맞추면 재시작 여부를 묻고 그에 따라 행동한다.

Releases

No releases published

Packages

No packages published

Languages