Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 코딩테스트
- 오류
- Oracle
- DB
- 삼항연산자
- 네임드생성자
- int와 integer
- js
- 자바
- 깃허브
- app.use
- Middleware
- mybatis
- 다형성
- java
- 자바스크립트
- dart
- 추상클래스
- React
- git
- Node.js
- 콘솔게임
- 생성자
- 배열
- Spring
- Pug
- 리액트
- qqOperater
- Sort()
- push함수
Archives
- Today
- Total
평행코드
Java) 가위바위보게임 만들기! 본문
가위바위보게임
1. 가위바위보게임
설명
- 사용자에게 가위, 바위, 보 중 한개를 입력하도록하고(입력방식은 숫자)
- 컴퓨터가 랜덤값으로 세개중 하나의 데이터를 대입
- 컴퓨터의 값과 사용자의 값을 비교하여 다음의 결과출력
같으면 비겼습니다. 출력 후 다시 사용자와 컴퓨터가 선택할 수 있도록 로직구성
컴퓨터가 사용자에게 이기면 컴퓨터가 이겼습니다. 출력
사용자가 컴퓨터에게 이기면 사용자가 있겼습니다. 출력
- 승자가 나왔으면 다시 하겠습니다 출력
다시하면 위에 로직 다시 실행
종료하면 프로그램 종료
- 추가 : 만일 위내용을 쉽게 처리 했으면 프로그램 종료시 지금까지 전적을 출력
컴퓨터 승 00번, 사용자 승 00번
값을 입력받을 Scanner함수와 Random함수를 사용하기위해 선언해줍니다.
승리 시 얼마나 이겼는지 카운트를 해줄 변수를 선언해 줍니다.
Scanner sc = new Scanner(System.in);
Random r = new Random();
// 승리 수 카운트해줄 변수 선언
int numWin = 0;
int comWin = 0;
while 무한루프문을 사용해 코딩을 해줍니다.
// while 무한루프문
while (true) {
System.out.println("===== 가위바위보게임!! =====");
System.out.println("1 : 가위\n2 : 바위\n3 : 보");
System.out.print("숫자를 입력하세요 : ");
int num = sc.nextInt();
int com = r.nextInt(3)+1;
// 0을 입력하면 지금까지의 전적을 출력하고 종료
if(num == 0) {
System.out.println("프로그램을 종료하겠습니다.");
System.out.println(FONT_CYAN +"사용자 승 " + numWin +"번,"+ " 컴퓨터 승 " + comWin + "번" + RESET);
break;
}
// 0~4사이의값에서 벗어나면 아래 문구 출력
if(num>=4 || num<0) {
System.out.println("0~3 사이의 숫자를 입력하세요");
System.out.println();
continue;
}
// 가위바위보 경우의 수 코딩
if(num==com) {
System.out.println("비겼습니다 -0-");
} else if (num==1 && com==2) {
System.out.println("졌습니다 T^T");
comWin++;
} else if (num==1 && com==3) {
System.out.println("이겼습니다 ㅇ0ㅇ");
numWin++;
} else if (num==2 && com==1) {
System.out.println("이겼습니다 ㅇ0ㅇ");
numWin++;
} else if (num==2 && com==3) {
System.out.println("졌습니다 T^T");
comWin++;
} else if (num==3 && com==1) {
System.out.println("졌습니다 T^T");
comWin++;
} else if (num==3 && com==2) {
System.out.println("이겼습니다 ㅇ0ㅇ");
numWin++;
}
가위바위보 결과로 무엇을 냈는지 1, 2, 3 이렇게 숫자로 나온다면 직관적이지 않기때문에
결과를 String으로 (가위, 바위, 보) 표현해 줍니다.
// 결과가 숫자로 나온다면 직관적이지가 않으므로 결과를 String로 나타내줌
// 가위 바위 보 String을 저장해줄 변수 선언
String numStore = "";
String comStore = "";
// 경우의 따라 가위 바위 보를 변수에 저장해줌
if(num==1) {
numStore = "가위";
} else if (num==2) {
numStore = "바위";
} else if (num==3) {
numStore = "보";
}
if(com==1) {
comStore = "가위";
} else if (com==2) {
comStore = "바위";
} else if (com==3) {
comStore = "보";
}
//콘솔 색상추가
System.out.println();
System.out.println(FONT_CYAN +"유저 : " + numStore + "\n"
+ "컴퓨터 : " + comStore + RESET +"\n");
System.out.println("다시 하겠습니다");
System.out.println("프로그램 종료는 0 입력\n");
코딩결과
'Java' 카테고리의 다른 글
배열과 2차원 배열 (0) | 2023.09.06 |
---|---|
객체와 클래스 (인스턴스 필드와 클래스필드의 차이) (0) | 2023.09.05 |
Java) 몬스터를 사냥하는 게임을 만들어보자! (0) | 2023.09.03 |
조건문 (0) | 2023.09.01 |
Java 형 변환, 사용자로부터 값을 입력 받는 Scanner (0) | 2023.08.29 |