diff --git "a/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Daewoole.java" "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Daewoole.java" index 40d4298..c2355cb 100644 --- "a/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Daewoole.java" +++ "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Daewoole.java" @@ -1,5 +1,50 @@ package com.example.maddaewoole; +import static com.example.maddaewoole.Jpark2.MENT1; +import static com.example.maddaewoole.Jpark2.MENT2; +import static com.example.maddaewoole.Jpark2.MENT3; + +import java.util.HashMap; +import java.util.Map; + public class Daewoole { + private static final int ANGER_LIMIT_MIN = 80; + private static final int ANGER_LIMIT_MAX = 121; + private static final int MENT1_ANGER_MIN = 0; + private static final int MENT1_ANGER_MAX = 21; + private static final int MENT2_ANGER_MIN = 10; + private static final int MENT2_ANGER_MAX = 31; + private static final int MENT3_ANGER_MIN = 30; + private static final int MENT3_ANGER_MAX = 51; + + private final int angerLimit; + private final Map angerMap; + private int angerLevel; + + public Daewoole() { + angerLevel = 0; + angerLimit = Utils.getRandomNumber(ANGER_LIMIT_MIN, ANGER_LIMIT_MAX); + angerMap = new HashMap<>(); + angerMap.put(MENT1, Utils.getRandomNumber(MENT1_ANGER_MIN, MENT1_ANGER_MAX)); + angerMap.put(MENT2, Utils.getRandomNumber(MENT2_ANGER_MIN, MENT2_ANGER_MAX)); + angerMap.put(MENT3, Utils.getRandomNumber(MENT3_ANGER_MIN, MENT3_ANGER_MAX)); + } + + public int provoked(String ment) { + if (ment.equals(MENT1) || ment.equals(MENT2) || ment.equals(MENT3)) { + angerLevel += angerMap.get(ment); + return angerMap.get(ment); + } + System.out.println(ment + " 이라는 도발 멘트는 없습니다"); + return 0; + } + + public boolean isOverAngerLimit() { + return this.angerLevel >= this.angerLimit; + } + + public int getAngerLevel() { + return this.angerLevel; + } } diff --git "a/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Jpark2.java" "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Jpark2.java" index a786814..b4acc1a 100644 --- "a/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Jpark2.java" +++ "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Jpark2.java" @@ -1,5 +1,23 @@ package com.example.maddaewoole; +import java.util.ArrayList; +import java.util.List; + public class Jpark2 { + static final String MENT1 = "당신의 지각비, 회식비로 대체되었다"; + static final String MENT2 = "코딩 그렇게 하는거 아닌데"; + static final String MENT3 = "오늘 저녁은 감탄계"; + + private final List provocations = new ArrayList<>(); + + public Jpark2() { + provocations.add(MENT1); + provocations.add(MENT2); + provocations.add(MENT3); + } + + public String provocate() { + return provocations.get(Utils.getRandomNumber(0, provocations.size())); + } } diff --git "a/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Main.java" "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Main.java" index b8d6ddd..acfd340 100644 --- "a/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Main.java" +++ "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Main.java" @@ -1,8 +1,20 @@ package com.example.maddaewoole; +import static com.example.maddaewoole.Utils.printDaewoolePunchedJpark2; +import static com.example.maddaewoole.Utils.printJpark2ProvokeDaewoole; + public class Main { public static void main(String[] args) { - + Jpark2 jpark2 = new Jpark2(); + Daewoole daewoole = new Daewoole(); + int cnt = 0; + while (!daewoole.isOverAngerLimit()) { + String ment = jpark2.provocate(); + int anger = daewoole.provoked(ment); + printJpark2ProvokeDaewoole(ment, anger, daewoole.getAngerLevel()); + cnt++; + } + printDaewoolePunchedJpark2(cnt); } } diff --git "a/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Utils.java" "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Utils.java" new file mode 100644 index 0000000..89756d4 --- /dev/null +++ "b/v1/backend/JAVA_LV_0_\354\236\274\353\257\274_\355\216\200\354\271\230/src/main/java/com/example/maddaewoole/Utils.java" @@ -0,0 +1,22 @@ +package com.example.maddaewoole; + +import java.util.Random; +import java.util.concurrent.ThreadLocalRandom; + +public class Utils { + + public static int getRandomNumber(int min, int max) { + Random random = ThreadLocalRandom.current(); + return random.nextInt(min, max); + } + + public static void printJpark2ProvokeDaewoole(String ment, int anger, int daewooleAngerLevel) { + System.out.printf("지원은 '%s'를 시전하여 대욱의 분노를 %d 증가시켰다.\n현재 대욱의 분노 수치 : %d\n\n", ment, + anger, + daewooleAngerLevel); + } + + public static void printDaewoolePunchedJpark2(int provokedCnt) { + System.out.printf("참지 못한 대욱은 결국 지원에게 잼민 펀치를 날렸다.\n대욱을 도발한 횟수 : %d회\n", provokedCnt); + } +}