Java 응용

Java 응용 (1. 가위바위보 게임)

Kw_w 2024. 3. 4. 18:56
  1. 가위 (1), 바위 (2), 보 (3)게임을 만들어보자
  2. 게임 후 전적표시 (승리, 무승부, 패배)
  3. 게임 후 사용자로부터 한 게임 더 혹은 종료메뉴를 보여주고 한 게임 더를 선택시 전적이 계속 누적되어야함
  4. 1~3까지 랜덤으로 숫자하나를 생성하고, 사용자로 부터 숫자하나를 입력 받아 게임을 진행
import java.util.Random;
import java.util.Scanner;

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

        while (true) {
            var target = random.nextInt(3)+1;
            System.out.println("가위(1), 바위(2), 보(3) 중 하나를 입력해주세요 :");
            var myNum = sc.nextInt();
            int win = 0;
            int lose = 0;
            int draw = 0;
            final int scissor = 1;
            final int rock = 2;
            final int paper = 3;

            if ( target == myNum) {
                System.out.println("무승부");
                draw++;
            }
            else{
                switch (target){
                    case scissor -> {
                        if(myNum == rock) {
                            System.out.println("승리");
                            win++;
                        }
                        else {
                            System.out.println("패배");
                            lose ++;
                        }
                    }
                    case rock -> {
                        if(myNum == scissor) {
                            System.out.println("패배");
                            lose++;
                        }
                        else {
                            System.out.println("승리");
                            win++;
                        }
                    }
                    case paper ->  {
                        if(myNum == scissor) {
                            System.out.println("승리");
                            win++;
                        }
                        else {
                            System.out.println("패배");
                            lose++;
                        }
                    }
                }
            }
            System.out.println("컴퓨터의 수 :" +target);
            System.out.println("전적... WIN : " + win + " ___ DRAW : "+draw+" ___ LOSE : "+lose);
            System.out.println("한 게임 더(1) or 종료 (2) :");
            int how = sc.nextInt();

            if (how == 2) break;
        }

    }
}