🍀 본격적으로 시작해 볼까요?
5번의 가위바위보 게임을 해서 승리한 횟수 상당의 상품을 받아가는 게임을 만들어봐요
Map<Integer, String> gifts = new HashMap<>();
gifts.put(0, "꽝");
gifts.put(1, "곰돌이 인형");
gifts.put(2, "스파르타 랜드 입장권");
gifts.put(3, "스파르타 캐니언 항공 투어권");
gifts.put(4, "호텔 스파르타 숙박권");
gifts.put(5, "스파르테이트 항공권");
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
public class RockPaperScissors {
private static int resultOfGame(String user, String computer) {
int result = 0;
String[] comments = {
"서로 비겼습니다.",
"당신이 이겼습니다!",
"당신이 졌습니다.."
};
switch (user) {
case "가위":
switch (computer) {
case "바위" -> result = 2;
case "보" -> result = 1;
}
break;
case "바위":
switch (computer) {
case "가위" -> result = 1;
case "보" -> result = 2;
}
break;
case "보":
switch (computer) {
case "가위" -> result = 2;
case "바위" -> result = 1;
}
break;
}
System.out.println("당신의 " + user + " 그리고 상대는 " + computer + " 으로 " + comments[result]);
return result == 1 ? 1 : 0;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random rand = new Random();
Map<Integer, String> gifts = Map.of(
0, "꽝",
1, "곰돌이 인형",
2, "스파르타 랜드 입장권",
3, "스파르타 캐니언 항공 투어권",
4, "호텔 스파르타 숙박권",
5, "스파르테이트 항공권"
);
List<String> select = List.of("가위", "바위", "보");
int numOfWins = 0;
int count = 5;
while (count > 0) {
rand.setSeed(System.currentTimeMillis());
System.out.println("가위, 바위, 보 중 하나를 입력해주세요!");
String user = sc.nextLine().trim();
if (!select.contains(user)) {
System.out.println("잘못된 입력입니다.");
continue;
}
String computer = select.get(rand.nextInt(select.size()));
numOfWins += resultOfGame(user, computer);
count--;
}
System.out.println("축하합니다! 총" + numOfWins + "회 승리하여 경품으로 [" + gifts.get(numOfWins) + "] 을 획득하였습니다.");
}
}
