본문 바로가기

카테고리 없음

상수를 이용한 가위바위보 게임

 

 

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
package day_07;
import java.util.Scanner;
import java.util.Random;
 
public class Day07Ex04 {
    static Scanner scanner = new Scanner(System.in);
    static Random random = new Random();
    
    public static final int 가위= 1;
    public static final int 바위= 2;
    public static final int 보= 3;
    public static void main(String[] args) {
        // 상수 사용하기 
        // 가위 - 바위 - 보 게임을 switch ~ case로 만들기
        //1: 가위, 2: 바위, 3: 보
        
        System.out.println("::: 가위 바위 보 게임 :::");
        System.out.println("1)가위    2)바위    3) 보");
        
        
        
        
        String[] arr= {"","가위","바위","보"};
 
        int sysNum= 가위 + random.nextInt(보);
        System.out.print("사용자 입력: ");
        int userNum= scanner.nextInt();
        
        while (!(userNum>= 가위 && userNum<=보)) {
            System.out.println("경고: 잘못 입력하셨습니다! ");
            System.out.print("사용자 입력: ");
            userNum= scanner.nextInt();// 가위가 아니면 다시 입력받게함
        }
        System.out.println("시스템> " + arr[sysNum] );
        System.out.println("사용자> " + arr[userNum] );
        if(userNum == sysNum) {
            System.out.println("결과: 비겼습니다!");
        } else { 
            switch(userNum) {
            case 가위: 
                switch(sysNum) {
                case 바위: System.out.println("시스템 승!"); break;
                case 보: System.out.println("사용자 승!"); break;
                }
                break;
            case 바위: 
                switch(sysNum) {
                case 보: System.out.println("시스템 승!"); break;
                case 가위: System.out.println("사용자 승!"); break;
                }
                break;
            case 보: 
                switch(sysNum) {
                case 가위: System.out.println("시스템 승!"); break;
                case 바위: System.out.println("사용자 승!"); break;
                }
            }
        }
    }
}
 
 
// 상수의 사용
// enum은 클래스화 된 상수 열거형이다. 
// 서로 관련 있는 상수들을 모아 심볼릭한 명칭의 집합으로 정의한 것. 
// enum 클래스형을 기반으로 클래스형 선언 가능
// 새 열거형을 만들면 내부적으로 enum 클래스형이 만들어진다. 
cs