개키우는개발자 : )

[Java] 자바 가위,바위,보 게임 만들기 (승률 포함) 본문

JAVA/Code Note

[Java] 자바 가위,바위,보 게임 만들기 (승률 포함)

DOGvelopers 2019. 2. 19. 23:47
반응형

광고 클릭은 개발자(저) 에게 큰힘이 됩니다!!'ㅁ'

가위 바위 보!!


최대 10번까지 가능한 가위바위보 게임




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package test.game;
 
import java.util.Random;
import java.util.Scanner;
 
public class Ggb {
 
    
    
    public static void main(String[] args) {
        
        /*
         * 컴퓨터와 가위,바위,보 게임을 해서 몇번을 이기는지 승률 알아보기. 
         * 가위[1] 바위[2] 보[3]
         */
        
        //입력 메서드 객체화
        Scanner sc = new Scanner(System.in);
        
        //컴퓨터와 유저가 무었을 내었는지 확인
        String comStr="",userStr="";
        
        //결과
        int win=0,lose=0,draw=0,fail=0;
        
        //Start
        System.out.println("코인을 집어 넣으세요(최대 10)");
        
        //게임 횟수
        int coin = sc.nextInt();
        
        //10이상일 경우 프로그램 종료
        if(coin > 10) {
            System.out.println("10회 이상 사용할 수 없습니다.");
            return;
        }
        
        //게임 시작
        System.out.println("===============GAME START================");
        System.out.println("어떤걸 내시겠습니까? 가위[1] 바위[2] 보[3]");
        for(int i = 0;i < coin;i++) {
            //1~3의 랜덤 숫자
            int computer =(int)(Math.random()*3)+1;
            //사용자 입력값
            int user = sc.nextInt();
            //컴퓨터 값
            if(computer == 1) {
                comStr="가위";
            }else if(computer == 2) {
                comStr="바위";
            }else if(computer == 3) {
                comStr="보";
            }else {
                comStr="시스템 오류";
            }
            //유저의 값
            if(user == 1) {
                userStr="가위";
            }else if(user == 2) {
                userStr="바위";
            }else if(user == 3) {
                userStr="보";
            }else {
                userStr="손가락 오류";
            }
            System.out.println("[유저] "+userStr+"  =VS= "+comStr+" [컴퓨터]");
            if(user >= 1 && user <= 3) {
                if((computer == 1 && user == 2|| (computer == 2 && user == 3|| (computer == 3 && user == 1)) {
                    win++;
                    System.out.println("[승리]");
                }else if(computer == user) {
                    lose++;
                    System.out.println("[무승부]");
                }else {
                    draw++;
                    System.out.println("[패배]");
                }
            }else {
                fail++;
                System.out.println("값을 잘못 입력 하였습니다.");    
            }
            System.out.println("=========================================");
        }
        // 승리 / (총 경기) x 100
        float odds = ((float)win/(float)(coin))*100;
        
        System.out.println("[결과] 게임 횟수 : " +coin);
        System.out.println("[전적] win:"+win+"번, lose:"+lose+"번, draw:"+draw+"번, 무효:"+fail+"번");
        System.out.printf("[승률] %.2f%% \n",odds);
        System.out.println("================GAME END=================");
        sc.close();
    }
}
 
cs


10경기 결과


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
코인을 집어 넣으세요(최대 10)
10
===============GAME START================
어떤걸 내시겠습니까? 가위[1] 바위[2] 보[3]
1
[유저] 가위  =VS= 보 [컴퓨터]
[승리]
=========================================
1
[유저] 가위  =VS= 바위 [컴퓨터]
[패배]
=========================================
1
[유저] 가위  =VS= 바위 [컴퓨터]
[패배]
=========================================
1
[유저] 가위  =VS= 바위 [컴퓨터]
[패배]
=========================================
1
[유저] 가위  =VS= 가위 [컴퓨터]
[무승부]
=========================================
1
[유저] 가위  =VS= 가위 [컴퓨터]
[무승부]
=========================================
1
[유저] 가위  =VS= 가위 [컴퓨터]
[무승부]
=========================================
1
[유저] 가위  =VS= 보 [컴퓨터]
[승리]
=========================================
1
[유저] 가위  =VS= 바위 [컴퓨터]
[패배]
=========================================
1
[유저] 가위  =VS= 가위 [컴퓨터]
[무승부]
=========================================
[결과] 게임 횟수 : 10
[전적] win:2번, lose:4번, draw:4번, 무효:0번
[승률] 20.00% 
================GAME END=================
cs


반응형

'JAVA > Code Note' 카테고리의 다른 글

[Java] 369 게임  (0) 2019.02.20
[Java] 구구단 만들기  (0) 2019.02.20
Comments