전체 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("가위바위보 게임이 시작되었습니다.");
System.out.println("당신의 이름 또는 닉네임을 입력해주세요.");
String username = br.readLine();
int winCount = 0;
int loseCount = 0;
int sameCount = 0;
while(true) {
System.out.println("\n가위, 바위, 보 중 하나를 입력해주세요. (게임 종료 : X)");
String user = br.readLine();
if(user.equals("X")) break;
int number = (int) (Math.random() * 3);
String[] rps = new String[]{"가위", "바위", "보"};
String computer = rps[number];
if(user.equals(computer)) {
System.out.println("비겼습니다.");
sameCount++;
} else if(user.equals("가위")){
if(computer.equals("바위")) {
System.out.println("졌습니다...");
loseCount++;
} else {
System.out.println("이겼습니다!!!");
winCount++;
}
} else if(user.equals("바위")) {
if(computer.equals("가위")) {
System.out.println("이겼습니다!!!");
winCount++;
} else {
System.out.println("졌습니다...");
loseCount++;
}
} else if(user.equals("보")) {
if(computer.equals("가위")) {
System.out.println("졌습니다...");
loseCount++;
} else {
System.out.println("이겼습니다!!!");
winCount++;
}
} else {
System.out.println("올바른 단어를 입력해주세요. (게임 종료 : X)");
}
}
System.out.println("============== 최종 결과 ==============");
System.out.println("[%s] : %d / [컴퓨터] : %d (비긴 횟수 : %d)".formatted(username, winCount, loseCount, sameCount));
System.out.println("======================================");
System.out.println("가위바위보 게임이 종료되었습니다.");
br.close();
}
}
진행 흐름
1. 게임 이용자의 이름(닉네임)을 입력 받는다.
System.out.println("당신의 이름 또는 닉네임을 입력해주세요.");
String username = br.readLine();
2. 가위, 바위, 보, 또는 X를 입력 받는다.
while(true) {
System.out.println("\n가위, 바위, 보 중 하나를 입력해주세요. (게임 종료 : X)");
String user = br.readLine();
3. 컴퓨터도 가위, 바위, 보 중 하나를 선택한다.
int number = (int) (Math.random() * 3); // 0, 1, 2 중 하나
String[] rps = new String[]{"가위", "바위", "보"};
String computer = rps[number];
4-1. 사용자와 컴퓨터의 값을 비교하여 승패를 판별한다.
if(user.equals(computer)) {
System.out.println("비겼습니다.");
sameCount++;
} else if(user.equals("가위")){
if(computer.equals("바위")) {
System.out.println("졌습니다...");
loseCount++;
} else {
System.out.println("이겼습니다!!!");
winCount++;
}
} else if(user.equals("바위")) {
if(computer.equals("가위")) {
System.out.println("이겼습니다!!!");
winCount++;
} else {
System.out.println("졌습니다...");
loseCount++;
}
} else if(user.equals("보")) {
if(computer.equals("가위")) {
System.out.println("졌습니다...");
loseCount++;
} else {
System.out.println("이겼습니다!!!");
winCount++;
}
} else {
System.out.println("올바른 단어를 입력해주세요. (게임 종료 : X)");
}
4-2. 사용자가 이긴 횟수, 진 횟수, 비긴 횟수를 카운트한다.
int winCount = 0;
int loseCount = 0;
int sameCount = 0;
5. X를 입력하면 게임이 종료되고, 최종 결과를 보여준다.
while(true) {
...
if(user.equals("X")) break;
...
}
System.out.println("============== 최종 결과 ==============");
System.out.println("[%s] : %d / [컴퓨터] : %d (비긴 횟수 : %d)".formatted(username, winCount, loseCount, sameCount));
System.out.println("======================================");
System.out.println("가위바위보 게임이 종료되었습니다.");
실행 화면
워낙 단순한 진행 방식이라 구현도 쉽고 간단하게 했다.
게임 종료 후 최종 결과에서 누가 이겼는지, 혹은 사용자의 승패를 확실하게 보여주는 것도 좋을 것 같다.
'프로젝트 & TIL > 자바 토이 프로젝트' 카테고리의 다른 글
자바 토이 프로젝트 5 - 좌석 예약 프로그램 (0) | 2023.05.11 |
---|---|
자바 토이 프로젝트 4 - 회원가입 & 로그인 프로그램 (0) | 2023.05.08 |
자바 토이 프로젝트 3 - 로또 번호 생성 프로그램 (0) | 2023.05.08 |
자바 토이 프로젝트 2 - 구구단 게임 (0) | 2023.05.07 |