선수로 산다, 때론 좋은 코치로
[golang] 숫자 야구 프로그램 본문
숫자 야구 프로그램
기본 구조 구현
- 임의 숫자 생성 - 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 사용
'개발 관련 > go' 카테고리의 다른 글
Windows10 WSL2 docker golang debug in vscode (0) | 2020.09.08 |
---|---|
[golang] 인코딩 변환하기(euc-kr > utf-8) (0) | 2018.02.20 |
[golang] 엘라스틱서치로 우리은행 거래내역 분석하기-엑셀파일 읽기 (0) | 2018.02.19 |
[golang] A Tour of Go - 61 연습 문제 (0) | 2018.02.13 |
[golang] A Tour of Go - 60 연습 문제 (0) | 2018.02.13 |
Comments