본문 바로가기
자바 프로그래밍/코드

가위바위보 게임-Math.random()을 이용

by 구리Guri 2020. 2. 11.
import java.util.Scanner;

//가위바위보 게임
//가위바위보 중 하나를 선택, 승패를 결정하는 게임

public class Quiz_05 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int player=0; //플레이어 패
		int com=0; //컴퓨터 패
		int sw=0; //프로그램 재시작/종료 스위치

		//가위바위보 프로그램 시작
		while(true) {
			com = (int)(Math.random()*(3-1+1)+1); //컴퓨터 패 선택
			
			//플레이어 패 입력 시작
			while(true) {
				try {//플레이어 패 입력
					System.out.println("=====가위 바위 보 게임=====");
					System.out.print("숫자를 선택하세요 (1.가위 / 2.바위 / 3.보) : ");
					player=Integer.parseInt(sc.nextLine()); //플레이어 패 입력
					if(player==1 || player==2 || player==3) { //선택지의 입력이 들어오면
						//컴퓨터의 패 표기
						if(com==1) {
							System.out.println("PC는 가위를 냈습니다.");
						}else if(com==2) {
							System.out.println("PC는 바위를 냈습니다.");
						}else if(com==3) {
							System.out.println("PC는 보를 냈습니다.");
						}

						//플레이어의 패 표기
						if(player==1) {
							System.out.println("당신은 가위를 냈습니다.");
						}else if(player==2) {
							System.out.println("당신은 바위를 냈습니다.");
						}else if(player==3) {
							System.out.println("당신은 보를 냈습니다.");
						}

						//가위바위보 승패판정
						if((player==1&&com==3)||(player==2&&com==1) ||(player==3&&com==2)) {
							System.out.println("당신이 이겼습니다.");
						}else if((player==3&&com==1)||(player==1&&com==2) ||(player==2&&com==3)) {
							System.out.println("컴퓨터가 이겼습니다.");
						}else if(player==com){
							System.out.println("비겼습니다");
						}

						break;
					}else {//선택지 외 숫자 입력
						System.out.println("선택지의 숫자를 입력해주세요.");
						continue;
					}

				}catch(Exception e) {//문자입력시 예외처리
					System.out.println("숫자를 입력해주세요.");
				}
			}
			//플레이어 패 입력  끝


			//프로그램 재시작/종료 스위치 시작
			while(true) { 
				try { //재시작종료유무 입력
					System.out.print("계속하시겠습니까? (1.Y / 2.N)  : ");
					sw=Integer.parseInt(sc.nextLine());

					if(sw==1) {//계속진행
						break;
					}else if(sw==2) {//게임종료
						System.out.println("=============");
						System.out.println("가위바위보게임 종료");
						System.exit(0);
					}else { //선택지 외 숫자 입력
						System.out.println("잘못입력하셨습니다. 다시 입력해주세요.");
					}
				}catch(Exception e){ //재시작종료유무-문자입력시 예외처리
					System.out.println("숫자를 입력해주세요.");
				}
			}
			//프로그램 재시작/종료 스위치 끝		
		}
		//가위바위보 프로그램 끝
	}
}

댓글0