brunch

You can make anything
by writing

C.S.Lewis

[코딩삼국지] #2 Province 코딩

들어가는 글: 장수(General)에 이어 지방(Province)도 코딩해봅니다 :-) 


1. 지방? 


삼국지3을 기준으로 한 지방(Province)는 다음과 같은 정보를 포함합니다. 



크게 기본 정보로는 { 번호, 지방 이름, 군주, 태수, 군사} 와 {인구, 금, 군량}이 있고 

그외 군사 정보로는 { 병사, 장수 } 와 

그외 개발 정보로는 { 민충, 개발, 경작, 치수, 관개, 상업, 세율 } 이 있습니다. 


2. Province 클래스 코딩 


위의 내용을 포함하는 Province 클래스를 코딩하였습니다. 

파일: coding.samguk.Province.java 

깃헙 링크: https://github.com/yudong80/coding-samguk/blob/main/V0/src/coding/samguk/Province.java 



단순히 멤버 변수를 설정하는 코드 정도입니다. 


여기에서 { 병사 , 장수 } 의 경우 Province의 단독 속성이라기 보다는 

Province와 General 이 관계를 맺어야 합니다. 

그 관계를 통해 병사 수와 장수의 명수를 알 수 있습니다. 


3. 간단한 테스트 


앞서 보았던 11번 낙양 땅을 생성하고 일부의 정보를 출력합니다. 

클래스: coding.samguk.App.java 

링크: https://github.com/yudong80/coding-samguk/blob/main/V0/src/coding/samguk/App.java 


추가된 내용만 표시합니다. 


여기에서도 Province의 인스턴스인 낙양이 

General의 인스턴스인 조조와 순욱과 관계를 맺었습니다. 

각각 {군주, 태수, 군사} 의 멤버 변수에 해당합니다. 


testCreate낙양() 메서드를 포함하여 App 클래스를 실행 결과는 다음과 같습니다. 


vs code에서 App 클래스를 실행할 때는 

App 클래스로 이동하여 단축키 (Ctrl + F5)를 누르시면 됩니다. 


4. 시나리오 

정보의 통일성을 위해 저는 삼국지3의 2번 시나리오인 

(2, 난세 , 군웅 전토를 할거 - 194년)을 기준으로 합니다. 

이때가 등장하는 영웅도 많고 실제로 게임을 하면 재미있지요. 다들 초창기라서요. 




오늘까지는 어렵지 않습니다. 

다른 것들도 차차 채워보도록 하겠습니다 :-) 


감사합니다. 

2021.8.16 

매거진의 이전글 [코딩삼국지] #1 환경 설정
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari