Java

[Java] 가위바위보 게임

웨일파도 2023. 3. 8. 13:16
반응형

2023.03.08. 3일차 수업

package chapter05;

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

public class RockPaperScissorsGame {

	public static void main(String[] args) {

		Random random = new Random();
		Scanner scan = new Scanner(System.in);
		
		int win = 0; // 승 횟수 카운트
		int lose = 0; // 패 횟수 카운트
		int same = 0; // 무 횟수 카운트
		
		while (true) {
			
			int computerNum = random.nextInt(3); // 0-2 랜덤 숫자 생성
			String player = "";
			String Computer = "";
			
			
			System.out.println("가위(0), 바위(1), 보(2) 입력 ");
			int playerNum = scan.nextInt(); // 플레이어 숫자 입력
			
			if (playerNum >= 0 && playerNum <= 2) { // 0-2 사이의 숫자를 잘 입력한 경우 실행
				
				switch (playerNum) {
				case 0 :
					player = "가위";
					break;
				case 1 :
					player = "바위";
					break;
				case 2 : 
					player = "보";
					break;
			}
			
			switch (computerNum) {
			case 0 :
				Computer = "가위";
				break;
			case 1 :
				Computer = "바위";
				break;
			case 2 : 
				Computer = "보";
				break;
			}
		
				
			System.out.println("Player   : " + player);
			System.out.println("Computer : " + Computer);
			
			if (playerNum == computerNum) { // 비기는 경우
				System.out.println("비겼습니다.");
				same++;
	
			} else if (playerNum == 0 ) { // 플레이어 : 가위 
				if (computerNum == 1) { // 컴퓨터 : 바위
					System.out.println("Player \"Lose\"");
					lose++;
				} else { // 컴퓨터 : 보
					System.out.println("Player \"Win\"");
					win++;
				}
				
			} else if (playerNum == 1) { // 플레이어 : 바위
				if (computerNum == 0) { // 컴퓨터 : 가위
					System.out.println("Player \"Win\"");
					win++;
				} else { // 컴퓨터 : 보
					System.out.println("Player \"Lose\"");
					lose++;
				} 
			} 
			
			else if (playerNum == 2) { //  플레이어 : 보
				if (computerNum == 1) { // 컴퓨터 : 바위
					System.out.println("Player \"Win\"");
					win++;	
				} else { // 컴퓨터 : 가위
					System.out.println("Player \"Lose\"");
					lose++;
				}
			}
			
			
			System.out.println("Player ==> " + win + "승 " + lose + "패 " + same + "무");
			System.out.println("재대결(1), 종료(2)");
			
			int gameStart = scan.nextInt();
			if (gameStart == 2) {
				System.out.println("게임이 종료되었습니다");
				break;
			} else if (gameStart == 1) {
				System.out.println();
			} 
				
			
			} else { // 0-2 사이의 숫자를 입력하지 않았을 경우
				System.out.println("0,1,2 숫자를 입력하세요.");
				System.out.println("가위(0), 바위(1), 보(2) 입력 ");
				playerNum = scan.nextInt();
			}
			
			
		} // while 조건문 끝
		
	} 

	}
반응형

'Java' 카테고리의 다른 글

[Java] 선택 정렬 알고리즘  (0) 2023.03.08
[Java] 로또 숫자 생성  (0) 2023.03.08
[Java] 랜덤숫자 맞추기 게임  (0) 2023.03.08
[Java] 랜덤 구구단 게임  (0) 2023.03.08
[Java] 자료형과 변수  (0) 2023.02.22