brunch

[코딩삼국지] #1 환경 설정

들어가는 글: 한동안 글쓰기를 쉬었었네요 / 오랜만에 새로운 기획으로 돌아왔습니다 :-)


0. 자바로 삼국지를 코딩해볼까?


게임을 만드는 것은 아니구요,

간단한 자바 코딩을 활용하여

삼국지 게임의 다양한 요소들을 실행해보려고 합니다.


> 장수도 정의해보고

> 훈련도 해보고

> 내정 (상업 개발, 개간, 치수, 군량사기, 군마사기, 군마 팔기 등)

> 장수 이동도 해보고

> 전쟁(?? 이건 얼마나 구현할 수 있을지 모르겠네요 ㅎ) 등등


앞으로 생각나는데로 코딩할 것이며 정리되면 깃헙에도 올릴 예정입니다.

순전히 흥미로(just for fun) 하는 것입니다.

깃헙 경로: https://github.com/yudong80/coding-samguk


1. 개발 환경


저는 요즘 핫한 vs code로 자바 코딩을 합니다.

vs code는 자바 뿐만 아니라 C++ , python, JS 등 다양한 환경에서 실무 개발자들이 활용하고 있습니다.


vs code는 이미 설치되어 있다고 가정하며 (윈도우 환경)을 기본으로 합니다.


20210816-4.png

vscode java로 검색을 하면 다음 페이지로 이동할 수 있습니다.

https://code.visualstudio.com/docs/languages/java


저는 JDK가 설치되어 있지 않은 PC에서 세팅했으며

20210816-5.png


Coding Pack for Java - Windows 를 설치했습니다. 알아서 JDK가 설치됩니다.


2. 자바 프로젝트 생성


vs code를 실행한 후에

단축키 (Ctrl + Shift + P) 를 눌러 명령창을 실행합니다.

20210816-6.png

여기에서 Create Java Project를 누르고 프로젝트 이름을 입력합니다.

저는 편의상 V0 (version 0)로 명명했습니다.


다음과 같이 프로젝트 창이 생성됩니다.

저는 이미 오늘 보여드릴 App.java 와 General.java를 만들어놓은 상태라 이 파일들이 보이네요.

20210816-7.png


3. General.java 코딩


오늘은 장수에 대해서 코딩을 해봅니다. 정말 간단한 내용입니다.

결과는 https://github.com/yudong80/coding-samguk/commit/a83173d2cbd4384a9a68a06a0e76333e39bfe435 에 올려놓았습니다.


먼저 장수를 정의해봅니다. 저는 편의상 조홍과 제갈량을 코딩해봤어요.

20210816-1.png 조홍
20210816-2.png 제갈량

이것을 자바로 코딩하면 어떻게 될까요? (크게 고민하지 않고 그대로 멤버 변수로 만들었습니다)


장수니까 General(장군)으로 명명하였습니다.

파일: coding.samguk.General.java

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

20210816-9.png

각 멤버 변수는 wiki 문서를 참고하였습니다. [1]


>> 맞습니다. 연령은 아직 표시하지 않았고 year 멤버 변수에 태어난 해를 기록합니다.

연령은 그 시대에 따라 변하게 되니까요. 즉, 계산되어야 하는 값입니다.


toString() 메서드는 @Override 하였으며 각 장수의 정보를 출력하고 있습니다. 앞으로 얼마든지 변경될 수 있습니다.


4. 장수 생성 및 정보 표시


앞서 생성한 General 클래스를 간단한 List에 넣어보고 그 내용을 출력합니다.

파일: coding.samguk.App.java

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


20210816-10.png


이 파일을 실행하면 다음과 같이 나옵니다. 단축키 (Ctrl + F5) 누르면 됩니다.

vs code도 정말 편리해졌네요.

20210816-11.png


좀 썰렁하지만 무언가 결과가 나오네요.

이렇게 흥미 위주로 앞으로 몇 개를 더 작성해볼 생각입니다.


> 다음은 각 땅(Province)를 코딩해보려고 합니다.


즐거운 코딩하세요 :-)

2021.8.16


ps. 앞으로 코딩하면 좋을 것들 댓글 남겨주시면 참고해서 더 만들어볼께요.


링크

[1] https://en.wikipedia.org/wiki/Romance_of_the_Three_Kingdoms_III:_Dragon_of_Destiny






keyword
매거진의 이전글[RxJava] #9 예외처리