import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;

public class Test {
    Random random = new Random();
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int  com, draw, win, lose, round;
    String temp, user;
    void com(){
    	// 0 ~ 3
        com = random.nextInt(3)+1;
    }
    // com의 랜덤 숫자를 String변환
    void comString() {
        if(com == 1){
            temp = "가위";
            pln("Conputer: "+temp);
        }else if(com == 2 ){
            temp = "바위";
            pln("Conputer: "+temp);
        }else if(com == 3){
            temp = "보";
            pln("Conputer: "+temp);
        }
    }
    // user입력
    void user() {
        pln("입력해주세요: ");
        try {
            user = br.readLine();
            pln("user: "+ user);
        } catch (IOException e) {}
    }
    // 게임진행 round
    void round() { 
        while (true) {
            p("몇판을 진행할까요 ? ");
            try {
                round = Integer.parseInt(br.readLine());
                break;
            } catch (NumberFormatException ne) {
                pln("숫자만 입력해주세요.!");
                continue;
            } catch (IOException e) {
            } 
        }
    }
    void figth(){
        pln("round: "+round);
        for(int i=0; i<round; i++) {
            user();
            com();
            comString();
            if(temp.equals("가위")) {
                if(user.equals("가위")) {
                    pln("draw");
                    draw++;
                }else if(user.equals("바위")) {
                    pln("win");
                    win++;
                }else if(user.equals("보")) {
                    pln("lose");
                    lose++;
                }else {
                    pln("가위,바위,보만 내주세요");
                    i--;
                }
            }
            if(temp.equals("바위")) {
                if(user.equals("가위")) {
                    pln("lose");
                    lose++;
                }else if(user.equals("바위")) {
                    pln("draw");
                    draw++;
                }else if(user.equals("보")) {
                    pln("win");
                    win++;
                }else {
                    pln("가위,바위,보만 내주세요");
                    i--;
                }
            }
            if(temp.equals("보")) {
                if(user.equals("가위")) {
                    pln("win");
                    win++;
                }else if(user.equals("바위")) {
                    pln("lose");
                    lose++;
                }else if(user.equals("보")) {
                    pln("draw");
                    draw++;
                }else {
                    pln("가위,바위,보만 내주세요");
                    i--;
                }
            }
        }
        if((draw >= lose) || (draw >= win) || (lose == win)) {
            pln("결과는 ? draw: "+ draw);
        }else if((win >lose) || (win>draw)) {
            pln("결과는 ? win: "+ win);
        }else if((lose > win) || (lose > draw)){
            pln("결과는 ? lose: "+ lose);
        }
    }
    void pln(String str){
        System.out.println(str);
    }
    void p(String str) {
        System.out.print(str);
    }
    public static void main(String[] args) {
        Test t = new Test();
        t.pln("컴퓨터 vs 나 가위바위보 게임!!!!");

        t.round();
        t.pln("===========GAME START!!==========");
        t.figth();
    }
}

 

 

가위바위보 게임

 

 

필자는 자바 공부 중인 학생입니다.

많이 부족한 초보입니다.

피드백해주시면 감사히 받아들이겠습니다.

'문제풀이 > Java' 카테고리의 다른 글

[자바] (업그레이드) 계산기  (0) 2021.05.12
[자바] 계산기  (0) 2021.05.12
[자바] 배열 순차 정렬  (0) 2021.05.11
[자바] 로또 번호 생성  (0) 2021.05.10
[자바] Baseball Game  (0) 2021.05.10

+ Recent posts