Notice
Recent Posts
Recent Comments
Link
drexqq
[Java, 자바] baseball(숫자야구).ver3 본문
728x90
반응형
이 녀석도 드디어 마지막 버전이다
숫자야구를 객체화하여 코드를 작성해보았다.
mainClass.java
package baseballClass;
public class mainClass {
public static void main(String[] args) {
Baseball ball = new Baseball();
ball.init();
ball.loop();
ball.result();
}
}
Baseball.java
package baseballClass;
import java.util.Scanner;
public class Baseball {
int r_num[];
int u_num[];
boolean clear;
public void init() {
r_num = new int[3];
u_num = new int[3];
clear = false;
random();
}
public void random() {
boolean swit[] = new boolean[10];
for (int i = 0; i < swit.length; i++) {
swit[i] = false; // 00000 00000
}
int r, w;
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(i + " : " + r_num[i]);
}
}
public void userInput() {
Scanner sc = new Scanner(System.in);
boolean check;
int w1;
while (true) {
check = false;
w1 = 0;
while (w1 < 3) {
System.out.print((w1 + 1) + "번째 수 = ");
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;
}
System.out.println("입력한 숫자 중에 중복되는 숫자가 있습니다. 다시 입력해 주십시오");
}
}
public boolean finding() {
int strike, ball;
strike = ball = 0;
// ball
for (int i = 0; i < u_num.length; i++) {
for (int j = 0; j < r_num.length; j++) {
if(u_num[i] == r_num[j] && i != j) {
ball++;
}
}
}
// strike
for (int i = 0; i < u_num.length; i++) {
if(u_num[i] == r_num[i]) {
strike++;
}
}
if(strike > 2) {
return true;
}
System.out.println(strike + "스트라이크, " + ball + "볼 입니다");
return false;
}
public void loop() {
int w = 0;
while(w < 10) {
System.out.println((w + 1) + "회");
userInput();
clear = finding();
if (clear) {
break;
}
w++;
}
}
public void result() {
if(clear) {
System.out.println("Game Clear!!");
}else {
System.out.println("Game Over~ ");
}
}
}
728x90
반응형
'공부노트 > 개인공부!' 카테고리의 다른 글
[React, NodeJs, mongoDB] TodoList 만들어보기 React - 1 (0) | 2020.07.24 |
---|---|
[React, NodeJs, mongoDB] TodoList 만들어보기 - 준비 (0) | 2020.07.24 |
[Java, 자바] Sorting(정렬).ver3 (0) | 2020.06.01 |
[Java, 자바] 백준알고리즘 단계별로 풀기 - 4단계 (0) | 2020.05.30 |
[Java, 자바] Sorting(정렬).ver2 (0) | 2020.05.29 |
Comments