2020/03/04 - [IT/Programming Practice] - [Java] 간단한 출력문
2020/03/04 - [IT/Programming Practice] - [Java] 계산기
2020/03/04 - [IT/Programming Practice] - [Java] 3 거스름돈 분리 계산
2020/03/04 - [IT/Programming Practice] - [Java] 4 성적 출력 하기
2020/03/04 - [IT/Programming Practice] - [Java] 짝수, 홀수, 제로 숫자 세기 프로그램
2020/03/04 - [IT/Programming Practice] - [Java] 반지름 입력후 원의 넓이 구하기
2020/03/04 - [IT/Programming Practice] - [Java] 학생 정보 입력 시스템 출력
2020/03/04 - [IT/Programming Practice] - [Java] do~while문을 활용한 출력 프로그램
2020/03/04 - [IT/Programming Practice] - [Java] 이중 do-while 문
2020/03/04 - [IT/Programming Practice] - [Java] 원, 정삼각형, 삼각형 넓이, 둘레 구하기
▶ 조건
가위 바위 보 게임 !
Math.random() 을 사용한다.
사용자가 1,2,3 키 중 하나를 입력하면 프 로그램도 난수 발생기를 이용하여 1,2,3 중 에 한 수를 발생
While 문을 사용해서 반복
4를 누를 경우 끝내기 !
★ 코드를 복사 하려면 소스코드 오른쪽 상단 "Copy"버튼을 클릭하세요.
소스코드
import java.util.Random;
import java.util.Scanner;
public class HW1_3 {
private static Scanner scan;
public static void main(String[] args) {
scan = new Scanner(System.in);
System.out.println("======================\n학번: 20160000\n이름: 컴돌이\n======================");
Random wj = new Random(); // 랜덤 함수 라이브러리를 사용
String[] Game = new String[] { "알수없음", "가위", "바위", "보" }; // 4가지의 무기(객체)배열 생성, 데이터 정의
int user, com; // 사용자, 컴퓨터 변수 생성
while (true) {
System.out.println("가위 바위 보 게임 입니다!\n 다음 메뉴중 선택 해주세요.");
System.out.println("|1. 가위|\t|2. 바위|\t|3. 보|\t|4. 끝내기|");
user = scan.nextInt(); // 사용자가 낼 무기를 입력 받음.
com = wj.nextInt(4); // 컴퓨터는 자동으로 4개중에 1개를 랜덤으로 입력.
if (user > 4) {
System.out.println("다시 선택해주세요.\n");
continue;
} else if (user == 4) {
System.out.println("게임이 종료되었습니다.\n");
System.exit(0);
}
if (user == com) {
System.out.println("컴퓨터는 " + Game[com] + "를 냈습니다.");
System.out.println("비겼네요.\n");
} else if (user == 0 ^ com == 0) { // 배열 1번째(게임 오류)
System.out.println("컴퓨터는 무기를 무엇으로 선택해야 할 지 모르는 상태입니다.");
System.out.println("그러므로 당신이 이겼네요!! \n");
} else if (user == 2 && com == 3 || com == 0) { // 사용자가 바위를 냈을때 컴퓨터는 보자기를 내므로 사용자는 패배.
System.out.println("컴퓨터는 " + Game[com] + "를 냈습니다.");
System.out.println("당신이 졌어요. ㅠㅜ\n");
} else if (user == 1 && com == 3 || com == 0) { // 사용자가 가위를 냈을때 컴퓨터는 보자기를 내므로 사용자 승리.
System.out.println("컴퓨터는 " + Game[com] + "를 냈습니다.");
System.out.println("당신이 이겼네요! :)\n");
} else if (user > com) { // 사용자가 승리했을때의 이벤트.
System.out.println("컴퓨터는 " + Game[com] + "를 냈습니다.");
System.out.println("당신이 이겼네요! :)\n");
} else { // 사용자가 패배했을떄의 이벤트.
System.out.println("컴퓨터는 " + Game[com] + "를 냈습니다.");
System.out.println("당신이 졌어요. ㅠㅜ\n");
}
}
}
}
◈ 소스코드를 보시고 고칠 부분이나 더 좋은 로직이 있다면 코멘트 달아주세요!
이상 문제 11번 입니다.
컴돌이블로그
#자바
'IT > Programming' 카테고리의 다른 글
[Java] File I/O 출력 (0) | 2020.03.04 |
---|---|
[Java] 원, 정삼각형, 삼각형 넓이, 둘레 구하기 (0) | 2020.03.04 |
[Java] 이중 do-while 문 (0) | 2020.03.04 |
[Java] do~while문을 활용한 출력 프로그램 (0) | 2020.03.04 |
[Java] 학생 정보 입력 시스템 출력 (0) | 2020.03.04 |