본문으로 바로가기

숨겨진 카드의 수를 맞추는 게임을 만들어보자.

0에서 99까지의 임의의 수를 가진 카드를 한 장 숨기고 이 카드의 수를 맞추는 게임이다.

아래의 화면과 같이 카드 속의 수가 94인 경우를 보자. 수를 맞추는 사람이 55라고 입력하면 "더 높게",

다시 70을 입력하면 "더 높게"라는 식으로 범위를 좁혀가면서 수를 맞춘다.

게임을 반복하기 위해 y/n을 묻고, n인 경우 종료된다.

 

import java.util.Scanner;

public class UpAndDownGame {	

	public static void main(String[] args) {
    
		Scanner scanner = new Scanner(System.in);
		
		String yn = "y";
		
        
		while (yn.equals("y")) {
			int num = (int)(Math.random()*99);
			int min = 0, max = 99;
            
            
			System.out.println("수를 결정하였습니다. 맞추어 보세요");
			
            
			int i = 1;
		
        
			while (true) {			
				System.out.println(min + "-" + max);
				System.out.print(i + ">>");
				
                
				int me = scanner.nextInt();
                
                
				if (me == num) {
					System.out.print("맞았습니다.\n다시하겠습니까(y/n)>>");
					yn = scanner.next();                   
                    
					if (yn.equals("yes"))
						continue;
					else
						break;
				}				
				else if (me > num) {
					System.out.println("더 낮게");
					max = me;
				}				
				else {
					System.out.println("더 높게");
					min = me;
				}
			}
		}
		
        
		scanner.close();
	}
}