배스킨라빈스 31게임을 아시나요?
이번시간에는 그 게임을 코딩으로 구현해보겠습니다.
먼저 1번을 입력 받으면 게임을 시작합니다.
유저부터 수를 입력받고
컴퓨터는 랜덤한 정수 1~3까지 돌려 진행시켜서
최종적으로 31이 나오면 지게됩니다.
2번을 입력 받으면 게임의 전적이 보여지고
3번을 입력 받으면 종료됩니다.
option :while(true) {
System.out.println("============================");
System.out.println("1.게임 시작 2. 전적 확인 3. 종료");
System.out.println("============================");
int option = sc.nextInt();
먼저 무한 반복을 걸어주고 옵션을 입력받습니다.
옵션이 1번이면 게임을 진행합니다.
if(option == 1) {
game :while(true) {
com_rnum = r.nextInt(3) + 1;
System.out.println("진행할 턴을 입력하세요 : ");
user_num = sc.nextInt();
if(user_num >3 ) {
user_num = 0;
System.out.println("턴은 3이하로 입력해주세요.");
user_num = sc.nextInt();
}
컴퓨터의 턴은 랜덤한 정수로 처리하고
유저의 턴은 1~3까지 입력받습니다.
이때 3을 초과하면 다시 입력받습니다.
System.out.println("============================");
System.out.printf("유저 : %d턴\n" , user_num);
System.out.println("============================");
for(int i = 0; i < user_num; i ++) {
sum += 1;
System.out.printf("숫자 : %d\n" , sum);
if(sum == 31) {
System.out.println("『유저 패배』");
user_lose++;
sum = 0;
break game;
}
}
sum에 턴의 수를 계속 더하고
31이되면 반복문을 종료하고
lose 카운트를 1 증가시킵니다.
System.out.println("============================");
System.out.printf("컴퓨터 : %d턴\n" , com_rnum);
System.out.println("============================");
for( int i = 0; i < com_rnum; i ++) {
sum += 1;
System.out.printf("숫자 : %d\n" , sum);
if(sum == 31) {
System.out.println("『컴퓨터 패배』");
com_lose++;
sum = 0;
break game;}
} }
컴퓨터도 마찬가지로 진행시킵니다.
else if(option == 2) {
System.out.println("=======================");
System.out.println("==== 전적 ====");
System.out.println("=======================");
System.out.printf("컴퓨터 : %d패\n",com_lose);
System.out.printf("유저 : %d패\n", user_lose);
}
2번을 입력받으면 lose카운트를 출력시킵니다.
else if(option == 3) {
System.out.println("게임을 종료합니다!");
break option;
}
3번을 입력받으면 상위 반복문을 종료시켜
프로그램을 종료합니다.
else {
System.out.println("옵션을 다시 입력해주세요.");
continue;
}
옵션의 번호가 1,2,3이 아니라면
다른 옵션을 입력받도록 continue로 처리합니다.
생략....
숫자 : 20
숫자 : 21
숫자 : 22
============================
컴퓨터 : 1턴
============================
숫자 : 23
진행할 턴을 입력하세요 :
3
============================
유저 : 3턴
============================
숫자 : 24
숫자 : 25
숫자 : 26
============================
컴퓨터 : 2턴
============================
숫자 : 27
숫자 : 28
진행할 턴을 입력하세요 :
3
============================
유저 : 3턴
============================
숫자 : 29
숫자 : 30
숫자 : 31
『유저 패배』
============================
1.게임 시작 2. 전적 확인 3. 종료
============================
2
=======================
==== 전적 ====
=======================
컴퓨터 : 0패
유저 : 1패
============================
1.게임 시작 2. 전적 확인 3. 종료
============================
3
게임을 종료합니다!
잘 출력되는 모습이네요.
조건문과 반복문,
break문의 활용 능력을 요구하는
실습이었습니다.
'Java > 실습' 카테고리의 다른 글
[Java] 로또 (0) | 2024.12.05 |
---|---|
[Java] 가위 바위 보 (1) | 2024.12.04 |
[Java] 거스름돈 환전 (1) | 2024.12.04 |
[Java] 문자 제거하기 (0) | 2024.12.03 |
[Java] 세균 증식 (0) | 2024.12.03 |