Notice
Recent Posts
Recent Comments
Link
drexqq
[Java, 자바] baseball(숫자야구).ver2 본문
728x90
반응형
기존 작성하였던 baseball(숫자야구)게임을 함수화 해보았다.
코드
package baseballFunc;
import java.util.Scanner;
public class mainClass {
public static void main(String[] args) {
/*
baseball
1. random
///loop
2. userInput
3. finding
4. message
///
5. result
*/
baseball();
}
static void baseball() {
boolean clear = loop();
if (clear) System.out.println("Game Clear!!");
else System.out.println("Game Over..");
}
// 랜덤숫자 생성
static int[] random() {
System.out.println("랜덤 숫자 생성");
// 랜덤숫자
int r_num[] = new int[3];
int r, w;
boolean swit[] = new boolean[10];
w = 0;
while (w < 3) {
r = (int) (Math.random() * 10); // 0 ~ 9
if (swit[r] == false) {
swit[r] = true; // 00100 00000
r_num[w] = r + 1; // 1 ~ 10
w++;
}
}
for (int i = 0; i < r_num.length; i++) {
System.out.println(r_num[i]);
}
return r_num;
}
// 루프
static boolean loop() {
boolean clear = false;
int r_num[] = random();
int w = 0;
while (w < 10) {
int u_num[] = userInput();
if (strikeBall(u_num, r_num) > 2) {
clear = true;
break;
};
w++;
}
return clear;
}
// 유저 인풋
static int[] userInput () {
Scanner sc = new Scanner(System.in);
int u_num[] = new int[3];
System.out.println("숫자를 입력해주세요.");
boolean check = false;
int w1;
while (true) {
check = false;
w1 = 0;
while (w1 < 3) {
u_num[w1] = sc.nextInt();
w1++;
}
out:for (int i = 0; i < u_num.length; i++) {
for (int j = 0; j < u_num.length; j++) {
if (u_num[i] == u_num[j] && i != j) {
check = true;
break out;
}
}
}
if (check == false) {
break;
}
}
return u_num;
}
// 스트라이크 볼
static int strikeBall (int user[], int ran[]) {
int strike, ball;
strike = ball = 0;
for (int i = 0; i < user.length; i++) {
for (int j = 0; j < ran.length; j++) {
if (user[i] == ran[j] && i != j) {
ball++;
}
}
}
for (int i = 0; i < user.length; i++) {
if (user[i] == ran[i]) {
strike++;
}
}
System.out.println(strike+"S, "+ball+"B");
return strike;
}
}
728x90
반응형
'공부노트 > 개인공부!' 카테고리의 다른 글
[Java, 자바] 백준알고리즘 단계별로 풀기 - 4단계 (0) | 2020.05.30 |
---|---|
[Java, 자바] Sorting(정렬).ver2 (0) | 2020.05.29 |
[Java, 자바] 성적 통계프로그램.ver3 (0) | 2020.05.28 |
[Java, 자바] 암호화, 복호화(ASCII code) (0) | 2020.05.27 |
[Java, 자바] 배열의 값 연산하기 (0) | 2020.05.27 |
Comments