2024.12.19.목

kinkin_a·2024년 12월 19일

내일배움캠프 TIL

목록 보기
23/100

🏃‍♀️JAVA 달리기 퀘스트

✊보너스 문제: 가위 바위 보

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

public class rockGame {

    static int gameResult(String a, String b){

        if(a.equals(b)){
            return 0;
        }else if(a.equals("가위")){
            if(b.equals("바위")){
                return 1;
            }else if(b.equals("보")){
                return 2;
            }
        }else if(a.equals("바위")){
            if(b.equals("보")){
                return 1;
            }else if(b.equals("가위")){
                return 2;
            }
        }else if(a.equals("보")){
            if(b.equals("가위")){
                return 1;
            }else if(b.equals("바위")){
                return 2;
            }
        }else return -1;

        return 4;
    }

    public static void main(String[] args) {
        String[] comHand={"가위","바위","보"};
        String[] gift={"꽝","곰돌이인형","치킨","적축키보드","아이패드","아파트"};//상품
        int giftNum=0;//이긴횟수
        int result=-1;//게임결과 값
        int prs=-1;
        String comCard;//컴퓨터가 내는 패

        Random rand=new Random();


        Scanner scanner = new Scanner(System.in);


        for(int i=0;i<5;i++){//총 5번의 플레이
            System.out.println("가위 바위 보 중 하나를 입력해주세요!");
            String playerCard = scanner.nextLine();

            prs=rand.nextInt(3);//3이하의 숫자를 랜덤으로 받아서
            comCard=comHand[prs];//가위바위보 배열 중 하나를 고름

            result=gameResult(playerCard,comCard);
            //입력값을 계산하는 함수. 이기면 2, 지면 1, 비기면 0, 그 외는 -1을 반환한다.

            if(result==0){//비겼을 경우
                System.out.println("당신의 "+playerCard+" 그리고 상대는 "+comCard+" 으로 서로 비겼습니다.");
            }else if(result==1){//졌을 경우
                System.out.println("당신의 "+playerCard+" 그리고 상대는 "+comCard+" 으로 당신이 졌습니다..");
            }else if(result==2){//이겼을 경우
                System.out.println("당신의 "+playerCard+" 그리고 상대는 "+comCard+" 으로 당신이 이겼습니다!");
                giftNum++;
            }else if(result==-1){
                System.out.println("잘못된 입력입니다!");
                i--;//잘못된 입력으로 경기횟수 차감 방지.
            }

        }

        if(giftNum==0){
            System.out.println("컴퓨터의 승리입니다.");
        }else {
            System.out.println("축하합니다! 총" + giftNum + "회 승리하여 경품으로 [" + gift[giftNum] + "]을 획득하셨습니다!");
        }

    }
}

💭느낀점

확실히 코드가 길어지는 부분을 함수로 따로 작성하니 가독성이 좋아졌다.
어떻게든 사전캠프동안 강의와 퀘스트를 완료해서 다행이고,
이틀 남았지만 이제부터 전공책이나 검색으로 자율 공부를 해야겠다.
직장에서 가장 중요한 건 코드작성보다 커뮤니케이션 실력이라는데,
다음 주 본캠프 때 팀원한테 민폐 끼치지 않게 열심히 집중해서 노력해야겠다.

0개의 댓글