SW공부 26일차

Guryena·2023년 2월 3일
0

CS

목록 보기
19/34

1.아래 가위바위보 프로그램을 짜시오.

-조건 Main 에서 모든 로직을 짜지 말것.
-가위,바위,보에 대한 데이터 멤버를 가진 class 를 기본적으로 만들것\
예)

class RspPlayer{
    //1.가위 2.바위 3.보
    private int rsp;  
    .....
    .....

  ...
 public void result(RspPlayer player){
     === 승부 결과 출력 로직
 }
}
===========================
가위 바위 보를 입력하세요.
가위
나는:바위 당신은:가위
제가 이겼습니다.
계속 Y :: 중단 N
y
가위 바위 보를 입력하세요.
보
나는:보 당신은:보
비겼습니다
계속 Y :: 중단 N
n
안녕히 가세요
import java.util.Scanner;

public class Play {

	public static void main(String[] args) {
		while (true) {
			Scanner sc = new Scanner(System.in);
			String Input = sc.next();

			int rsp = 0;
			if (Input.equals("가위")) {
				rsp = 1;
			} else if (Input.equals("바위")) {
				rsp = 2;
			} else if (Input.equals("보")) {
				rsp = 3;
			} else {
				System.out.println("옯바른 값을 입력하세요");
			}

			RspPlayer player = new RspPlayer(rsp);
			System.out.println(player.setResult());

			System.out.println(player.tryM());

			String yORn = sc.next();
			if (yORn.equals("y") || yORn.equals("Y")) {
				continue;
			} else if (yORn.equals("n") || yORn.equals("N")) {
				System.out.println("exit");
				System.exit(0);
			}
		}

	}
}
import java.util.Random;

public class RspPlayer {
	private int rsp;
	private String result;

	public RspPlayer(int inputRsp) {
		this.rsp = inputRsp;
	}

	public String setResult() {
		RspCom com = new RspCom();
		if (rsp - com.myRSP() == 1 || rsp - com.myRSP() == -2) {
			result = "You Win";
		} else if (rsp == com.myRSP()) {
			result = "Draw";
		} else if (rsp - com.myRSP() == -1 || rsp - com.myRSP() == 2) {
			result = "You Lose";
		}
		return result;
	}

	public String tryM() {
		return "Retry (Y/N)";
	}

}
import java.util.Random;

public class RspCom {
	public int myRSP() {
		Random random = new Random();
		int myRsp = (int) (random.nextInt(3) + 1);
		return myRsp;
	}

}

0개의 댓글