[Java] 올바른 길 찾기

이연수·2025년 6월 8일

Java

목록 보기
6/8

탈출 게임 만들기 - 랜덤 길 찾기

🧩문제 설명

- 총 5개의 길이 있고, 각 위치에서 정답인 길의 번호는 1~5 중 랜덤으로 생성된다.

- 사용자는 순서대로 정답을 맞춰야한다.

- 정답이라면 "정답입니다!" + 입력한 값이 출력된다.

- 오답이라면 "틀렸습니다!" 만 출력되고 같은 인덱스를 다시 시도해야한다.

- 10번 이상 오답을 입력하면 "탈출에 실패하였습니다." 출력 후 종료된다.

- 정답을 모두 맞추면 "입력한 값 : " 과 함께 "탈출하였습니다!" 가 출력된다

출력 예시 코드

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

public class RoomEscape {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        Random rand = new Random();

        int[] answer = new int[5];
        for (int i = 0; i < 5; i++) {
            answer[i] = rand.nextInt(5) + 1;
        }

        int wrongCount = 0;
        int a = 0;

        do {
            System.out.print("올바른 길을 찾으시오 : ");
            int n = scan.nextInt();
            System.out.println(" " + n);

            if (n == answer[a]) {
                System.out.println("정답입니다!");
                System.out.println("입력한 값: " + n);
                a++;
            }
            else {
                System.out.println("틀렸습니다!");
                wrongCount++;
            }

            if (wrongCount == 10) {
                System.out.println("탈출에 실패하였습니다!");
                break;
            }

        } while (a < 5);

        if (a == 5) {
            System.out.print("정답 경로 : ");
            for (int i = 0; i < 5; i++) {
                System.out.print(answer[i] + " ");
            }
            System.out.println();
            System.out.println("탈출하였습니다!");
        }
    }
}

코드 설명 :

- do while -> 사용자 입력을 반드시 한 번은 받기에 do while이 적절

- int[] answer = new int[5] -> 1~5 사이 숫자로 구성된 정답 경로 5칸을

랜덤으로 생성

- int a = 0; -> 유저가 현재 맞춰야 할 위치를 추적하는 변수

- if (n==answer[a]) -> 입력한 값의 정답 배열이 a번째 값과 같다면,

정답 처리 후 a++

- wrongCount == 10 -> 10번 틀리면 탈출 실패로 종료

0개의 댓글