JAVA/반복문
while문 예제(2)
by pms93
2022. 7. 21.
package loop_while;
import java.util.Random;
import java.util.Scanner;
public class LoopWhileQuiz2 {
public static void main(String[] args) {
// Quiz1
// 1 ~ 6 주사위 수 3개를 컴퓨터와 유저가 무작위로 부여받아 겨루는 게임
Scanner sc = new Scanner(System.in);
Random rand = new Random();
int com = 0, total = 0, win = 0, lose = 0, draw = 0;
int sel, diceTotal = 0, myDice, money = 10000, bat = 0;
char sel2 = 'Y';
while (true) {
System.out.print("=== Dice Game ===\n1. Game Start\n2. Game Score\n3. End Game\n: ");
try {
sel = sc.nextInt();
} catch (Exception e) {
System.out.println("메뉴 확인 후 다시 입력하세요");
sc.nextLine();
continue;
}
switch (sel) {
case 1:
while (sel2 != 'N') {
if (money <= 0) {
System.out.println("배팅금액을 모두 잃었습니다. 종료합니다.");
System.exit(0);
}
System.out.printf("게임을 시작합니다\n소지금액 : %d원\n", money);
diceTotal = 0;
total++;
for (int i = 0; i < 3; i++) {
myDice = rand.nextInt(6) + 1;
System.out.printf("%d번째 주사위 : %d\n", i, myDice);
diceTotal += myDice;
}
System.out.printf("내 주사위 총 합 : %d\n", diceTotal);
boolean flag = true;
while (flag) {
bat = 0;
try {
System.out.print("배팅 금액을 입력하세요\n: ");
bat = sc.nextInt();
} catch (Exception e) {
System.out.println("잘못된 입력입니다.");
sc.nextLine();
continue;
}
if (bat > 0 && bat <= money)
flag = false;
}
com = rand.nextInt(16) + 3;
System.out.printf("컴퓨터 주사위 총 합 : %d\n", com);
if (diceTotal > com) {
money += bat;
win++;
System.out.printf("이겼습니다. %d원을 획득하였습니다.", bat);
} else if (diceTotal == com) {
draw++;
System.out.print("비겼습니다.");
} else {
money -= bat;
lose++;
System.out.printf("졌습니다. %d원을 잃으셨습니다.", bat);
}
while (true) {
System.out.println("계속 하시겠습니까?(y/n) : ");
System.out.println(sel2);
sel2 = sc.next().toUpperCase().charAt(0);
if (sel2 == 'Y' || sel2 == 'N')
break;
}
}
sel2 = 'Y';
break;
case 2:
System.out.printf("현재 %d전 %d승 %d무 %d패 입니다.\n", total, win, draw, lose);
break;
case 3:
System.out.println("프로그램을 종료합니다.");
System.exit(0);
}
}
}
}