JAVA Console Game (8) 썸네일형 리스트형 JAVA 입문자 Text RPG 만들기 8일차 8일차 System.out.print("\n1.Fight\n2.AutoBattle\n3.Run\nCh : "); 테스트할 때 빨리 보기 위해 오토 배틀 시스템을 만들었어요. public String AutoBetter (String Lv){ Random rd = new Random(); int LV = Integer.parseInt(Lv); int count = 0; if(LV >= 10 && LV = 12 && LV = 14 && LV = 16) { count = 4; } while(true){ int Sk_Ch = rd.nextInt(c.. JAVA 입문자 Text RPG 만들기 7일차 7일차 public void ClassUp() throws IOException{ if(Integer.parseInt(List_P_M.Playerchoice.get(1)) >= 10 && List_P_M.Playerchoice.get(8).equals("Beginner")){ //직업 선택 ClassList ClassList = new ClassList(); ClassList.ClassList(); }else{ System.out.println("\nLack."); return; } } Choice 클래스에 새롭게 추가된 녀석입니다. 직업을 선택을 할 수 있게 해주는 기능을 가지고 있어요. import java.io.BufferedReader; import java.io.IOException; impor.. JAVA 입문자 Text RPG 만들기 6일차 6일차 import java.io.IOException; public class Start { public static void main(String[] args) throws IOException { Choice ch = new Choice(); ch.Choice_Start(); } } Main claas 간결하게 적고 나머지는 클래스로 만들어서 사용할생각이예요. import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; public class Choice { public Choice(){ } public voi.. JAVA 입문자 Text RPG 만들기 5일차 5일차 랜덤으로 돌리던 선택을 플레이어가 직접 선택에서 전투할 수 있도록 바꿨다. 1. Exp 기본 값은 25로 설정했다. 25 * 플레이어 레벨으로 계산해 레벨별 최대 경험치를 적용시켰다. 2. 몬스터를 잡고 얻은 경험치를 더해 최대 경험치와 같거나 크면 레벨 +1과 넘친 경험치를 return 한다. 3. 최대 경험치보다 작으면 몬스터를 잡고 얻은 경험치를 더한 값을 return 한다. 4. 자바에서 return값은 한 개만 가능함으로 ArrayList에 담아서 return 했다. 이제부터 상속시켜서 따로 만들 생각이다. 막일처럼 그냥 메인클래스에서 다하려 했지만 생각보다 너무 더럽다..ㅠ 1. ArrayList로 return 했기 때문에 ArrayList를 생성해 담아줬다. 2. 담은 값들을 기존 플.. JAVA 입문자 Text RPG 만들기 4일차 4일차 메모장에 적은 몬스터를 가져와 ArrayList에 담았다. 일단은 테스트 단계라 이름을 알파벳으로 했다. 모험하는 느낌이 나도록 지연 함수를 사용해봤다. 생각보다 나쁘지 않은 거 같다. 메소드 하나가 너무 길어지면 나중에 파악하기 힘들 거 같아서 전투 메소드를 따로 만들었다. 모험 메소드에서 return값으로 받아온 위치의 몬스터를 sqlit 해서 나눴다. 자동 전투를 생각해서 공격(1번) 방어(2번)를 랜덤으로 선택해 한쪽의 체력이 0이 될 때까지 싸우게 했다. 1. 공격 VS 공격 이면 둘 다 피해를 입는다. 2-1. 공격 VS 방어 면 방어보다 공격력이 높으면 공격력 - 방어력 한 값의 피해를 입는다. 2-2. 방어가 공격력보다 높으면 방어력 - 공격력 한 값의 피해를 입는다. 3. 둘다 방.. JAVA 입문자 Text RPG 만들기 3일차 3일차 종료할때 저장되는거는 쉽게 성공했다. FileWriter에서 true를 false로 바꾸게 되면 text의 값을 덮어버린다. 코드를 돌려보다 Integer.parseInt 로 값을 받았는데 문자열이 들어가면 오류가 났다. 쉽게 고칠거라 생각했는데 생각보다 애를 먹었다.. try catch를 사용해서 막았지만 뭔가 지저분해보여서 메소드로 따로 빼버렸다. 1. 숫자가 아닌 문자열이 들어가면 0을 반환한다. 2. 숫자가 들어왔지만 ArrayList의 사이즈보다 크면 0을 반환한다. 3. 숫자 0을 입력하면 번호를 보여주기위해 ArrayList의 사이즈+1한 값이기 때문에 다시 0을 반환한다. 4. 숫자가 들어와서 ArrayList의 사이즈보다 작거나 같으면 루프를 빠져나온다. 이방법을 생각하는데 꽤 오.. JAVA 입문자 Text RPG 만들기 2일차 2일 차 파일 읽어오는걸 두 번으로 늘렸다. 이유는 split 해서 이름만 보이게 하고 나머지는 ArrayList에 통채로 담아버렸다. 담은 ArrayList에서 선택한 플레이어를 split해서 이름 , 스탯 , 돈으로 나눠 출력했다. //다른 방법도 많지만 가장 빠르게 생각나는 방법으로 사용해봤다. //21-10-21 오늘 추가하면서 봤는데 error를 errer로 잘못 적어놨었다...바꿈.. 추가를 해야 하는데 딱히 떠오르는 게 없어 일단은 상태창이랑 모험만 넣어놨다. 상태창은 간단하게 만들었다. 처음부터 수치만 적지 말고 무슨 수치인지 적어놓을걸 그랬다. Main 메소드는 이렇게 바꿨다 딱히 추가된 건 별로 없다. 중간에 F3 = Main();으로 다시 실행하는 방법을 사용했는데 다른 방법도 있는지.. JAVA 입문자 Text RPG 만들기 1일차 1일차 처음 자바 배우기 시작할때 들었던 소리였는데 웬만하면 Main Class에는 최소한만 적고 각각 필요한 메소드를 만들어 가지고와 사용하라고 배웠던 기억이 났다. txt파일 사용방법은 https://qkrrudtjr954.github.io/java/2017/11/13/file-read.html 이곳을 참고해서 사용했다 1일차 끝 내일은 ArrayList에 정보를 담아서 사용하는 방법을 해볼 생각이다. 이전 1 다음