선수로 산다, 때론 좋은 코치로

[golang] 숫자 야구 프로그램 본문

개발 관련/go

[golang] 숫자 야구 프로그램

godsman 2020. 9. 7. 01:01

숫자 야구 프로그램

기본 구조 구현

  • 임의 숫자 생성 - 147 로 지정
  • 사용자 숫자 입력 - 123 -> 456 -> 789 지정
  • 볼카운트 판단 - 1 스트라이크 0 볼 -> 0:1 -> 0:1

함수 구현

  • MakeComputerNumber() -> 임의의 숫자 생성
  • InputUserNumber() -> 사용자 입력
  • ComputeBallCount() -> 볼카운트 계산
  • WriteScore() -> 볼카운트 결과 저장

프로그램 구현 완성

  • 맞을 때까지 사용자 입력 받기
  • 숫자는 세자리 숫자여야 함
  • 숫자는 중복된 수를 사용하지 않아야 함

기록 - text 파일

일련번호, 아이디, 시작시간, 진행시간, 숫자, 횟수

  • score.txt
  • 일련번호, 아이디, 시작시간, 종료시간, 숫자, 횟수 -> 종료시간을 진행시간으로 변경
    1, shyang, 2020-09-06 11:08:01, 10.1, 158, 8

JSON 포맷이라면

{
  "일련번호": 1,
  "이름": "shyang",
  "시작시간": 2020-09-06 11:08:01,
  "종료시간": 2020-09-06 11:18:01,
  "숫자": 158,
  "횟수": 8
}

소스 - 깃헙

 

godsman-yang/numberbaseball

숫자 야구. Contribute to godsman-yang/numberbaseball development by creating an account on GitHub.

github.com

 

참고

JSON 이란 무엇인가?

  • javascript object notation - 자바스크립트에서 객체 기술방법

  • 시스템과 시스템에서 자료를 공유하려면

  • 두 시스템을 같은 사람이 개발했다면, 순서를 알면 가능

    • 예, 국어, 수학, 영어 점수 공유
    • 100, 95, 90 -> 아, 국어는 100점, 수학은 95점, 영어는 90점 이라고 생각
  • 다른 사람이 개발하면

    • 100, 95, 90 -> 이게 뭐지? 혹시 과목을 알고 있다고 해도 무슨 과목이 몇 점이지 알 수 없음
  • 국어는 100점, 수학은 95점, 영어는 90점 이렇게 전달한다.

    • 이렇게 전달하는 방식을 표준화 했다. -> XML 이었다.

XML 포맷

https://www.w3schools.com/xml/xml_examples.asp

<점수>
<국어>Tove</국어>
<수학>Jani</수학>
<영어>Reminder</영어>
</점수>
  • HTML이 XML과 거의 비슷 -> 표준 만드는 방식과 유사

JSON 포맷

{
  "점수": {
    "국어": 100,
    "영어": 95,
    "수학": 90
  }
}

JSON 포맷 등장 이유

  • 짧다.
  • javascript에서는 객체로 인식된다.
  • 프로그램에서 많이 사용되니까 사실상 표준 -> 모든 언어가 쉽게 지원

파이썬에서 JSON 사용

 

 

Comments