Code Monkey home page Code Monkey logo

baseball's Introduction

숫자 야구 게임

진행 방법

  • 숫자 야구 게임 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 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
  • 전체 게임 흐름을 담당한다.
    • 정답을 맞출때까지 게임이 진행된다
    • 정답을 맞추면 재시작 여부를 묻고 그에 따라 행동한다.

baseball's People

Contributors

skarltjr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.