//빙고
//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 |