Daily coding
Java Basic : day 4 - Example 02 : 가위바위보 (Rock Scissors Paper) 본문
Language/Java_basic
Java Basic : day 4 - Example 02 : 가위바위보 (Rock Scissors Paper)
sunnnkim 2019. 11. 22. 18:36package day4;
import java.util.Random;
import java.util.Scanner;
public class Ex02_RockScissorsPaper {
public static void main(String[] args) {
/*
가위 바위 보
user : com
출력
0 win 0 lose 0 draw
replay
*/
Random r = new Random();
Scanner sc = new Scanner(System.in);
// 선언
int user, com;
int result;
int win, lose, draw;
String msg;
String u_str; // 유저가 낸 값 String 출력
String c_str; // 컴퓨터의 값 String 출력
// 초기화
win = draw = lose = 0;
u_str="";
c_str="";
while(true) {
// 입력 및 랜덤 수 할당
com = r.nextInt(3) + 1;
switch(com) {
case 1:
c_str = "가위";
break;
case 2:
c_str = "바위";
break;
case 3:
c_str = "보";
break;
}
System.out.println("< 가위 바위 보 게임 >");
System.out.println(" --------------");
while(true) {
try {
System.out.println("1.가위 2.바위 3.보");
System.out.print(">> ");
user = sc.nextInt();
switch(user) {
case 1:
u_str = "가위";
break;
case 2:
u_str = "바위";
break;
case 3:
u_str = "보";
break;
default :
System.out.println("잘못 입력했습니다.");
continue;
}break;
} catch (Exception e) {
System.out.println("잘못 입력했습니다.");
sc.nextLine();
}
}
// 판단
// 1.가위 2.바위 3.보
// 이기는 경우
if( user == 1 && com == 3 || user == 2 && com == 1 || user == 3 && com == 2 ) {
win++;
result = 1;
}
// 지는 경우
else if( user == 1 && com == 2 || user == 2 && com == 3 || user == 3 && com == 1 ) {
lose++;
result = 2;
}
// 비기는 경우
else {
draw++;
result = 3;
}
/*
com user win
2 - 0 + 2 = 4 % 3 -> 1
0 - 1 + 2 = 1
1 - 2 + 2 = 1
com user lose
0 - 2 + 2 = 0 % 3 -> 0
1 - 0 + 2 = 3
2 - 1 + 2 = 3
com user draw
0 - 0 + 2 = 2 % 3 -> 2
1 - 1 + 2 = 2
2 - 2 + 2 = 2
*/
// 출력
System.out.println("-나 : " + u_str + "\n-컴퓨터 : "+ c_str);
switch(result) {
case 1:
System.out.println("이겼습니다 !");
break;
case 2 :
System.out.println("졌습니다 !");
break;
case 3:
System.out.println("비겼습니다 !");
break;
}
System.out.println(win + "승 "+ lose + "패 " + draw + "무");
System.out.print("다시 하시겠습니다? (y/n) : ");
msg = sc.next();
if(!msg.equalsIgnoreCase("y")) {
System.out.println("GAME OVER");
break;
}
System.out.println("*RESTRAT*");
}
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 5 - Shuffle (카드 섞기) (0) | 2019.11.22 |
---|---|
Java Basic : day 4 - Example 03 : boolean 배열을 이용한 중복값 처리 (0) | 2019.11.22 |
Java Basic : day 4 - Example 01 : 숫자 맞추기 게임 (ramdom()) (0) | 2019.11.22 |
Java Basic : day 4 - 래퍼 클래스(Wrapper Class) (0) | 2019.11.22 |
Java Basic : day 4 - 피보나치 수열 (Fibonacci sequence) (0) | 2019.11.22 |