Random 함수를 사용해서 간단하게 가위 바위 보 게임을 만들어 봤습니다.

가위, 바위, 보가 아닌 다른 문자를 받을 경우 에러 메시지를 출력하는 것 까지 테스트 했습니다.

 

가위 바위 보 게임 소스

 

import java.util.Random;
import java.util.Scanner;

public class rsp {
 
 static Random rd = new Random();
 static Scanner sc = new Scanner(System.in);
 
 //가위 0 바위 1 보 2
 //에러 메시지 출력을 위해 3을 default 값으로 둠
 static int user = 3;
 
 //0,1,2 3가지의 숫자를 랜덤으로 가짐.
 static int computer = rd.nextInt(3);
 
 //사용자가 입력할 가위, 바위, 보를 담는 변수
 static String game;
 
 //사용자의 가위, 바위, 보를 int 형으로 받는 클래스
 public void rspGame()
 {
  System.out.print("가위 , 바위, 보 입력 :");
  game = sc.next();
  
  switch(game)
  {
   case "가위":
    user=  0;
   break;
  
   case "바위":
    user=1;
   break;
   
   case "보":
    user=2;
   break;
  
   default:
    user=3;
   break;
  }
 }
 
 //사용자가 입력한 가위,바위,보 와 컴퓨터의 값을 비교하는 함수
 public void fight()
 {
  switch(computer)
  {
  case 0 :
   System.out.print("컴퓨터 : 가위");
   break;
  case 1:
   System.out.print("컴퓨터 : 바위");
   break;
  case 2:
   System.out.print("컴퓨터 : 보");
   break;
  }
  
  System.out.println("");
  
  if(user == 3)
  {
   System.out.println("에러");
  }
  else if(user == computer)
  {
   System.out.println("무승부");
  }
  else if(user == 0 || computer == 1)
  {
   System.out.println("졌습니다. (컴퓨터 승)");
  }
  else if(user == 0 || computer == 2)
  {
   System.out.println("이겼습니다. (user 승)");
  }
  else if(user == 1 || computer == 0)
  {
   System.out.println("이겼습니다. (user 승)");
  }
  else if(user == 1 || computer == 2)
  {
   System.out.println("졌습니다. (computer 승)");
  }
  else if(user == 2 || computer == 0)
  {
   System.out.println("졌습니다. (computer 승)");
  }
  else if(user == 2 || computer == 1)
  {
   System.out.println("이겼습니다. (user 승)");
  }
  else
  {
   System.out.println("잘못된 입력입니다.");
  }
 }
 
 
 public static void main(String args[])
 {
  
  rsp gam = new rsp();
  
  //함수 선언
  gam.rspGame();
  gam.fight();
   
 }
}

 

 

+ Recent posts