JAVA 간단한 게임 만들기 - 가위바위보, 로또게임 만들어보기
2022. 2. 19. 15:44ㆍJAVA
728x90
가위바위보 게임 만들기
package random;
import java.util.Scanner;
public class EX02 {
public static void main(String[] args) {
// 가위바위보
Scanner scan = new Scanner(System.in);
boolean bool = true;
while(bool) {
System.out.println("숫자하나를 선택해주세요 ");
System.out.println("1 : 가위 , 2 : 바위, 3 : 보, 4 : 게임종료");
int choice = scan.nextInt();
int random = (int)(Math.random() *3)+ 1;
String myChoiceStr = " ";
switch(choice) {
case 1:
myChoiceStr = "가위";
if(random == 1) {
System.out.println("다시!");
}
else if(random == 2) {
System.out.println("패배");
}
else {
System.out.println("승리");
}
break;
case 2:
myChoiceStr = "바위";
if(random == 1) {
System.out.println("승리");
}
else if(random == 2) {
System.out.println("다시");
}
else {
System.out.println("패배");
}
break;
case 3:
myChoiceStr = "가위";
if(random == 1) {
System.out.println("패배");
}
else if(random == 2) {
System.out.println("승리");
}
else {
System.out.println("다시");
}
break;
case 4:
System.out.println("게임 종료하겠습니다.");
System.exit(0);
default:
System.out.println("수를 잘못 입력했습니다.");
break;
}
}
scan.close();
}
}
가위바위보 게임 만들 때 얻어간 것들
1. swich~break는 한 몸이다. 만약 switch문에 break가 없다면 해당하는 case이후부터 쭉 실행된다.
2. break문은 가장 가까이 있는 반복문을 빠져나간다.(if문 빠져나가는 것이 아니다.)
3. System.exti(0) 는 프로그램을 강제 종료하는 것이다.
4. Math.random() 메소드는 0.0과 1.0 사이에 속하는 double타입의 임의의 수 하나를 주는 것이다.
로또 게임 만들기
package random;
import java.util.Scanner;
public class EX03 {
public static void main(String[] args) {
// 로또 정수 1~45까지 숫자 6개뽑고 다 맞으면 그리고 숫자 6개에 중복수가 있으면 안된다.
// 0 1 2 3 4 5
// 로또 생성했으니깐 -> 사용자가 로또 6자리를 입력후 다 맞으면 1등,
int count=0;
Scanner scan = new Scanner(System.in);
int lotto[] = new int[6];
int number[] = new int[6];
for(int i=0;i<6;i++) {
lotto[i] = (int)(Math.random()*45)+1;
for(int j=0;i>j;j++) {
if(lotto[i] == lotto[j]) {
i -=1;
break; // 조금 더 효율적이게 동작 가능
}
}
}
// 내가 입력한 수도 1~45까지만 받고 중복수가 없어야한다.
System.out.println("로또번호 6자리를 입력해주세요 : ");
for(int k=0;k<6;k++){
System.out.print(k + "번째자리 입력 : ");
number[k] = scan.nextInt();
if(number[k] >45) {
k--;
System.out.println("45이하의 수를 입력해주세요.");
continue;
}
for(int m=0;k>m;m++) {
if(number[m] == number[k]) {
k--;
System.out.println("서로다른 수를 입력해주세요");
break;
}
}
}
// 맞힌 개수(count) 알아보기
for(int j=0;j<6;j++) {
for(int i=0; i<6;i++) {
if(lotto[j] == number[i]) {
count++;
}
}
}
System.out.print( + count + "개 일치!");
System.out.println("로또번호 6자리!");
for(int l=0;l<6;l++){
System.out.print("이번주 로또 번호는 :");
System.out.println(lotto[l] + "입니다.");
}
}
}
지금까지 공부했던 배열, 반복문, if문을 복습해보기 좋았다.
이상입니다.
728x90
'JAVA' 카테고리의 다른 글
java공부 - 회원관리 프로그램 만들기 (0) | 2022.03.11 |
---|---|
java 공부 - 문자를 유니코드 변환하는 방법 (0) | 2022.03.09 |
java공부 - 객체와 클래스를 이용하여 계산기 만들기 (0) | 2022.02.23 |
문자형(char)의 형(type) 변환에 관하여 (0) | 2022.02.14 |
JAVA와 운영체제간의 호환성 (0) | 2022.02.13 |