-조건 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;
}
}