day08_MultiArrayEx2

육희영·2021년 9월 28일
0

1~25까지 랜덤된 숫자를 뽑은 빙고게임

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을 입력하면 종료된다.

0개의 댓글

관련 채용 정보