문제풀이/Java
[Java] Baseball Game 야구게임 (10번의 기회)
by AngieLee
2021. 5. 10.
import java.util.*;
public class Baseball {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 선언부 (변수)
int com[] = new int[3];
int user[] = new int[3];
boolean clear;
// 초기화
clear = false;
// Random 할당
while(true) {
com[0] = (int)(Math.random() * 9) +1;
com[1] = (int)(Math.random() * 9) +1;
com[2] = (int)(Math.random() * 9) +1;
if(com[0] != com[1]
&& com[0] != com[2]
&& com[1] != com[2]) {
break;
}
}
for(int i=0; i<com.length; i++) {
System.out.println("com["+i+"] = "+com[i]);
}
//////////////////////////////////////////// loop
int w = 0;
while(w < 10) {
// user 입력
while(true) {
for(int i=0; i<user.length; i++) {
System.out.print((i+1)+"번째 수 입력 : ");
user[i] = sc.nextInt();
}
if(user[0] != user[1]
&& user[0] != user[2]
&& user[1] != user[2]) {
break;
}
System.out.println("같은 숫자를 입력하셨습니다. 다시 입력해 주세요.");
}
// 비교 -> 탈출
// 스트라이크, 볼
int strike, ball;
strike = 0;
ball = 0;
// ball
for(int i=0; i<com.length; i++) {
for(int j=0; j<user.length; j++) {
if(user[i] == com[j] && i != j) {
ball++;
}
}
}
// strike
for(int i=0; i<com.length; i++) {
if(user[i] == com[i]) {
strike++;
}
}
// 맞췄을 경우
if(strike > 2) {
clear = true;
break;
}
// 메시지 출력
System.out.println(strike+"strike "+ball+ "ball 입니다.");
w++;
}
////////////////////////////////////////////
// 결과 출력
if(clear) {
System.out.println("Game Clear!");
}else {
System.out.println("Game Over..");
}
}
}