언어/JAVA

숫자 맞히기 게임

새싹개발자 2020. 4. 20. 00:01
// 숨겨진 카드의 수를 맞히는 게임
// 랜덤 클래스 
import java.util.Random;
// 스캐너
import java.util.Scanner;

public class Prob05 {
	public static void main(String[] args) {

		// 객체 생성
		Random random = new Random();
		// 1부터 100까지의 임의의 수 설정
		int cardnum = random.nextInt(100) + 1;

		int min = 1;	// 가장 작은 수를 범위 시작 숫자(1)로 초기화
		int max = 100;	// 가장 큰 수를 범위 끝 숫자(100)로 초기화
		int cnt = 1;	// 몇 번째 시도인가

		System.out.println("수를 결정하였습니다.맟혀보세요!! " /*+ cardnum*/);
		System.out.println(min + "~" + max);

		Scanner s = new Scanner(System.in);
		System.out.print(cnt + ">> ");
		int num = s.nextInt();
		
		// 내가 적은 숫자가 카드의 숫자와 같이 않을 때 반복
		while (num != cardnum) {
			s.nextLine();
			if (num > cardnum) { 		// 내가 적은 수가 더 크다면
				System.out.println("더 낮게");
				max = num;
				System.out.println(min + " ~ " + max);
			} else if (num < cardnum) { 	// 내가 적은 수가 더 작다면
				System.out.println("더 높게");
				min = num;
				System.out.println(min + " ~ " + max);
			}
			// cnt 증가
			cnt++;
			System.out.print(cnt + ">> ");
			num = s.nextInt();
		}
		
		// 내가 적은 수가 카드의 숫자와 같다면
		if (num == cardnum) {
			System.out.println("맞았습니다!");
			System.out.println("다시 하시겠습니까?(y/n)");
			String answer = s.next();
			// y를 눌렀을 때
			if (answer.equals("y")) {
				// 작성 멈추고
				s.close();
				// 다시 시작 방법 알려준다
				System.out.println("다시 시작하려면, ctrl + F11 을 누르세요");
			}
		}
	}

}

 

 

 

실행 결과