JAVA

Test104.java / 클래스와 인스턴스 / 1 ~ 3 사이의 난수를 발생시켜서 가위, 바위, 보 게임 프로그램을 구현한다.

universedevelope 2022. 10. 14. 23:25
/* ===============================
   ■■■클래스와 인스턴스 ■■■
============================== */

// 클래스와 인스턴스 활용

// 1 ~ 3 사이의 난수를 발생시켜서
// 가위, 바위, 보 게임 프로그램을 구현한다.
// 단, 클래스의 개념을 활용하여 처리할 수 있도록 한다.
// 또한 최종적으로 RpsGame 클래스를 완성할 수 있도록 한다.

// ※ 기준 데이터 → 1 : 가위, 2 : 바위, 3 : 보

// 실행 예)
// 1:가위    2:바위     3:보    중 입력(1~3) : 4
// 1:가위    2:바위     3:보    중 입력(1~3) : -2
// 1:가위    2:바위     3:보    중 입력(1~3) : 2

// - 유  저 : 바위
// - 컴퓨터 : 보

// >> 승부 최종 결과 : 컴퓨터가 이겼습니다~!!!
// 계속하려면 아무 키나 누르세요...

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

class RpsGame
{

	private int user;
	private int com;
	
	String [] game = {"가위", "바위", "보"};

	private void computer()
	{
		Random rd = new Random();
		com = rd.nextInt(3)+1;
	
	}//end of void computer

	public void input()
	{
		Scanner sc = new Scanner(System.in);

		do
		{
			System.out.print("1:가위   2:바위   3:보   중 입력(1~3) : ");
			user = sc.nextInt();
		}
		while (user>3 || user<1);


	}//end of void input

	public void gaming()
	{
		computer();
		System.out.printf("- 유저 : %s%n", game[user-1]);
		System.out.printf("- 컴퓨터 : %s%n", game[com-1]);

	}// end of void gaming

	public void output()
	{
		
		if (user == com)
		{	
			System.out.println();
			System.out.println(">> 결과 : 무승부");
		}
		else if ((user==1 && com == 2) || (user==2 && com == 3) || (user==3 && com == 1))
		{
			System.out.println();
			System.out.println(">> 결과 : 컴 승");
		}
		else if ((user==1 && com == 3)|| (user==2 && com ==2) || (user==3 && com==2))
		{
			System.out.println();
			System.out.println(">> 결과 : 유저 승");
		}
	}//end of void output

}  // end of class RpsGame



public class Test104
{
	public static void main(String[] args)
	{
		
		RpsGame rg = new RpsGame();
		rg.input();
		rg.gaming();
		rg.output();
	}
	
}// end of class Test104

// 실행 결과

/*
1:가위   2:바위   3:보   중 입력(1~3) : 1

 - 유저 : 가위
 - 컴퓨터 : 가위

>> 승부 최종 결과 : 무승부
계속하려면 아무 키나 누르십시오 . . .
*/

/*
1:가위   2:바위   3:보   중 입력(1~3) : 2

 - 유저 : 바위
 - 컴퓨터 : 가위

>> 승부 최종 결과 : 유저 승
계속하려면 아무 키나 누르십시오 . . .
*/

/*
1:가위   2:바위   3:보   중 입력(1~3) : 3

 - 유저 : 보
 - 컴퓨터 : 가위

>> 승부 최종 결과 : 컴퓨터 승
계속하려면 아무 키나 누르십시오 . . .
*/
728x90