본문 바로가기
프로그래밍/Java

[JAVA]자바로 즐겁고 간단한 가위바위보 게임 만들기: 코드 따라하기와 이해하기

by wyatti 2023. 6. 16.

이 포스트에서는 자바를 사용하여 가위바위보 게임을 만드는 방법을 배우게 됩니다. 코드 작성부터 승패 로직까지, 쉽게 따라할 수 있도록 자세히 안내해드립니다. 자바와 프로그래밍에 대한 이해도를 향상시키는데 도움이 될 것입니다.
자바로 즐겁고 간단한 가위바위보 게임 만들기: 코드 따라하기와 이해하기

안녕하세요, 자바와 가위바위보 게임에 대해 배우고자 하는 모든 분들을 위한 이 글에 오신 것을 환영합니다. 오늘은 자바를 사용하여 기본적이면서도 재미있는 가위바위보 게임을 만드는 방법에 대해 알아보도록 하겠습니다.

자바는 객체 지향 프로그래밍 언어로, 다양한 플랫폼에서 사용되며 널리 알려져 있습니다. 이 글을 통해 자바의 기본 문법과 개념을 익히면서 가위바위보 게임을 만들어보면, 프로그래밍에 대한 이해도를 향상시킬 수 있을 것입니다.

 

 

1. 자바 프로젝트 시작하기

먼저, 자바 프로젝트를 시작하기 위해 아래와 같이 클래스를 작성합니다.

public class RockPaperScissors {
    public static void main(String[] args) {
        // 코드 작성 부분
    }
}

위의 코드는 RockPaperScissors라는 이름의 클래스를 생성하고, main() 메소드를 작성하는 기본 구조입니다. 자바 프로그램은 항상 main() 메소드에서 시작하게 됩니다.

 

 

 

2. 사용자 입력을 받기 위한 Scanner 클래스

사용자로부터 가위, 바위, 보 중 하나를 입력받기 위해 java.util.Scanner 클래스를 사용합니다. 이를 위해 import 문을 추가합니다.

import java.util.Scanner;

 

 

 

3. 변수 선언 및 초기화

이 게임에서는 사용자의 선택과 컴퓨터의 선택을 저장할 변수가 필요합니다. String 타입의 userChoice 변수는 사용자의 선택을 저장하며, int 타입의 compChoice 변수는 컴퓨터의 선택을 저장합니다.

String userChoice;
int compChoice;

 

 

4. 난수 생성

컴퓨터의 가위, 바위, 보 선택은 난수를 사용하여 결정됩니다. 자바에서는 java.util.Random 클래스를 사용하여 난수를 생성할 수 있습니다.

Random random = new Random();
compChoice = random.nextInt(3);  // 0, 1, 2 중 하나의 난수 생성

 

 

 

5. 게임 로직 구현

사용자로부터 가위, 바위, 보 중 하나의 입력을 받아 이를 컴퓨터의 선택과 비교하는 게임 로직을 구현해야 합니다. 이를 위해 switch 문을 사용하여 각 경우에 따라 결과를 출력합니다.

Scanner scanner = new Scanner(System.in);
        
while (true) {
    System.out.print("Enter 'r' for rock, 'p' for paper, 's' for scissors, 'q' to quit: ");
    userChoice = scanner.next();
        
    if (userChoice.equals("q")) {
        break;
    }

    // 승패 결정 로직
    // 생략...
}

scanner.close();

 

 

6. 승패 결정 로직

가위바위보 게임의 승패는 사용자의 선택과 컴퓨터의 선택을 비교하여 결정됩니다. 이를 위해 if-else 문을 사용하여 각 경우에 따라 결과를 출력합니다.

switch (userChoice) {
    case "r":
        if (compChoice == 0) {
            System.out.println("It's a tie!");
        } else if (compChoice == 1) {
            System.out.println("You lose!");
        } else {
            System.out.println("You win!");
        }
        break;
    case "p":
        if (compChoice == 0) {
            System.out.println("You win!");
        } else if (compChoice == 1) {
            System.out.println("It's a tie!");
        } else {
            System.out.println("You lose!");
        }
        break;
    case "s":
        if (compChoice == 0) {
            System.out.println("You lose!");
        } else if (compChoice == 1) {
            System.out.println("You win!");
        } else {
            System.out.println("It's a tie!");
        }
        break;
    default:
        System.out.println("Invalid choice!");
        break;
}

위의 코드에서는 사용자가 '바위'를 선택했을 경우를 예시로 보여주었습니다. '가위'와 '보'에 대한 승패 결정 로직을 추가하였습니다.

이제 자바를 사용하여 가위바위보 게임을 만드는 방법을 알게 되었습니다. 이를 통해 프로그래밍의 기본 개념과 자바 언어의 활용법을 익힐 수 있습니다. 다양한 입력과 조건에 따른 출력을 테스트하여 프로그램이 정상적으로 동작하는지 확인해보세요. 이를 통해 프로그래밍 실력을 향상시킬 수 있을 것입니다.

 

 

7. 전체 코드

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

public class RockPaperScissors {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();

        String userChoice;
        int compChoice;

        while (true) {
            System.out.print("Enter 'r' for rock, 'p' for paper, 's' for scissors, 'q' to quit: ");
            userChoice = scanner.next();

            if (userChoice.equals("q")) {
                break;
            }

            compChoice = random.nextInt(3);  // 0, 1, 2 중 하나의 난수 생성

            switch (userChoice) {
                case "r":
                    if (compChoice == 0) {
                        System.out.println("It's a tie!");
                    } else if (compChoice == 1) {
                        System.out.println("You lose!");
                    } else {
                        System.out.println("You win!");
                    }
                    break;
                case "p":
                    if (compChoice == 0) {
                        System.out.println("You win!");
                    } else if (compChoice == 1) {
                        System.out.println("It's a tie!");
                    } else {
                        System.out.println("You lose!");
                    }
                    break;
                case "s":
                    if (compChoice == 0) {
                        System.out.println("You lose!");
                    } else if (compChoice == 1) {
                        System.out.println("You win!");
                    } else {
                        System.out.println("It's a tie!");
                    }
                    break;
                default:
                    System.out.println("Invalid choice!");
                    break;
            }
        }

        scanner.close();
    }
}

위의 코드는 전체적인 자바 코드로 가위바위보 게임을 구현한 것입니다. 사용자로부터 입력을 받아 컴퓨터의 선택과 비교하여 승패를 결정하고, 사용자가 'q'를 입력하면 게임이 종료됩니다.

댓글