Skip to content
This repository was archived by the owner on Mar 20, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java-Baseball-Game

Functional Requirements

  • 1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임입니다.
    • 같은 수가 같은 자리에 있으면 스트라이크
    • 다른 자리에 있으면
    • 같은 수가 전혀 없으면 낫싱이란 힌트를 얻습니다.
  • 힌트를 이용해서 먼저 상대방의 수를 맞추면 승리합니다.
  • 상대방의 역할은 컴퓨터가 합니다.
    • 컴퓨터는 1에서 9까지 서로 다른 임의의 수 3개를 선택합니다.
    • 플레이어는 컴퓨터가 생각한 3개의 숫자를 입력, 컴퓨터는 입력한 숫자에 대한 결과를 출력합니다.
    • 이 과정을 반복해 컴퓨터가 선택한 3개의 숫자를 모두 맞히면 게임이 종료됩니다.
  • 게임을 종료한 후 게임을 다시 시작하거나 완전히 종료할 수 있습니다.
  • 사용자가 잘못된 값을 입력할 경우 [ERROR]로 시작하는 메시지를 출력하고, 게임을 계속 진행할 수 있어야 합니다.

Programming Requirements

  • 자바 코드 컨벤션: https://naver.github.io/hackday-conventions-java/
  • indent depth가 3이 넘지 않도록 구현 (예를 들어 while문 안에 if문이 있으면 들여쓰기는 2임)
  • 자바 8에 추가된 Stream API를 사용하지 않고 구현 (단, 람다는 사용 가능)
  • else, switch/case 예약어를 쓰지 않음 (if 조건절에서 값을 return하는 방식으로 구현)
  • 메서드의 길이가 15라인을 넘어가지 않도록 구현 (한 가지 일만 잘 하도록 구현)
  • 도메인 로직에 단위 테스트를 구현 (단, UI(System.out, System.in, Scanner) 로직은 제외)
  • 핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 분리해 구현
  • MVC 패턴 기반으로 구현한 후 View, Controller를 제외한 Model에 대한 단위 테스트를 추가
  • JUnit5 기반 단위 테스트를 구현

Execution Results

숫자를 입력해주세요 : 123
1스트라이크 1볼
숫자를 입력해주세요 : 145
1볼
숫자를 입력해주세요 : 671
2볼
숫자를 입력해주세요 : 216
1스트라이크
숫자를 입력해주세요 : 713
3스트라이크
3개의 숫자를 모두 맞히셨습니다! 게임 끝
게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요.
1
숫자를 입력해주세요 : 123
1볼
...

License

  • MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages