JAVA

210810_2차원배열+빙고

요옫 2021. 8. 10. 16:48

//빙고

//q 누르면 종료

//빙고 몇개인지

 

Scanner sc=new Scanner(System.in);

 

int[][]pz=new int[3][3];  //3행3열의 퍼즐 생성

int bingo=0;  //아직 하나도 없으니 초기값 0

String a;

 

//3행3열의 배열에 1~3사이의 난수(랜덤)를 넣는다

while(true)  //q 누르기 전까진 계속 반복이기에 while(true)

{

System.out.println("***같은 숫자 나오면 빙고***");

 

//난수 구하기

for(int i=0;i<pz.length;i++)  //행

{

for(int j=0;j<pz[i].length;j++)  //열

{

pz[i][j]=(int)(Math.random()*3)+1;  //1~3사이의 난수

}

}

 

bingo=0; //초기화

//가로방향3개, 세로방향3개

for(int i=0;i<pz.length;i++)

{

//가로방향 비교

if(pz[i][0]==pz[i][1]&&pz[i][1]==pz[i][2])

bingo++;

//세로방향 비교

if(pz[0][i]==pz[1][i]&&pz[1][i]==pz[1][2])

bingo++;

}

 

//대각선 \부분

if(pz[0][0]==pz[1][1]&&pz[1][1]==pz[2][2])

bingo++;

 

//대각선 /부분

if(pz[0][2]==pz[1][1]&&pz[1][1]==pz[2][0])

bingo++;

 

//출력

for(int i=0;i<pz.length;i++)

{

for(int j=0;j<pz[i].length;j++)

{

System.out.printf("%4d",pz[i][j]);

}

System.out.println();  //행 바꿔주는 것

}

 

//빙고 출력

if(bingo==0)

System.out.println("꽝");

else

System.out.println("빙고 갯수: "+bingo+"개");

 

System.out.println("엔터 누르면 다음 숫자/종료: q");

a=sc.nextLine();

if(a.equalsIgnoreCase("q"))

{

System.out.println("게임 종료");

break;

}

}

 

//결과

***같은 숫자 나오면 빙고***

   1   2   3

   3   2   1

   3   3   2

엔터 누르면 다음 숫자/종료: q

 

***같은 숫자 나오면 빙고***

   2   2   2

   3   2   2

   3   2   2

빙고 갯수: 4개

엔터 누르면 다음 숫자/종료: q

'JAVA' 카테고리의 다른 글

210811_클래스와 객체  (0) 2021.08.11
210811+배열+성씨검색  (0) 2021.08.11
210810_2차원 배열  (0) 2021.08.10
210810_배열+로또(중복체크)  (0) 2021.08.10
210810_배열+띠구하기  (0) 2021.08.10