반응형

6.11> Math.random()의 난수 발생기를 이용하여 사용자와 컴퓨터가 하는 가위바위보 게임을 만들어보자. 가위, 바위, 보는 각각 1, 2, 3 키이다. 사용자가 1, 2, 3 키 중 하나를 입력하면 동시에 프로그램도 난수 발생기를 이용하여 1, 2, 3 중에 한 수를 발생시킨다. 그리고 사용자와 컴퓨터 둘 중 누가 이겼는지를 판별하여 승자를 출력하라. 게임은 반복되도록 작성한다


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
package SecondHW;
import java.util.Scanner//스캐너 사용을 위한 import
 
public class RCP {
 
    public static void main(String[] args) {
        int com;
        int user;
        int diff; //int 형 변수 com,user,diff 각각 컴퓨터, 사용자, 컴퓨터-사용자가 들어감
        Scanner s = new Scanner(System.in); //스캐너 객체 s
            while(true//무한 반복
            {
                System.out.print("가위(1),바위(2),보(3) 중 하나를 입력하세요 (4)는종료 : "); //문장 출력
                user=s.nextInt(); //user에 int 타입으로 리턴된 값 대입
                if(user==4//user가 4면 무한 루프 탈출
                    break;
                com=(int)(Math.floor(Math.random()*3)+1);  //*2+1 을하면 2가 나올 확률히 현저히 높아져 내림으로 하였습니다. com에 1~3중 무작위 정수 대입
                diff=user-com; //diff는 user에서 com 뺀 값
                if(com==1){ //com==1이면 컴퓨터는 가위라는 것 출력
                    System.out.println("컴퓨터는 가위를 냈습니다.");
                }
                else if(com==2){ //com==2이면 컴퓨터는 바위라는 것 출력
                    System.out.println("컴퓨터는 바위를 냈습니다.");
                }
                else if(com==3//com==1이면 컴퓨터는 보자기라는 것 출력
                    {System.out.println("컴퓨터는 보자기를 냈습니다.");}
                if(diff==0//diff==0이면 비겼음을 출력
                    System.out.println("비겼습니다.");
                else if(diff==1||diff==-2//diff==1이나 -2면 사용자가 승리(진리표를 만들어보면 승리는 두가지 조건밖에 없음)
                {
                    System.out.println("축하합니다! 당신이 이겼습니다.");
                } 
                else if(diff==2||diff==-1//diff==2이나 -1면 컴퓨터가 승리(진리표를 만들어보면 승리는 두가지 조건밖에 없음)
                {
                    System.out.println("네가 졌다 이 악마야!.");
                }}    }}
 
cs


반응형

'컴퓨터 & 프로그래밍 & 전자공학 > JAVA' 카테고리의 다른 글

가장 큰 수  (0) 2017.06.19
겜블링 게임  (0) 2017.06.19
대문자 개수 세기  (0) 2017.06.19
메소드 오버라이딩  (0) 2017.06.18
추상 클래스  (0) 2017.06.18

+ Recent posts