개발 완료

(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)

반응형