본문 바로가기

JAVA/조건문 문제

카드게임 만들기

문제


숨겨진 카드의 수를 맞추는 게임을 만들어보자. 0~99까지의 임의의 수를 가진 카드를 한 장 숨기고 이 카드의 수를 맞추는 게임이다. 아래의 화면과 같이 카드 속의 수가 77인 경우 수를 맞추는 사람이 55라고 입력하면 " 더 높게 " , 다시70을 입력하면 " 더 높게 " 라는 식으로 범위를 좁혀가면서 수를 맞춘다. 게임을 반복하기 위해 y/n을 묻고, n인 경우 종료된다.

           


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

        
        Scanner Scanner = new Scanner(System.in); 
        Random Random = new Random();
 
        int score = 0// user 값 서언
        int R = 0// Random값 선언
        int count = 1// 횟수 체크 
        
        boolean check = true;// while문을 동작시키기 위한 값
 
        while (check) { // while : 조건이 맞을경우에만 실행된다. // boolean 으로 true 지정 true는 참 이므로 무조건 반복한다.
 
            if (count == 1) { // 게임 다시시작 하였을때 돌아갑니다.
 
                R = Random.nextInt(100); // 0~99 랜덤 숫자 지정
                System.out.println("수를 결정하였습니다. 맞추어 보세요");
                System.out.println("0~99 , (답 : " + R + ")");
 
            }
 
            System.out.print(count + ">>");
            score = Scanner.nextInt(); // user 점수 입력란
 
            if (R > score) {
                System.out.println("더 높게");
                count++// 횟수 증가 (1)
            
            } else if (R < score) {
                System.out.println("더 낮게");
                count++;// 횟수 증가 (2)
            
            } else {
                System.out.println("맞았습니다.");
                System.out.print("다시하시겠습니까?(y/n)");
 
                String text = Scanner.next(); // user가 다시하기/종료 입력란
 
                if (text.equals("y")) { // y 눌렀을떄 게임 다시시작
                    check = true;
                
                } else { // n 눌렀을떄 게임 종료
                    check = false;
                }
 
                count = 1// 되돌아가기 처음 While문으로 
            }
 
        }
 
    }



'JAVA > 조건문 문제' 카테고리의 다른 글

if문(환율 계산)하기.  (0) 2018.06.16
if문(십의 자리와 1의 자리가 같은지 판별하기)  (1) 2018.06.16
if문(1~10까지 합 구하기)  (0) 2018.06.16
for문(별 모양 그리기)  (0) 2018.06.16
for(구구단) 구하기.  (0) 2018.06.16