Java 예제: 배스킨라빈스 31 (먼저 31을 외치면 지는 게임)
Java 예제: 배스킨라빈스 31 (먼저 31을 외치면 지는 게임)
저는 뼛속까지 아싸라 배스킨라빈스라는 게임이 뭔지 몰랐었는데요.. 두 사람이서 번갈아가면서 1에서 3까지를 말하다가 어떤 사람이 31을 말하게 되면 그 사람이 지는 게임이라고 합니다. Java 예제: 업앤다운(Up and Down) 과 유사한 구조입니다. 여기서 유사 인공지능을 구현하는데 컴퓨터가 지고 있는 게임을 하면 안되기 때문에 28 이상의 수에서 턴이 돌아온다면 컴퓨터가 무조건 이기는 판단을 하도록 합시다.
코드
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
import java.util.Scanner;
public class BaskinRobbins {
static Scanner s = new Scanner(System.in);
static int meWin = 0;
static int comWin = 0;
public static void main(String[] args) {
while(true)
{
System.out.println("==== Baskin Robbins31 Game ====");
System.out.println();
System.out.println("1. Game Start");
System.out.println("2. Game Score");
System.out.println("3. End Game");
System.out.print("\n> ");
int menuSelect = s.nextInt();
if(menuSelect == 1) {
game();
} else if(menuSelect == 2) {
System.out.println("\n=== SCORE ====\n");
System.out.println("Me Win: " + meWin);
System.out.println("Com Win: " + comWin);
if (meWin == 0 && comWin == 0)
System.out.println("아직 게임을 시작하지 않으셨군요? 게임을 먼저 해보세요!");
System.out.println();
} else if(menuSelect == 3) {
System.out.println("\nThank you for playing!");
System.exit(0);
}
else {
System.out.println("Enter correct number please! (1~3)\n");
}
}
}
public static void game()
{
System.out.println();
System.out.println("<< Game Start >>");
int lastNum = 0;
while(true) {
// =======사용자 턴=========
int userNum = 1;
while(true) {
System.out.print("Input Number(1~3) >> ");
userNum = s.nextInt();
if (1 <= userNum && userNum <= 3)
break;
else
System.out.println("숫자를 제대로 입력하세요. (1~3)\n");
}
// 숫자 외치기(사람)
for(int i = (lastNum + 1); i <= lastNum + userNum; i++) {
if ( i > 31 ) {
break;
}
System.out.println(i + " " + "!");
}
lastNum += userNum;
if (lastNum >= 31) {
//System.out.println(lastNum);
System.out.println("\n너의 패배입니다. 컴퓨터의 승리입니다.\n");
comWin++;
break;
}
System.out.println();
// =======컴퓨터 턴=========
System.out.println("컴퓨터 턴!");
int comNum = 0;
if ( lastNum == 27 ) // lasNum이 27일때 무조건 3(28, 29, 30)
comNum = 3;
else if ( lastNum == 28 ) // lasNum이 28일때 무조건 2(29, 30)
comNum = 2;
else if ( lastNum == 29 ) // lasNum이 29일때 무조건 1(30)
comNum = 1;
else
comNum = (int)( Math.random() * (3 - 1 + 1) + 1 ); // 1~3
// 숫자 외치기(컴)
for(int i = (lastNum + 1); i <= lastNum + comNum; i++) {
if ( i > 31 ) {
break;
}
System.out.println(i + " " + "!");
}
lastNum += comNum;
if (lastNum >= 31) {
System.out.println("\n컴퓨터의 패배입니다. 너의 승리입니다.\n");
meWin++;
break;
}
System.out.println();
}
}
}
동작 화면
This post is licensed under
CC BY 4.0
by the author.
