스캐너로 입력받고 저장하기
- 대결 상대는 컴퓨터이다.
- 플레이어는 1 ~ 3 까지의 숫자를 스캐너를 통해 입력하여 가위, 바위, 보 중에 하나를 선택할 수 있다.
- 컴퓨터는 1 ~ 3 까지의 숫자 중 랜덤 한 수 하나를 배정받았다.
- 각각 user, com 변수에 저장했다.
Scanner sc = new Scanner(System.in);
System.out.println("[1: 가위 2:바위 3:보]");
int user = sc.nextInt();
int com = (int) (Math.random() * 3 + 1 - 1) + 1;
입력받은 값을 설정해주기
- 앞서 입력받은 숫자는 아직까지는 단순히 숫자에 불과하다. 이것을 1은 가위, 2는 바위, 3은 보자기로 설정해주자.
- user와 com을 파라미터로 받아오는 game 메소드를 만들었다.
public static void game(int user, int com) {
}
- switch를 사용해서 숫자에 맞는 손가락 모양을 각각 users 와 coms 에 저장했다.
public static void game(int user, int com) {
// user
String users = null;
switch (user) {
case 1:
users = "가위!";
break;
case 2:
users = "바위!";
break;
case 3:
users = "보자기!";
break;
}
// computer
String coms = null;
switch (com) {
case 1:
coms = "가위!";
break;
case 2:
coms = "바위!";
break;
case 3:
coms = "보자기!";
break;
}
}
게임의 결과 출력하기
- 게임의 결과도 game메소드에 이어서 작성했다.
- 플레이어의 시점에서 승리, 무승부, 패배가 실행되도록 했다.
- if ~ else if 를 사용해서 가위바위보 게임의 경우의 수에 따라 승패가 출력되도록 했다.
System.out.println("-------- 가위 바위 보 !----------");
System.out.printf("[나: %s] VS [컴퓨터: %s]\n", users, coms);
if ((com == 1 && user == 1) || (com == 2 && user == 2) || (com == 3 && user == 3)) {
System.out.println("무승부...");
} else if ((com == 1 && user == 2) || (com == 2 && user == 3) || (com == 3 && user == 1)) {
System.out.println("승리!");
} else if ((com == 1 && user == 3) || (com == 2 && user == 1) || (com == 3 && user == 2)) {
System.out.println("패배ㅠㅠ");
}
가위바위보 게임 코드
public class RCP {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("[1: 가위 2:바위 3:보]");
int user = sc.nextInt();
int com = (int) (Math.random() * 3 + 1 - 1) + 1;
game(user, com);
}
public static void game(int user, int com) {
// user
String users = null;
switch (user) {
case 1:
users = "가위!";
break;
case 2:
users = "바위!";
break;
case 3:
users = "보자기!";
break;
}
// computer
String coms = null;
switch (com) {
case 1:
coms = "가위!";
break;
case 2:
coms = "바위!";
break;
case 3:
coms = "보자기!";
break;
}
System.out.println("-------- 가위 바위 보 !----------");
System.out.printf("[나: %s] VS [컴퓨터: %s]\n", users, coms);
if ((com == 1 && user == 1) || (com == 2 && user == 2) || (com == 3 && user == 3)) {
System.out.println("무승부...");
} else if ((com == 1 && user == 2) || (com == 2 && user == 3) || (com == 3 && user == 1)) {
System.out.println("승리!");
} else if ((com == 1 && user == 3) || (com == 2 && user == 1) || (com == 3 && user == 2)) {
System.out.println("패배ㅠㅠ");
}
}
}
이클립스에서 실행 시 콘솔창에 보여지는 화면
댓글