IT/Java

자바(Java)로 빙고게임 만들기

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

package test.day0410;

 

public class Array2ChawonTest1 {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        //2차원 배열 생성

        int [][]arr=new int [3][3];

        int cnt=0;//빙고 카운트 변수

        //1~3사이의 난수 발생

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

        {

            for(int j=0;j<arr.length;j++)

            {

                arr[i][j]=(int)(Math.random()*3)+1;

            }

        }

        //가로,세로,대각선 비교하여 같은 숫자 나오면 cnt 증가

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

        {

            //가로선 비교

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

                cnt++;

            //세로선 비교

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

                cnt++;

        }

        //대각선 \

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

            cnt++;

        //대각선 /

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

            cnt++;

        

        //출력

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

        {

            for(int j=0;j<arr.length;j++)

            {

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

            }

            System.out.println();

        }

        if(cnt==0)

            System.out.println("\t\t꽝!!!!!");

        else

            System.out.println("\t\t빙고("+cnt+"개)");

    }

 

}

Colored by Color Scripter

cs


[문제]
 3행 3열의 2차원 배열을 생성후
 1~3 사이의 난수를 각각 넣은후
 가로, 세로, 대각선을 비교하여 같은 숫자가 한줄이라도 나오면 "빙고"라고 출력
 한줄도 안나오면 "꽝!!!"이라고 출력

 

위 문제를 풀이 한 코드인데요. 좋게 말하면 빙고게임이고... 슬롯머신도 만들수 있겠더라구요!

갑자기 이거 하다보니 알고리즘 배워서 도박사이트 만드는 개발자들 생각나서 한숨이 나옵니다..

암튼 저는 좀 무식하게 집어넣어 코드를 일단 돌아가게 짜놓은건데요... 

다른 의견이나 잘못된 지적은 언제나 부탁드립니다ㅠㅠ