=====guessgame.java 클래스 


package guessgame;


import java.util.*;


public class GuessGame {


    int[][] gamePanel = new int[10][10];

    Bar[] barObject = new Bar[3];

    int totalHitCount = 0;

    

    public void play() {

        

        barObject[0].setBarName("송아지");

        barObject[0].setHitCount(0);

        barObject[1].setBarName("강아지");

        barObject[1].setHitCount(0);

        barObject[2].setBarName("병아리");

        barObject[2].setHitCount(0);

        

        int Ran1,Ran2,Ran3,Ran4,Ran5,Ran6; // 바위치 변수

        int x, y;

        

        Scanner input = new Scanner(System.in);

        

        while(true) { //송아지

            Ran1 = (int)(Math.random()*10);

            Ran2 = (int)(Math.random()*10);

            if( Ran2 > 7)

                continue;

            if(gamePanel[Ran1][Ran2] == -1 && gamePanel[Ran1][Ran2+1] == -1 && gamePanel[Ran1][Ran2+2] == -1) {

                gamePanel[Ran1][Ran2] = 0;

                gamePanel[Ran1][Ran2+1] = 0;

                gamePanel[Ran1][Ran2+2] = 0;

                break;

            }

        }

        

        while(true) { //강아지

            Ran3 = (int)(Math.random()*10);

            Ran4 = (int)(Math.random()*10);

            if( Ran3 > 7)

                continue;

            if(gamePanel[Ran3][Ran4] == -1 && gamePanel[Ran3+1][Ran4] == -1 && gamePanel[Ran3+2][Ran4] == -1) {

                gamePanel[Ran3][Ran4] = 1;

                gamePanel[Ran3+1][Ran4] = 1;

                gamePanel[Ran3+2][Ran4] = 1;

                break;

            }

        }

        

        while(true) { //병아리

            Ran5 = (int)(Math.random()*10);

            Ran6 = (int)(Math.random()*10);

            if( Ran6 > 7)

                continue;

            if(gamePanel[Ran5][Ran6] == -1 && gamePanel[Ran5][Ran6+1] == -1 && gamePanel[Ran5][Ran6+2] == -1) {

                gamePanel[Ran5][Ran6] = 2;

                gamePanel[Ran5][Ran6+1] = 2;

                gamePanel[Ran5][Ran6+2] = 2;

                break;

            }

        }

        while(true) {

            

            System.out.println("바의 좌표를 입력하세요!");

            System.out.print(" X = ");

            x = input.nextInt();

            System.out.print(" Y = ");

            y = input.nextInt();


            totalHitCount++; 

            

                switch(gamePanel[x][y]) {

                

                    case 4: //이미 입력받은 경우

                        System.out.println("입력된 좌표 입니다.");

                    case 0: //송아지를 선택한경우

                        if( gamePanel[x][y] == 0 && y == Ran2) {

                            System.out.println(" >>> "+ barObject[0].getBarName()+ "'송'이 있습니다 ");

                            gamePanel[x][y] = 4;

                            barObject[0].setHitCount(barObject[0].getHitCount()+1);

                        }

                        if( gamePanel[x][y] == 0 && y == Ran2+1) {

                            System.out.println(" >>> "+ barObject[0].getBarName()+ "'아'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[0].setHitCount(barObject[0].getHitCount()+1);

                        }

                        if( gamePanel[x][y] == 0 && y == Ran2+2) {

                            System.out.println(" >>> "+ barObject[0].getBarName()+ "'지'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[0].setHitCount(barObject[0].getHitCount()+1);

                        }

                        

                        if( barObject[0].getHitCount() == 3)

                            System.out.println("성공! '송아지' 바를 제거했습니다");

                        break;

                    case 1: //강아지를 선택한경우

                        if( x == Ran3 && gamePanel[x][y] == 1) {

                            System.out.println(" >>> "+ barObject[1].getBarName()+ "'강'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[1].setHitCount(barObject[1].getHitCount()+1);

                        }

                        if( x == Ran3+1 && gamePanel[x][y] == 1) {

                            System.out.println(" >>> "+ barObject[1].getBarName()+ "'아'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[1].setHitCount(barObject[1].getHitCount()+1);

                        }

                        if( x == Ran3+2 && gamePanel[x][y] == 1) {

                            System.out.println(" >>> "+ barObject[2].getBarName()+ "'지'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[1].setHitCount(barObject[1].getHitCount()+1);

                        }

                        

                        if( barObject[1].getHitCount() == 3)

                            System.out.println("성공! '강아지' 바를 제거했습니다");

                        break;

                    case 2: //병아리를 선택한경우

                        if( gamePanel[x][y] == 2 && y == Ran6) {

                            System.out.println(" >>> "+ barObject[2].getBarName()+ "'병'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[2].setHitCount(barObject[2].getHitCount()+1);

                        }

                        if( gamePanel[x][y] == 2 && y == Ran6+1) {

                            System.out.println(" >>> "+ barObject[2].getBarName()+ "'아'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[2].setHitCount(barObject[2].getHitCount()+1);

                        }

                        if( gamePanel[x][y] == 2 && y == Ran6+2) {

                            System.out.println(" >>> "+ barObject[2].getBarName()+ "'리'이 있습니다");

                            gamePanel[x][y] = 4;

                            barObject[2].setHitCount(barObject[0].getHitCount()+1);

                        }

                        

                        if( barObject[2].getHitCount() == 3)

                            System.out.println("성공! '병아리' 바를 제거했습니다");

                        break;

                    default:

                        System.out.println(" >>> 바가 없습니다"); 

                }

                if( barObject[0].getHitCount() == 3 && barObject[1].getHitCount() == 3 && barObject[2].getHitCount() == 3) {

                    System.out.println("게임종료! 모든 바를 "+totalHitCount+"회 반복으로 제거하였습니다.");

                    break;

                }

        }

    }

    public static void main(String[] args) {

        GuessGame game = new GuessGame();

        game.play();

    }

}


===== bar.java 클래스


package guessgame;


public class Bar {

    String barName;

    int hitCount;

    

    public String getBarName() {

        return barName;

    }

    public int getHitCount() {

        return hitCount;

    }

    public void setBarName(String barName) {

        this.barName = barName;

    }

    public void setHitCount(int hitCount) {

        this.hitCount = hitCount;

    }

}