brunch

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

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


1. 지방?


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


20210817-2.png
20210817-3.png


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

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

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


2. Province 클래스 코딩


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

파일: coding.samguk.Province.java

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


20210817-7.png


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


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

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

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


3. 간단한 테스트


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

클래스: coding.samguk.App.java

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


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

20210817-8.png


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

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

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


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

20210817-9.png


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

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


4. 시나리오

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

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

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


20210817-1.png



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

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


감사합니다.

2021.8.16

keyword
매거진의 이전글[코딩삼국지] #1 환경 설정