package day08;
import java.util.Scanner;
public class MultiArrayEx2 {
public static void main(String[] args) {
/*****************
* Bingo 게임 만들기**
* @author user***
*****************
*/
final int SIZE = 5;
int x = 0, y = 0, num = 0;
int[][] bingo = new int[SIZE][SIZE];
Scanner scanner = new Scanner(System.in);
//배열의 모든 요소를 1부터 25(SIZE * SIZE) 까지의 숫자로 초기화
for(int i=0; i<SIZE; i++) {
for(int j=0; j<SIZE; j++) {
bingo[i][j] = i*SIZE + j + 1; //1~25까지 값을 넣는다..
}
}
//배열에 저장된 값을 뒤섞는다.
for(int i=0; i<SIZE; i++) {
for(int j=0; j<SIZE; j++) {
x = (int)(Math.random() * SIZE); //0~4 사이의 난수
y = (int)(Math.random() * SIZE); //0~4 사이의 난수
//bingo[i][j]와 임의로 선택된 값 (bingo[x][y])을 바꾼다.
int tmp = bingo[i][j];
bingo[i][j] = bingo[x][y];
bingo[x][y] = tmp;
}
}
do {
for(int i=0; i<SIZE; i++) {
for(int j=0; j<SIZE; j++) {
System.out.printf("%5d", bingo[i][j]);//위에서 섞은 빙고판을 출력한다.
}
System.out.println();
}
System.out.println();
System.out.printf("1~%d의 숫자를 입력하세요.(종료:0) >", SIZE * SIZE);
num = scanner.nextInt(); //콘솔에서 입력받은 숫자를 num에 저장..
//입력받은 숫자와 같은 숫자가 저장된 요소를 찾아서 0을 저장한다..
outer:
for(int i=0; i<SIZE; i++) {
for(int j=0; j<SIZE; j++) {
if(bingo[i][j] == num) { //콘솔에서 입력 받은값과 빙고판에 있는값이 같은 곳을 찾아서 0 으로 바꾼다.
bingo[i][j] = 0;
break outer; //outer로 빠져 나간다..
}
}
}
}while(num != 0); // 0 이 들어오면 while문을 종료하고 빠져나간다.
scanner.close();
System.out.println("프로그램이 종료 되었습니다.");
}
}
빙고에 있는 값을 넣으면 그 값이 0으로 바뀌고
0을 입력하면 종료된다.