5번의 가위바위보 게임을 해서 승리한 횟수 상당의 상품을 받아가는 게임을 만들어보자
조건은 이러하다.
- 5번의 가위바위보를 진행한다.
- 유저는 매 판마다 "가위", "바위", "보" 중 하나를 입력한다.
- 잘못된 입력을 받았다면 잘못된 입력입니다! 를 출력해 준다.
- 컴퓨터는 가위, 바위, 보 중 랜덤 하게 하나를 낼 수 있다.
- 매판마다 진행한 가위 바위 보의 승패에 대한 결과를 출력한다.
- 5판을 모두 마치면 승리한 횟수에 걸맞은 경품을 획득할 수 있다.
문제를 딱 보고 리스트나 Map을 사용하면 쉽게 만들 수 있을 것 같았다.
구현
import java.text.MessageFormat;
import java.util.*;
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Main {
public static void main(String[] args) {
String[] list = {"가위", "바위", "보"};
int[] wincase = {1, 2, 0};
int[] draw = {0, 1, 2};
Map<Integer, String> stoi = new HashMap<>();
stoi.put(0, "가위");
stoi.put(1, "바위");
stoi.put(2, "보");
Map<Integer, String> gifts = new HashMap<>();
gifts.put(0, "꽝");
gifts.put(1, "곰돌이 인형");
gifts.put(2, "스파르타 랜드 입장권");
gifts.put(3, "ㅅ파르타 캐니언 항공 투어권");
gifts.put(4, "호텔 스파르타 숙박권");
gifts.put(5, "스파르테이트 항공권");
Random random = new Random();
int count = 5;
int winCount = 0;
while (count > 0) {
System.out.println("가위 바위 보 중 하나를 입력해주세요!");
var scanner = new Scanner(System.in);
var input = -1;
while (true) {
var str = scanner.next();
if (!Arrays.asList(list).contains(str)) {
System.out.println("잘못된 입력입니다.");
} else {
input = Arrays.asList(list).indexOf(str);
break;
}
}
int rand = random.nextInt(0, 3);
if(wincase[rand] == input){
winCount++;
System.out.println(MessageFormat.format("당신은 {0} 그리고 상대는 {1}로 당신이 이겼습니다.", stoi.get(input), stoi.get(rand)));
}
else if(draw[rand] == input){
System.out.println(MessageFormat.format("당신은 {0} 그리고 상대는 {1}로 서로 비겼습니다.", stoi.get(input), stoi.get(rand)));
}
else{
System.out.println(MessageFormat.format("당신은 {0} 그리고 상대는 {1}로 당신이 졌습니다.", stoi.get(input), stoi.get(rand)));
}
// win lose check
count--;
}
System.out.println(MessageFormat.format("축하합니다! 총 {0}회 승리하여 경품으로 [{1}]을 획득하셨습니다.", winCount, gifts.get(winCount)));
}
}
'부트캠프 > 데일리 미션' 카테고리의 다른 글
단어 맞추기 게임을 웹페이지로 만들어 보자! (0) | 2024.07.03 |
---|---|
Lv3. 단어 맞추기 게임 (0) | 2024.06.30 |
Lv2. 스파르타 자판기 (0) | 2024.06.30 |
Lv1. 랜덤 닉네임 생성기 (0) | 2024.06.30 |