ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (Java)자바로 가위바위보 게임 만들기(1)
    개발 완료 2020. 4. 2. 23:24
    반응형

    1. 목적

    • Java를 이용해 콘솔에 가위바위보 게임을 찍기
    • 컴퓨터는 가위바위보 중 랜덤으로 냅니다

     

    2. 코드

    package Java_Study;
     
    import java.util.Scanner;
     
    public class Main {
        public static void main(String[] args) {
     
            String[] ran = {"Rock""Scissor""Paper"};
            Scanner scanner = new Scanner(System.in);
     
            for (int i = 0; i < 1; i++) {
                System.out.println("Rock Scissor Paper!");
                String me = scanner.nextLine();
     
                int tmp = (int)(Math.random()*3);
                System.out.println(ran[tmp]);
     
                while (me.equals("Rock")) {
                    if (tmp == 0) {
                        System.out.println("Draw!");
                        break;
                    }
                    if (tmp == 1) {
                        System.out.println("You win!");
                        break;
                    }
                    if (tmp == 2) {
                        System.out.println("You lose!");
                        break;
                    }
                }
                while (me.equals("Scissor")) {
                    if (tmp == 0) {
                        System.out.println("You lose!");
                        break;
                    }
                    if (tmp == 1) {
                        System.out.println("Draw!");
                        break;
                    }
                    if (tmp == 2) {
                        System.out.println("You win!");
                        break;
                    }
                }
                while (me.equals("Paper")) {
                    if (tmp == 0) {
                        System.out.println("You win!");
                        break;
                    }
                    if (tmp == 1) {
                        System.out.println("You lose!");
                        break;
                    }
                    if (tmp == 2) {
                        System.out.println("Draw!");
                        break;
                    }
                }
            }
        }
    }

     

     

    2. 1. 코드 설명

            String[] ran = {"Rock", "Scissor", "Paper"};
            Scanner scanner = new Scanner(System.in);

     

    ran이라는 배열에 가위바위보를 넣는다.

    Scanner를 가져와서 콘솔에서 나의 가위바위보를 받는다

     

            for (int i = 0; i < 1; i++) {
                System.out.println("Rock Scissor Paper!");
                String me = scanner.nextLine();
    
                int tmp = (int)(Math.random()*3);
                System.out.println(ran[tmp]);

     

    for문, Math.random을 돌려서,

    ran 배열 중 아무거나 랜덤으로 가지고 온다

     

    내가 낸 값은 me에 저장된다

     

                while (me.equals("Rock")) {
                    if (tmp == 0) {
                        System.out.println("Draw!");
                        break;
                    }
                    if (tmp == 1) {
                        System.out.println("You win!");
                        break;
                    }
                    if (tmp == 2) {
                        System.out.println("You lose!");
                        break;
                    }
                }
                while (me.equals("Scissor")) {
                    if (tmp == 0) {
                        System.out.println("You lose!");
                        break;
                    }
                    if (tmp == 1) {
                        System.out.println("Draw!");
                        break;
                    }
                    if (tmp == 2) {
                        System.out.println("You win!");
                        break;
                    }
                }
                while (me.equals("Paper")) {
                    if (tmp == 0) {
                        System.out.println("You win!");
                        break;
                    }
                    if (tmp == 1) {
                        System.out.println("You lose!");
                        break;
                    }
                    if (tmp == 2) {
                        System.out.println("Draw!");
                        break;
                    }

     

    내가 낸 값에 따라서 승패를 판단한다.

     

    if문에는 random으로 가지고 온 배열의 자릿수를 나타내는 것이다.

    즉 0번째면 Rock.

     

    3. 문제점

    • 배열과 for문으로 인한 속도 저하
    • while문 때문에 코드의 중복 및 지저분함

     

    4. 자바로 가위바위보 게임 만들기(2

    (Java)자바로 가위바위보 게임 만들기(2)

    반응형

    댓글

Designed by Tistory.