JAVA BONUS

김국민·2025년 1월 15일

JAVA

목록 보기
4/21

문제 : 가위 바위 보

  • 5번의 가위바위보 게임을 해서 승리한 횟수 상당의 상품을 받아가는 게임을 만들어봐요
  1. 5번의 가위바위보를 진행합니다.

  2. 유저는 매 판마다 “가위”, “바위”, “보” 중 하나를 입력합니다.

    • 잘못된 입력을 받았다면 잘못된 입력입니다! 를 출력해주세요.
  3. 컴퓨터는 가위 , 바위, 보 중 랜덤하게 하나를 낼 수 있습니다.

  4. 매판마다 진행한 가위 바위 보의 승패에 대한 결과를 출력됩니다.

  5. 5판을 모두 마치면 승리한 횟수에 걸맞는 경품을 획득할 수 있습니다.


세가지 부분으로 나눈다.
1. 게임셋팅 INIT
2. 게임진행부분
3. 결과확인


  1. 게임세팅 INIT
Scanner sc = new Scanner(System.in);
Random rand = new Random();
String[] vals = {"가위", "바위", "보"};
String opp;
String me;
int res = 0;
int i = 0;
Map<Integer, String> gifts = new HashMap<>();
gifts.put(0, "꽝");
gifts.put(1, "곰돌이 인형");
gifts.put(2, "스파르타 랜드 입장권");
gifts.put(3, "스파르타 캐니언 항공 투어권");
gifts.put(4, "호텔 스파르타 숙박권");
gifts.put(5, "스파르테이트 항공권");

  1. 게임진행
while (i < 5) {
            System.out.println("가위 바위 보 중 하나를 입력해주세요!");
            me = sc.next();
            if(!inputCheck(me,vals)) continue;
            opp = vals[rand.nextInt(3)];
            if(check(me, opp, res)) res++;
            i++;
        }
 public static boolean check(String me, String opp, int res){
        boolean flag = false;
        switch (me){
            case "가위":
                if(opp.equals("가위")){
                    System.out.println("당신은 가위 그리고 상대는 가위로 서로 비겼습니다.");
                } else if (opp.equals("바위")) {
                    System.out.println("당신은 가위 그리고 상대는 바위로 당신이 졌습니다...");
                }else{
                    System.out.println("당신은 가위 그리고 상대는 보 로 당신이 이겼습니다.");
                    flag = true;
                }
                break;
            case "바위":
                if(opp.equals("가위")){
                    System.out.println("당신은 바위 그리고 상대는 가위로 당신이 이겼습니다.");
                    flag = true;
                } else if (opp.equals("바위")) {
                    System.out.println("당신은 바위 그리고 상대는 바위로 서로 비겼습니다.");
                }else{
                    System.out.println("당신은 바위 그리고 상대는 보 로 당신이 졌습니다...");
                }
                break;
            case "보":
                if(opp.equals("가위")){
                    System.out.println("당신은 보 그리고 상대는 가위로 당신이 졌습니다...");
                } else if (opp.equals("바위")) {
                    System.out.println("당신은 보 그리고 상대는 바위로 당신이 이겼습니다.");
                    flag= true;
                }else{
                    System.out.println("당신은 보 그리고 상대는 보 로 서로 비겼습니다.");
                }
                break;
            default:
                System.out.println("잘못된 입력입니다!");
                break;
        }
        return flag;
    }
    
public static boolean inputCheck(String me, String[] vals){
        boolean flag = false;
        for(String var : vals){
            if (var.equals(me)) {
                flag = true;
                break;
            }
        }
    return flag;
    }

  1. 결과
        System.out.println("축하합니다! 총 " + res + " 회 승리하여 경품으로 [" + gifts.get(res) + "] 을 획득하셨습니다!");
profile
개발지망생

0개의 댓글