Language/Java

숫자 맞추기 게임 만들기

느낌표 공장장 2021. 3. 31. 00:40

숫자 맞추기 게임 만들기 

1) 난수 생성

임의의 숫자를 생성하는 방법

Random random = new Random();
int randomNumber = random.nextInt(256); //임의의 숫자 범위

 

2) 지연 시간 추가하기

지연 시간을 추가하는 코드

Thread.sleep(1000); // 지연 시간(1/1000초 단위)

1/1000초 단위의 시간으로 1000을 입력하면 1초를 쉬게 되는 것임.

 

예제

이렇게 Thread.sleep 코드를 입력하면 sleep에 빨간 줄이 뜨는 것을 볼 수 있다.

이러한 오류가 발생했다.

alt + enter를 누르면 어떻게 해결할 것인지에 대해 팝업으로 보여준다.

두 번째의 "Surround with try/catch"를 누르면 try-catch블록이 자동으로 만들어지게 된다.

 

* e.printStackTrace : 에러를 출력. try-catch를 사용해서 예외 처리를 할 때에는 catch 블록에서 적절한 처리를 해주어야한다.

 

최종 예제 코드

public class ThreadSleep {
    public static void main(String[] args) {
        System.out.println("지금 무슨 생각을 하고 있는지 맞춰볼게요.");

        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("커피");
    }
}

3초 뒤 커피가 출력된다.

 

3) 숫자 맞추기 게임

< 게임의 룰 >

  1. 임의의 숫자를 생성한다.
  2. 다음 과정을 8회 반복한다.
    • 플레이어로부터 숫자를 입력받는다.
    • 입력 받은 숫자가 임의의 숫자와 일치한다면 축하 메시지를 출력하고 반복문 탈출
    • 입력 받은 숫자가 임의의 숫자보다 작다면 작다는 메시지 출력
    • 입력 받은 숫자가 임의의 숫자보다 크다면 크다는 메시지 출력

   3. 숫자를 맞추거나 반복문이 끝난 후에는 게임을 종료한다는 메시지와 함께 프로그램 종료

 

import java.util.Random;
import java.util.Scanner;

public class UpAndDownGame {
    public static void main(String[] args) {
        System.out.println("지금부터 0~300 사이에서 숫자를 하나 뽑겠습니다.");
        System.out.println("여러분은 제가 뽑은 숫자를 맞춰야 합니다.");

        // 랜덤 숫자
        Random random = new Random();
        int randomNumber = random.nextInt(301);

        // 사용자로부터 숫자를 입력받아야 하므로 scanner 사용
        Scanner scanner = new Scanner(System.in);

        for (int i = 0; i < 8; i = i + 1) {
            System.out.println(8 - i + "번의 기회가 있습니다.");

            System.out.println("추측한 숫자를 입력하세요.");
            // 사용자로부터 숫자를 입력받아 정수로 변환
            String input = scanner.nextLine();
            int guess = Integer.parseInt(input);

            if (randomNumber == guess) {
                System.out.println("와 정답입니다~~~!");
                break;
            }

            else if (randomNumber < guess) {
                System.out.println("깔깔 더 작은 숫자입니다~!");
            }

            else if (randomNumber > guess) {
                System.out.println("깔깔 더 큰 숫자입니다~!");
            }

            if (i == 7 ) {
                System.out.println("더이상 기회가 없습니다.ㅠㅠ");
            }
        }

        System.out.println("게임을 종료합니다.");
    }
}

깔깔..? 내가 만들었지만.. 약오르네ㅜ

 

 

 

유투브 "초간단 자바"님 영상을 통해 공부한 내용입니다 !
www.youtube.com/watch?v=1Y9bijpqSug

'Language > Java' 카테고리의 다른 글

메소드  (0) 2021.04.28
파일 읽고 쓰기  (0) 2021.04.02
배열  (0) 2021.03.31
반복문  (0) 2021.03.30
조건문  (0) 2021.01.30