본문 바로가기
비전공자코딩교실/JAVA

[비전공자코딩교실] 숫자 야구 게임 만들기(1)

by 세 미 콜 론 2021. 5. 31.
728x90
반응형

베이스볼 게임에 대해 알고 계신가요? 베이스볼 게임이란 0부터 9까지 있는 세 자리 숫자를 맞히는 게임입니다. 간단한 규칙은 아래와 같습니다.

1. 세 자리 숫자를 맞히면 정답, 각 자리에는 0부터 9까지의 랜덤한 숫자가 들어감. 숫자는 중복될 수 없음.
2. 10회 안에 맞혀야 함
3. 제출한 숫자가 위치까지 맞았을 경우 스트라이크(S), 숫자는 맞았는데 위치가 틀릴 경우 볼(B), 숫자가 없는 경우 아웃(O)으로 표시함.

아주 간단하기 때문에 자바 서버단 공부를 할 때 많이 짜는 소스코드이기도 합니다. 자 그렇다면 아래 문제에 의거하여 소스 코드 짜는 법을 익혀보도록 하겠습니다.

Q. 위 열거한 규칙대로 숫자 야구 게임을 할 수 있는 소스를 만드시오.

이런 문제가 있을 때, 생각보다 막막하다는 생각이 들 수 있습니다. 그렇기 때문에 우선 소스를 짜기 위한 구성을 먼저 하기로 합니다.

지난 시간에 메소드 별로 소스를 나눴던 것을 기억하시나요? 메소드는 기능별로 구분한다고 생각을 하면 됩니다. 따라서 오늘은 기능 구분을 먼저 하도록 하겠습니다. 숫자 야구 게임의 규칙을 읽어보고 기능을 우선 나눠보도록 하겠습니다. 기능 구분 시에는 이름(메소드명)도 함께 만들면 편리합니다.

1. 랜덤 숫자(문제) 만드는 기능 : makeNumber
2. 심판(숫자 맞는지 확인) : compare
3. 사용자에게 숫자만 입력받는 기능 : inputNumber
4. 사용자에게 결과 출력해주는 기능 : print

기능 구분이 완료 되었으면, 어떻게 구성하면 좋을지 순서를 짜봅니다. 이 순서라는 것은 플로우 차트라는 이름의 순서도로 표시하는 경우가 많지만, 어렵지 않은 기능이므로 간단하게 글로 표현해보겠습니다.

1. 랜덤 숫자(문제) 만들기
2. 사용자에게 숫자를 입력 받음
3. 입력받은 숫자의 심판 결과 확인
4-1. 정답일 경우 정답이라는 문구 출력 후 게임 종료
4-2. 정답이 아닐 경우 심판 결과 출력 후 2번으로 돌아감
4-3. 정답이 아니지만 10회차 도전이었을 경우 실패 문구 출력 후 게임 종료

간단하게 순서를 표시했습니다. 다음 시간에는 이 1, 2, 3, 4-1, 4-2, 4-3에 맞춰 소스코드를 짜보도록 하겠습니다. 

728x90
반응형

댓글