From 6cc357937ff3a8d5c64901a3347a0561fe0332d8 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 10:42:28 +0900 Subject: [PATCH 01/20] =?UTF-8?q?docs:=20readme=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8d7e8aee..3b4e4d8f 100644 --- a/README.md +++ b/README.md @@ -1 +1,21 @@ -# java-baseball-precourse \ No newline at end of file +# java-baseball-precourse +기능요구사항 + +[힌트제시] +같은자리에 같은수 : 스트라이크 +다른자리 숫자가 같음 : 볼 +같은수 0 개 : 낫싱 + +[승리조건] +컴퓨터의 숫자 전체를 맞추면 승리 + +기능 목록 + +플레이어 클래스 +* 숫자입력받기 + +계산 클래스 +* 컴퓨터의 숫자 정하기 : 랜덤 값 +* 입력값과 컴퓨터값 비교 + * 비교결과로 힌트 제시 + * 일치할때 게임종료 및 게임 재시작 멘트 \ No newline at end of file From b2d930a0e1fb5eae847c3f62fda36e77c090ccf8 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 10:44:30 +0900 Subject: [PATCH 02/20] =?UTF-8?q?docs:=20readme=20=EC=9E=91=EC=84=B1=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b4e4d8f..2b6f9327 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,7 @@ * 컴퓨터의 숫자 정하기 : 랜덤 값 * 입력값과 컴퓨터값 비교 * 비교결과로 힌트 제시 - * 일치할때 게임종료 및 게임 재시작 멘트 \ No newline at end of file + * 일치할때 게임종료 및 게임 재시작 멘트 + +게임 실행 클래스 +* 게임을 실행한다 \ No newline at end of file From 1169844321c0efbbc4b433ac29e32082f2d20c4c Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 10:53:10 +0900 Subject: [PATCH 03/20] =?UTF-8?q?feat:=20Player=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4-=20=EA=B2=8C=EC=9E=84=ED=94=8C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A1=9C=EB=B6=80=ED=84=B0=20=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=EB=B0=9B=EB=8A=94=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/java/Player.java diff --git a/src/main/java/Player.java b/src/main/java/Player.java new file mode 100644 index 00000000..138ff903 --- /dev/null +++ b/src/main/java/Player.java @@ -0,0 +1,17 @@ +import java.util.List; +import java.util.Scanner; + +public class Player { + public int getNum(){ + System.out.println("숫자를 입력해 주세요 : "); + Scanner sc= new Scanner(System.in); + try { + int inputInt = sc.nextInt(); + return inputInt; + } + catch (IllegalArgumentException e){ + throw new IllegalArgumentException(e); + } + } + +} From cb227795cb8dc554873b8f4e1cdfc634d03b3132 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 10:58:31 +0900 Subject: [PATCH 04/20] =?UTF-8?q?fix:=20Player=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4-=20=EA=B2=8C=EC=9E=84=ED=94=8C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A1=9C=EB=B6=80=ED=84=B0=20=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=EB=B0=9B=EB=8A=94=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20getNum=EC=97=90=EC=84=9C=20=EC=9E=98=EB=AA=BB?= =?UTF-8?q?=EB=90=9C=EA=B0=92=20=EC=9E=85=EB=A0=A5=EB=B0=9B=EC=95=98?= =?UTF-8?q?=EC=9D=84=EA=B2=BD=EC=9A=B0=20=EC=98=A4=EB=A5=98=EB=B0=9C?= =?UTF-8?q?=EC=83=9D=EC=8B=9C=ED=82=A4=EB=8A=94=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index 138ff903..c4cf1987 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -7,10 +7,14 @@ public int getNum(){ Scanner sc= new Scanner(System.in); try { int inputInt = sc.nextInt(); + int length = (int)(Math.log10(inputInt)+1); + if (length !=3){ + throw new IllegalArgumentException(); + } return inputInt; } catch (IllegalArgumentException e){ - throw new IllegalArgumentException(e); + throw new IllegalArgumentException(); } } From 06ce0d9bf8499aa66c81f366c0186c2302efe6bf Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 11:05:37 +0900 Subject: [PATCH 05/20] =?UTF-8?q?fix:=20Player=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4-=20=EA=B2=8C=EC=9E=84=ED=94=8C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A1=9C=EB=B6=80=ED=84=B0=20=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=EB=B0=9B=EB=8A=94=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20getNum=EC=9D=98=20=EC=9E=85=EB=A0=A5=EA=B0=92=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index c4cf1987..fe105175 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -2,15 +2,22 @@ import java.util.Scanner; public class Player { - public int getNum(){ + public String getNum(){ System.out.println("숫자를 입력해 주세요 : "); Scanner sc= new Scanner(System.in); try { - int inputInt = sc.nextInt(); - int length = (int)(Math.log10(inputInt)+1); - if (length !=3){ + String inputInt = sc.nextLine(); + + if (inputInt.length() !=3){ throw new IllegalArgumentException(); } + + int a = inputInt.charAt(0); + int b = inputInt.charAt(1); + int c = inputInt.charAt(2); + + + return inputInt; } catch (IllegalArgumentException e){ From 0a326828ebf015cfa31cce4076e2bf7cdda3aa79 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 11:08:19 +0900 Subject: [PATCH 06/20] =?UTF-8?q?fix:=20Player=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4-=20=EA=B2=8C=EC=9E=84=ED=94=8C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A1=9C=EB=B6=80=ED=84=B0=20=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=EB=B0=9B=EB=8A=94=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20getNum=EC=9D=98=20=EC=9E=85=EB=A0=A5=EA=B0=92=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EB=B3=80=EA=B2=BD2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index fe105175..213cca3b 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -16,13 +16,19 @@ public String getNum(){ int b = inputInt.charAt(1); int c = inputInt.charAt(2); - - - return inputInt; + if (checkRange(a) & checkRange(b) & checkRange(c)) { + return inputInt; + } else { + throw new IllegalArgumentException(); + } } catch (IllegalArgumentException e){ throw new IllegalArgumentException(); } } + public boolean checkRange(int i){ + return (i >=0) & (i <9) ; + } + } From d8569f51e75ff5361c79692f62e7fc61ffc26524 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 11:17:12 +0900 Subject: [PATCH 07/20] =?UTF-8?q?fix:=20Player=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4-=20=EA=B2=8C=EC=9E=84=ED=94=8C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=EB=A1=9C=EB=B6=80=ED=84=B0=20=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=EB=B0=9B=EB=8A=94=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20getNum=EC=9D=98=20=EC=9E=85=EB=A0=A5=EA=B0=92=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EB=B3=80=EA=B2=BD3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index 213cca3b..23b6f22e 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -1,8 +1,10 @@ +import java.lang.reflect.Array; +import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Player { - public String getNum(){ + public List getNum(){ System.out.println("숫자를 입력해 주세요 : "); Scanner sc= new Scanner(System.in); try { @@ -12,23 +14,32 @@ public String getNum(){ throw new IllegalArgumentException(); } - int a = inputInt.charAt(0); - int b = inputInt.charAt(1); - int c = inputInt.charAt(2); + return makeListInt(inputInt); - if (checkRange(a) & checkRange(b) & checkRange(c)) { - return inputInt; - } else { - throw new IllegalArgumentException(); - } } catch (IllegalArgumentException e){ throw new IllegalArgumentException(); } } + public List makeListInt(String inputInt){ + List inputIntList = new ArrayList<>(); + + for(int i = 0; i<3;i++){ + int a = inputInt.charAt(i); + if (checkRange(a)) { + inputIntList.add(a); + } + } + return inputIntList; + } + public boolean checkRange(int i){ - return (i >=0) & (i <9) ; + if ((i >=0) & (i <9)) { + return true; + } else { + throw new IllegalArgumentException(); + } } } From 5eb1b80c1f9ae9f858c5d139d41a1fea6e6fe9a4 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 11:18:54 +0900 Subject: [PATCH 08/20] =?UTF-8?q?feat:=20Computer=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=20-=20=EC=BB=B4=ED=93=A8=ED=84=B0=EC=9D=98=20?= =?UTF-8?q?=EB=9E=9C=EB=8D=A4=EA=B0=92=203=EA=B0=9C=20=EC=84=A4=EC=A0=95?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Computer.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/Computer.java diff --git a/src/main/java/Computer.java b/src/main/java/Computer.java new file mode 100644 index 00000000..a0b0c4a3 --- /dev/null +++ b/src/main/java/Computer.java @@ -0,0 +1,15 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class Computer { + public List setComNum(){ + Random r = new Random(); + List comNum = new ArrayList<>(); + for (int i=0 ; i<3 ; i++) { + comNum.add(r.nextInt(1, 9)); + } + return comNum; + + } +} From 7836996a44c13c48eec383ae22330f9be347e09f Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 11:27:26 +0900 Subject: [PATCH 09/20] =?UTF-8?q?feat:=20Computer=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=20-=20=EC=BB=B4=ED=93=A8=ED=84=B0=EC=9D=98=20?= =?UTF-8?q?=EA=B0=92=EC=9D=84=20=EB=B9=84=EA=B5=90=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Computer.java | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/main/java/Computer.java b/src/main/java/Computer.java index a0b0c4a3..71d9b9fd 100644 --- a/src/main/java/Computer.java +++ b/src/main/java/Computer.java @@ -3,13 +3,42 @@ import java.util.Random; public class Computer { - public List setComNum(){ + public List setComNum() { Random r = new Random(); List comNum = new ArrayList<>(); - for (int i=0 ; i<3 ; i++) { + for (int i = 0; i < 3; i++) { comNum.add(r.nextInt(1, 9)); } return comNum; } + + public int[] compare(List a, List b) { + int strikeNum = 0; + int ballNum = 0; + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + strikeNum += isStrike(a.get(i), b.get(j), i, j); + ballNum += isBall(a.get(i), b.get(i), i, j); + } + } + return new int[]{strikeNum, ballNum}; + } + + public int isStrike(int aNum, int bNum, int aIdx, int bIdx) { + if ((aNum == bNum) && (aIdx == bIdx)) { + return 1; + } else { + return 0; + } + } + public int isBall(int aNum, int bNum,int aIdx,int bIdx){ + if ((aNum == bNum) && (aIdx!=bIdx)) { + return 1; + }else { + return 0; + } + } + + } From e157cf364a25267dc484bb1c916cdfdbf04679fc Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 11:36:45 +0900 Subject: [PATCH 10/20] =?UTF-8?q?fix:=20Computer=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=20-=20=EC=BB=B4=ED=93=A8=ED=84=B0=EC=9D=98=20?= =?UTF-8?q?=EA=B0=92=EC=9D=84=20=EB=B9=84=EA=B5=90=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=95=88=EB=82=B4=EB=A9=98?= =?UTF-8?q?=ED=8A=B8=20=EB=82=98=EC=98=A4=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Computer.java | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/Computer.java b/src/main/java/Computer.java index 71d9b9fd..7ef4610c 100644 --- a/src/main/java/Computer.java +++ b/src/main/java/Computer.java @@ -13,7 +13,7 @@ public List setComNum() { } - public int[] compare(List a, List b) { + public boolean compare(List a, List b) { int strikeNum = 0; int ballNum = 0; for (int i = 0; i < 3; i++) { @@ -22,7 +22,25 @@ public int[] compare(List a, List b) { ballNum += isBall(a.get(i), b.get(i), i, j); } } - return new int[]{strikeNum, ballNum}; + if (strikeNum ==3){ + System.out.println("3스트라이크"); + System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); + return true; + } else if(strikeNum !=0 && ballNum !=0){ + System.out.printf("%d볼 %d스트라이크",ballNum,strikeNum); + return false; + } else if(strikeNum ==0 && ballNum !=0){ + System.out.printf("%d볼",ballNum); + return false; + } else if(strikeNum !=0 && ballNum ==0){ + System.out.printf("%d스트라이크",strikeNum); + return false; + } else if(strikeNum ==0 && ballNum ==0){ + System.out.printf("낫싱"); + return false; + } else{ + return false; // 이부분 수정 필요 + } } public int isStrike(int aNum, int bNum, int aIdx, int bIdx) { From ce3bbafd9fecaa9be967157752aed28e9d1849e2 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 11:58:04 +0900 Subject: [PATCH 11/20] =?UTF-8?q?feat:=20=EA=B2=8C=EC=9E=84=EC=9D=84=20?= =?UTF-8?q?=EC=83=88=EB=A1=9C=EC=8B=9C=EC=9E=91=ED=95=A0=EC=A7=80=20?= =?UTF-8?q?=EB=A7=90=EC=A7=80=20=EC=82=AC=EC=9A=A9=EC=9E=90=EB=A1=9C?= =?UTF-8?q?=EB=B6=80=ED=84=B0=20=EC=9E=85=EB=A0=A5=EB=B0=9B=EB=8A=94=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/OneGameProgress.java | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/OneGameProgress.java diff --git a/src/main/java/OneGameProgress.java b/src/main/java/OneGameProgress.java new file mode 100644 index 00000000..0c00e559 --- /dev/null +++ b/src/main/java/OneGameProgress.java @@ -0,0 +1,26 @@ +import java.util.Scanner; + +public class OneGameProgress { + + + + public boolean gameRestart(){ + System.out.println("게임을 새로 시작하려면 1, 종료하려면 2를 입력하세요."); + Scanner sc = new Scanner(System.in); + try{ + int num = sc.nextInt(); + if (num ==1) { + return true; + } else if (num == 2) { + return false; + }else { + throw new IllegalArgumentException(); + } + + }catch (IllegalArgumentException e){ + throw e; + } + + + } +} From cc3657d9a3179ed37586ee3abc56e631b7a6bdad Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 12:02:47 +0900 Subject: [PATCH 12/20] =?UTF-8?q?feat:=20=EA=B2=8C=EC=9E=84=20=ED=95=9C?= =?UTF-8?q?=EA=B0=9C=EB=A5=BC=20=EC=A7=84=ED=96=89=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/OneGameProgress.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/OneGameProgress.java b/src/main/java/OneGameProgress.java index 0c00e559..97539bbe 100644 --- a/src/main/java/OneGameProgress.java +++ b/src/main/java/OneGameProgress.java @@ -1,7 +1,13 @@ +import java.util.List; import java.util.Scanner; public class OneGameProgress { - + public void oneGame(List comNum,Player player,Computer computer){ + boolean isStrike= false; + while (!isStrike) { + isStrike= computer.compare(comNum, player.getNum()); + } + } public boolean gameRestart(){ From 6c723691fe7338659382743aa01d63a6258ed267 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 12:03:26 +0900 Subject: [PATCH 13/20] =?UTF-8?q?feat:=20=EA=B2=8C=EC=9E=84=20=EC=A7=84?= =?UTF-8?q?=ED=96=89=ED=95=98=EB=8A=94=20application=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Application.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/main/java/Application.java diff --git a/src/main/java/Application.java b/src/main/java/Application.java new file mode 100644 index 00000000..73ccd0be --- /dev/null +++ b/src/main/java/Application.java @@ -0,0 +1,19 @@ +import java.util.List; + +public class Application { + public static void main(String[] args) { + Player pl = new Player(); + Computer com = new Computer(); + OneGameProgress oneGameProgress= new OneGameProgress(); + + boolean gameProgress = true; + + while (gameProgress) { + List comNums= com.setComNum(); + oneGameProgress.oneGame(comNums,pl,com); + gameProgress = oneGameProgress.gameRestart(); + } + + + } +} From 2a491aa94187c6dd6f7a7b9b626be3e0b7e68bb0 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 12:04:27 +0900 Subject: [PATCH 14/20] =?UTF-8?q?fix:=20=EC=82=AC=EC=9A=A9=EC=9E=90?= =?UTF-8?q?=EB=A1=9C=EB=B6=80=ED=84=B0=20=EC=88=AB=EC=9E=90=EB=A5=BC=20?= =?UTF-8?q?=EB=B0=9B=EB=8A=94=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index 23b6f22e..82524ba2 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -5,7 +5,7 @@ public class Player { public List getNum(){ - System.out.println("숫자를 입력해 주세요 : "); + System.out.print("숫자를 입력해 주세요 : "); Scanner sc= new Scanner(System.in); try { String inputInt = sc.nextLine(); From 19770a5191a5f4b8f7117a8b1e6c16907a849c0c Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 12:17:25 +0900 Subject: [PATCH 15/20] =?UTF-8?q?fix:=20=EB=B2=84=EA=B7=B8=20=ED=94=BD?= =?UTF-8?q?=EC=8A=A4=20=EC=A7=84=ED=96=89=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- src/main/java/Computer.java | 14 +++++++------- src/main/java/OneGameProgress.java | 2 +- src/main/java/Player.java | 3 +-- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 2b6f9327..967740b2 100644 --- a/README.md +++ b/README.md @@ -20,5 +20,5 @@ * 비교결과로 힌트 제시 * 일치할때 게임종료 및 게임 재시작 멘트 -게임 실행 클래스 +게임 실행 클래스 * 게임을 실행한다 \ No newline at end of file diff --git a/src/main/java/Computer.java b/src/main/java/Computer.java index 7ef4610c..89c47798 100644 --- a/src/main/java/Computer.java +++ b/src/main/java/Computer.java @@ -27,16 +27,16 @@ public boolean compare(List a, List b) { System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); return true; } else if(strikeNum !=0 && ballNum !=0){ - System.out.printf("%d볼 %d스트라이크",ballNum,strikeNum); + System.out.printf("%d볼 %d스트라이크/n",ballNum,strikeNum); return false; - } else if(strikeNum ==0 && ballNum !=0){ - System.out.printf("%d볼",ballNum); + } else if(strikeNum ==0 & ballNum !=0){ + System.out.printf("%d볼/n",ballNum); return false; - } else if(strikeNum !=0 && ballNum ==0){ - System.out.printf("%d스트라이크",strikeNum); + } else if(strikeNum !=0 & ballNum ==0){ + System.out.printf("%d스트라이크/n",strikeNum); return false; - } else if(strikeNum ==0 && ballNum ==0){ - System.out.printf("낫싱"); + } else if(strikeNum ==0 & ballNum ==0){ + System.out.println("낫싱"); return false; } else{ return false; // 이부분 수정 필요 diff --git a/src/main/java/OneGameProgress.java b/src/main/java/OneGameProgress.java index 97539bbe..1c4fc6b0 100644 --- a/src/main/java/OneGameProgress.java +++ b/src/main/java/OneGameProgress.java @@ -24,7 +24,7 @@ public boolean gameRestart(){ } }catch (IllegalArgumentException e){ - throw e; + throw new IllegalArgumentException(); } diff --git a/src/main/java/Player.java b/src/main/java/Player.java index 82524ba2..4d9d3fcf 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -1,4 +1,3 @@ -import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; import java.util.Scanner; @@ -8,7 +7,7 @@ public List getNum(){ System.out.print("숫자를 입력해 주세요 : "); Scanner sc= new Scanner(System.in); try { - String inputInt = sc.nextLine(); + String inputInt = sc.next(); if (inputInt.length() !=3){ throw new IllegalArgumentException(); From fb442d31d0470724ed1d67f735bf37589fa01c32 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 12:56:38 +0900 Subject: [PATCH 16/20] =?UTF-8?q?fix(Player)=20:=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EC=9E=90=EB=A1=9C=EB=B6=80=ED=84=B0=20=EA=B0=92=EC=9D=84=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=EB=B0=9B=EC=95=84=EC=84=9C=20=EC=88=AB?= =?UTF-8?q?=EC=9E=90=EB=A1=9C=20=EB=B3=80=ED=99=98=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EB=B6=80=EB=B6=84=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index 4d9d3fcf..d2373a37 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -9,14 +9,13 @@ public List getNum(){ try { String inputInt = sc.next(); - if (inputInt.length() !=3){ + if (inputInt.length() != 3){ throw new IllegalArgumentException(); } return makeListInt(inputInt); - } - catch (IllegalArgumentException e){ + } catch (IllegalArgumentException e){ throw new IllegalArgumentException(); } } @@ -25,7 +24,8 @@ public List makeListInt(String inputInt){ List inputIntList = new ArrayList<>(); for(int i = 0; i<3;i++){ - int a = inputInt.charAt(i); + int a = Integer.parseInt(Character.toString(inputInt.charAt(i))); + if (checkRange(a)) { inputIntList.add(a); } From fa2c3fcef2c237b4ec41c3441cd9a129442538eb Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 12:59:46 +0900 Subject: [PATCH 17/20] =?UTF-8?q?fix(Player)=20:=20=EC=B6=9C=EB=A0=A5?= =?UTF-8?q?=EA=B0=92=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Computer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/Computer.java b/src/main/java/Computer.java index 89c47798..7e205522 100644 --- a/src/main/java/Computer.java +++ b/src/main/java/Computer.java @@ -27,13 +27,13 @@ public boolean compare(List a, List b) { System.out.println("3개의 숫자를 모두 맞히셨습니다! 게임 종료"); return true; } else if(strikeNum !=0 && ballNum !=0){ - System.out.printf("%d볼 %d스트라이크/n",ballNum,strikeNum); + System.out.printf("%d볼 %d스트라이크\n",ballNum,strikeNum); return false; } else if(strikeNum ==0 & ballNum !=0){ - System.out.printf("%d볼/n",ballNum); + System.out.printf("%d볼\n",ballNum); return false; } else if(strikeNum !=0 & ballNum ==0){ - System.out.printf("%d스트라이크/n",strikeNum); + System.out.printf("%d스트라이크\n",strikeNum); return false; } else if(strikeNum ==0 & ballNum ==0){ System.out.println("낫싱"); From 4a3342674accffc01d5ae53c8169be50d33ac9c6 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 13:09:28 +0900 Subject: [PATCH 18/20] =?UTF-8?q?fix(Computer)=20:=20=EC=BB=B4=ED=93=A8?= =?UTF-8?q?=ED=84=B0=EC=9D=98=20=EB=9E=9C=EB=8D=A4=EA=B0=92=EC=9D=B4=20?= =?UTF-8?q?=EA=B0=81=EA=B0=81=20=EB=8B=A4=EB=A5=B8=EA=B0=92=EC=9D=B4=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=EB=90=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Computer.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/Computer.java b/src/main/java/Computer.java index 7e205522..2fff807f 100644 --- a/src/main/java/Computer.java +++ b/src/main/java/Computer.java @@ -6,8 +6,11 @@ public class Computer { public List setComNum() { Random r = new Random(); List comNum = new ArrayList<>(); - for (int i = 0; i < 3; i++) { - comNum.add(r.nextInt(1, 9)); + while (comNum.size() < 3) { + int RandomInt= r.nextInt(1, 9); + if (!comNum.contains(RandomInt)) { + comNum.add(RandomInt); + } } return comNum; @@ -16,6 +19,7 @@ public List setComNum() { public boolean compare(List a, List b) { int strikeNum = 0; int ballNum = 0; + for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { strikeNum += isStrike(a.get(i), b.get(j), i, j); From 02716ef53936d2292199c639783c7095e121f7a4 Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 13:13:06 +0900 Subject: [PATCH 19/20] =?UTF-8?q?fix(Player)=20:=20=ED=94=8C=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=EC=96=B4=EA=B0=80=20=EC=9E=85=EB=A0=A5=ED=95=9C=20?= =?UTF-8?q?=EA=B0=92=EC=9D=B4=20=EA=B0=81=EA=B0=81=20=EB=8B=A4=EB=A5=B8?= =?UTF-8?q?=EA=B0=92=EC=9D=B4=20=EC=84=A4=EC=A0=95=EB=90=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Player.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/Player.java b/src/main/java/Player.java index d2373a37..4d000e40 100644 --- a/src/main/java/Player.java +++ b/src/main/java/Player.java @@ -13,7 +13,11 @@ public List getNum(){ throw new IllegalArgumentException(); } - return makeListInt(inputInt); + if ((inputInt.charAt(0) != inputInt.charAt(1)) && (inputInt.charAt(0) != inputInt.charAt(2)) && (inputInt.charAt(2) != inputInt.charAt(1))){ + return makeListInt(inputInt); + } else { + throw new IllegalArgumentException(); + } } catch (IllegalArgumentException e){ throw new IllegalArgumentException(); From f2037eae687c5f16b1748ead52e187e8f8f13a8f Mon Sep 17 00:00:00 2001 From: Shsin9797 Date: Mon, 6 May 2024 13:17:24 +0900 Subject: [PATCH 20/20] =?UTF-8?q?fix(Player)=20:=20ball=EC=9D=98=20?= =?UTF-8?q?=EA=B0=9C=EC=88=98=EB=A5=BC=20=EC=84=B8=EB=8A=94=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Computer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/Computer.java b/src/main/java/Computer.java index 2fff807f..51805587 100644 --- a/src/main/java/Computer.java +++ b/src/main/java/Computer.java @@ -23,7 +23,7 @@ public boolean compare(List a, List b) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { strikeNum += isStrike(a.get(i), b.get(j), i, j); - ballNum += isBall(a.get(i), b.get(i), i, j); + ballNum += isBall(a.get(i), b.get(j), i, j); } } if (strikeNum ==3){