티스토리 뷰

반응형

 

야구게임 조건

 

컴퓨터가 난수로 1~9까지 3가지 수를 갖고 있고 (배열) 

사람이 1~9까지 대충 입력한다 (배열) 

컴퓨터가 정한 배열과 내 배열의 인덱스와 값이 서로 같으면 strike++
배열전체를 검사했을때, 인덱스값은 같지 않고, 값이 있다면 ball++
배열전체를 검사했을때, 값이 없다. out

시도횟수가 정해져 있어야 함. 

스트라이크가 3일때 종료되어야 함

 

package prj190722;
import java.util.*;

public class Test_111112 {
	

	public static void main(String[] args) {
		int flag=10;
		int[] com=new int[3];
		int[] me =new int[3];
		Scanner scan = new Scanner(System.in);

		//com 난수 1~9까지
		for(int i =0; i<3; i++) {
			com[i]= (int)((Math.random()*9)+1);
			//중복제거
			for(int j =0; j<i; j++) {
				if(com[i]==com[j]) {
					i--;
					break;
				}
			}
		}
/////////////com 수 생성 끝		
		

		
///////////검사하기
	while(flag>0) { //도전횟수 10회
		int str = 0; //계속해서 체크할 스트라이크
		int ball=0; //ball
		int out=0; //out
		
		//사용자 숫자 입력받기 
		System.out.println("*******************************");
		System.out.println("숫자 입력해보셈");
		System.out.println("*******************************");
		
		for(int i =0; i<3; i++) {
			me[i] = scan.nextInt();			
		}
				
		///확인용 출력해보기	
		System.out.println("입력한 숫자: " + Arrays.toString(me));
		
		///판단 부
		for(int i=0; i<3; i++){
            for(int j=0; j<3; j++){ //왜 이중으로 도느냐, com이 0일때 me0,1,2 돌아야 하고 com1일때 me 0,1,2돌아야하니까.
	               if(com[i] == me[j]){//com0과 me0,1,2 중 값이 하나라도 같으면
	            	   if(i == j)  { //com이 0일때 me가 0이면 자리(인덱스 넘버), 값도 같은것
	            		   str++;//그래서 스트라이크++	            		  
	            	   }
	            	   else  ball++; //아니면 값은 있는데 인덱스 넘버가 다른거니까 ball++
	                 }
             }
	    }
		
		//3스트라이크 사용자 이김
		if(str==3) {
			System.out.println("you win");
			break;
		}
		
		System.out.println("=====================================================");
		
		flag--;				
		if(flag==0) { //도전기회 0이면 컴이 이김
			System.out.println("you lose");
			break;
		}		
		else { //아닌경우 스트라이크, 볼 횟수, 도전 기회 출력
			System.out.println("strike: " + str + "\t ball : "+ ball);
			System.out.println(flag+"번 남았음");
		}
	}

	}
}

- 개 지저분한 코드

- 심심해서 만들어 봄

- 조건들이 너무 많음

반응형

'JAVA' 카테고리의 다른 글

190717 Comparator, Comparing, Ramda  (0) 2019.07.17
190716 Comparable 과 compareTo  (0) 2019.07.16
190716 람다식과 FunctionalInterface  (0) 2019.07.16
190716 람다식, arraylist 테스트  (0) 2019.07.16
190716 Enhancedfor 3중 배열  (0) 2019.07.16