package ex07;
import java.util.Random;
import java.util.Scanner;
public class NumBaseBall {
public static void main(String[] args) {
// 숫자는 1~9까지 3자리의 임의의 숫자 -> o
// 숫자와 위치가 모두 맞을경우 : 스트라이크
// 숫자는 맞지만 위치가 틀렸을경우 : 볼
// 숫자와 위치가 모두 틀렸을경우 : 아웃
// 기회는 5번
// 3아웃 -> 게임 끝
int st;
int ball;
int out = 0;
int game = 0;
int rdnum[] = new int[3]; // 랜덤 숫자
int user[] = new int[3]; // 사용자 숫자
Random rd = new Random(); // 랜덤 객체 생성
for (int i = 0; i < rdnum.length; i++) {
rdnum[i] = rd.nextInt(10) + 1; // 0~10 까지의 난수 생성
// +1의 이유 -> nextInt(num)의 경우에는 0 ~ (num-1)사이의 특정수를 반환 하기 때문
System.out.println(rdnum[i]);// 랜덤 숫자 확인을 위한 코드
}
// game start ---------------------
Scanner sc = new Scanner(System.in);
while (true) {
st = 0;
ball = 0;
if (game == 5) {
System.out.println("5번 기회 모두 사용 패배!");
System.out.println("정답은 " + rdnum[0] + rdnum[1] + rdnum[2] + " 였습니다!");
break;
} else if (out == 3) {
System.out.println("3out 게임 종료");
System.out.println("정답은 " + rdnum[0] + rdnum[1] + rdnum[2] + " 였습니다!");
break;
}
// 사용자 숫자 입력 받기
System.out.println("숫자 3개를 입력해주세요.");
for (int i = 0; i < user.length; i++) {
user[i] = sc.nextInt();
}
// 스트라이크,ball
for (int i = 0; i < user.length; i++) {
if (user[i] == rdnum[i]) {
st++;
}
for (int j = 0; j < user.length; j++) {
if (user[i] == rdnum[j] && user[i] != rdnum[i]) {
ball++;
}
}
}
if (st == 3) {
System.out.println(st + "스트라이크 입니다. 승리!");
break;
}
System.out.println(st + "스트라이크" + ball + "볼");
game++;
continue;
}
}
}