AR삽질러

Java 주사위 게임 만들기 본문

JAVA

Java 주사위 게임 만들기

아랑팡팡 2023. 2. 22. 12:35
728x90

조건문과 난수를 활용한 주사위 게임 만들기

 

주사위 게임 만들기

설명 : 사용자가 주사위를 굴려서 나온 숫자와 컴퓨터가 굴린 주사위의 숫자를 비교하여 승패를 결정하는 게임입니다.

 1. 시작시 사용자의 닉네임을 설정합니다.

 2. 한게임이 끝나면 다시 게임을 시작할지 물어보고 y진행 n그만두기 입니다.

 3. 하나의 게임이 시작되면 사용자의 현재 life와 score를 알려줍니다.

 4. 사용자가 승리하면 10점을 획득하고 패배하면 라이프1을 잃습니다. 비겼을시는 점수와는 상관이 없습니다.

 5. 승리조건 100점 달성, 패배 라이프 0 or 사용자가 종료하기..

 

Random 클래스를 사용하여 주사위를 굴린 숫자를 무작위로 선택하고 Scanner 클래스를 사용하여 사용자로부터 입력을 받습니다. while문을 통해서 게임을 계속 수행할지 여부를 체크합니다.

사용자의 게임 실행여부를 선택하고 주사위를 굴렸을 때 나온 숫자를 출력하고 승패를 결정합니다.

 

 

코드

public class Dice {
	// 주사위게임
	// 설명 : 사용자가 주사위를 굴려서 나온 숫자와 
	// 컴퓨터가 굴린 주사위의 숫자를 비교하여 승패를 결정하는 게임 (승리 조건 : 100점달성, 패배 : 라이프모두 소진시)
	// 난수 생성과 조건문을 사용
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in); // Scanner객체 생성
		Random random = new Random(); // random객체 생성
		int life = 5;
		int score = 0;
		boolean play = true;
		System.out.print("사용자의 닉네임을 만들어주세요^_^ : ");
		String name = scan.nextLine();
		
		System.out.println("======================================");
		System.out.print("게임을 시작하시겠습니까? (시작하기 : y, 종료 : n) : ");
		String input = scan.nextLine();
		System.out.println();
		
		while(play) {
			int player = 0;    // 사용자의 주사위 숫자
			int computer = 0;  // 컴퓨터의 주사위 숫자
			
			System.out.println("======================================");
			// 사용자 주사위
			if(input.equals("y")) {
				player = (int)(Math.random()*6)+1;
				System.out.println(name + "님의 주사위 번호 : " + player);
			}
			
			// 컴퓨터의 주사위
			computer = (int)(Math.random()*6)+1; 
			System.out.println("computer의 주사위 번호 : " + computer);
			System.out.println();
			
			System.out.println("현재 Score : " + score );
            System.out.println("현재 life : " + life );
			
			if (player > computer) {
                System.out.println(name+ "님이 승리하셨습니다!");
                score += 10;
            } else if (player < computer) {
                System.out.println(name + "님이 패배하셨습니다.");
                life -= 1;
            } else {
                System.out.println("비겼습니다.");
            }
			System.out.println();
            System.out.print("게임을 계속하시겠습니까? (예: y, 아니오: n): ");
            String answer = scan.nextLine();

            if (!answer.equalsIgnoreCase("y")) { // 게임을 더 이상 진행하지 않는 경우
                play = false;
            }else if(life == 0) {
            	System.out.println("life가 0이되었습니다....ㅠ.ㅠ");
            	play = false;
            }else if(score == 100) {
            	System.out.println("게임에서 승리하였습니다 축하드립니다~!!");
            	play = false;
            }
        }

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

        scan.close();
    }
}

 

728x90
반응형
LIST