Lab - Baseball Game (baseball_game)

Copyright 2017 © document created by [email protected]

Introduction

PDF 파일 다운로드

수많은 난간. 자그마치 6개의 Lab을 끝내고 여기까지 온 여러분들을 환영합니다. 이 Lab은 사상최초로 어렵습니다. 이때까지 어려운 Lab은 없었습니다. 단지 조금 시간이 오래 걸리거나 약간 복잡하게 느껴졌을 뿐이였습니다. 근데 이번엔 어렵습니다. 정말이에요. 믿어주세요. 하지만 어려운 만큼 가장 여러분에게 도움이 많이 되는 숙제라고 믿습니다. 참고로 저희대학 2014년 수강생 설문조사에서도 가장 어렵지만 가장 도움이 많이된 숙제로 꼽히기도 한 숙제입니다. 본 Baseball Game Lab은 간단한 숫자 맞추기 게임입니다. 컴퓨터는 3자리의 Random Number를 생성하고 사용자는 숫자를 입력하면, 그 세자리 숫자가 Random Number와 얼마나 비슷한지 Strike과 Ball로 알려주는 게임입니다. 간단한 규칙은 다음과 같습니다.

이 때 컴퓨터가 생성하는 세 자리 숫자는 반드시 같은 숫자를 한 개만 가지고 있어야 합니다. 예를 들면 332, 474, 555 처럼 같은 숫자가 2개 이상있는 숫자는 게임에서 제외되어야 합니다. 실제 볼 스트라이크 판정 예제는 다음과 같습니다.

Untitled

어떻게 할지 걱정될 수 도 있지만, 꽤 많은 힌트와 함께 여러분들을 바른 길로 인도해주는 함수를 제시할 것 입니다. 너무 걱정말고 시작해 보시기 바랍니다.

Baseball Game Overview

단순히 Strike와 볼판정만 해주면 좋겠지만 본 Lab에서는 처음으로 사용자의 입력에 대한 오류 처리를 실시합니다. 여러분들도 가끔 웹 사이트에 접속할 때 잘못된 입력을 바로 잡아주는 프로그램을 본적이 있을 것 입니다. 예를 들면, 이메일 주소를 입력할 때 “@”를 쓰지 않았다던가, 비밀번호 입력시 숫자를 같이 쓰지 않았다던가 할 경우, 자동으로 프로그램이 오류 입력임을 지정하고 재입력을 하게해 줄 것 입니다. 본 프로그램도 마찬가지로 사용자가 아래와 같이 잘못 입력했을 경우, “Wrong Input” 이라는 메세지를 남기며 오류 처리를 해 줘야 합니다.

또한 사용자가 숫자를 정확히 입력하여 “3 Strikes” 나왔을 경우, 사용자가에게 한번 더 게임을 할 의향이 있는지 물어보고 의향이 있을 경우 다시 게임을 실행 시키게 됩니다. 이 때 아래와 같은 조건으로 게임을 재시작을 결정합니다.