brunch

You can make anything
by writing

C.S.Lewis

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

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


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


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

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

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


> 장수도 정의해보고 

> 훈련도 해보고 

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

> 장수 이동도 해보고 

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


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

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

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


1. 개발 환경 


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

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


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


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

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


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


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


2. 자바 프로젝트 생성 


vs code를 실행한 후에 

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

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

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


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

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


3. General.java 코딩 


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

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


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

조홍
제갈량

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


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

파일: coding.samguk.General.java 

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

각 멤버 변수는 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 



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

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


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

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


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


즐거운 코딩하세요 :-) 

2021.8.16 


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


링크 

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






매거진의 이전글 [RxJava] #9 예외처리
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari