저는 Go에서 언어를 배우기위한 간단한 프로그램을 작성하고 있습니다. 이 프로그램은 게임 플레이어입니다. exec.Command
은 텍스트 기반 게임이며 StdinPipe
/StdoutPipe
을 통해 통신합니다. 어떤 사람들을 속여서 많은 온라인 문서를 읽은 후 나는 해골을 작동시킬 수있었습니다. Hello World와 같은 것으로, 양방향 통신을 구축하고 프로그램 종료와 같은 오류를 처리 할 수 있습니다.Going state in Go
이제 실제 게임중인 AI 코드를 작성하려고합니다. 내 목적은 언어를 배우는 것이므로 스타일에 매우 조심해야합니다. Go에 C (또는 다른 언어)를 쓰고 싶지는 않습니다.
프로그램에서 분명한 분업 (한 번 설정이 완료되면)은 두 부분으로 나뉩니다. 먼저 프로그램은 현재 상태를보고 게임에 어떤 명령을 내야하는지 결정합니다. 둘째로, 프로그램은 반환 된 데이터를보고 이에 따라 상태를 업데이트합니다. (예, 간단한 게임입니다. 입력을 기다렸다가 응답 할 때 타이밍에 문제가 없습니다.)
이 상태 정보를 어디로 보내야할지 모르겠습니다. 모든 것을 전역 영역으로 덤핑하는 것은 잘못된 것처럼 느껴지며 대규모 싱글 톤 객체를 만드는 것은 더욱 악화됩니다 (특히 Go는 특히 OO가 아닙니다). 어쨌든 함수를 전달하고 20 개 이상의 변수를 반환하지 않으려합니다.
일반적인 조언은 괜찮지 만 Go에 대해 무엇이 관용적인지에 가장 관심이 있습니다. 요청에 따라 코드를 공유 할 수 있지만 도움이 될 것이라고 생각하지 않습니다.
답변 해 주셔서 감사합니다. 네가 괜찮 으면 내일까지 답변을 받아 들일 때까지 기다릴 것이다. 나는 아직도 어떤 해결책이 최선인지 궁금해하고있다. (당분간 +1) – Charles