디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

자바로 콘솔용 텍스트야구겜을 만들엇는데...

야구(211.108) 2011.01.31 16:08:08
조회 138 추천 0 댓글 11

일단 스크롤 압박 미안해


import java.util.Scanner;
class Baseball{
    public static void main(String args[]){
        new Baseball().Go();
    }
    void Go(){
        Scanner key=new Scanner(System.in);
        int[] bArr=Suffle();
        
        int cnt=0;    //게임에서 시도한 횟수를 체크하기 위한 count 변수
        boolean win=false;    //게임승리유무를 알기 위한 win 변수
        while(cnt<10){
            int strike=0;
            int ball=0;
            System.out.println();
            System.out.print("3자리 숫자를 입력해 주세요>");
            int n=key.nextInt();    //스캐너로 3자리숫자를 입력받고
            int first=n/100;        //100의 단위를 first에 저장
            int second=(n%100)/10;    //10의 단위를 second에 저장
            int third=(n%100)%10;    //1의 단위를 third에 저장
            int[] nArr={first,second,third};    //세 숫자를 배열로 저장
            for(int i=0;i<3;i++){
                if(nArr[i]==bArr[i]){        //각 자리 숫자가 맞으면 strike증가
                    strike++;
                }
                else if(i==0){                //안 맞으면 각각의 경우에 대해 다른자리 숫자가 맞으면 ball 증가
                    if(nArr[i]==bArr[1]) ball++;    
                    else if(nArr[i]==bArr[2]) ball++;    
                }
                else if(i==1){
                    if(nArr[i]==bArr[0]) ball++;                    
                    else if(nArr[i]==bArr[2]) ball++;                    
                }
                else if(i==2){
                    if(nArr[i]==bArr[0]) ball++;
                    else if(nArr[i]==bArr[1]) ball++;                
                }

            }
            System.out.println();
            System.out.println("스트라이크 : "+strike+"개");    //결과 출력
            System.out.println("볼 : "+ball+"개");
            cnt++;                                //계산 후에 카운트 증가
            System.out.println("남은 횟수 : "+(10-cnt)+"번");    //남은 횟수 출력
            if(strike==3){                        //스트라이크가 3개가 되면
                win=true;                        //승리유무를 true로 바꾸고
                break;                            //while문 빠져나감
            }
        }
        if(win==true){                            //결과 출력
            System.out.println();
            System.out.println(cnt+"번 만에 성공하셨습니다 축하드립니다^^;");
        }
        else{
            System.out.println();
            System.out.println("실패하셨군요.. 다시 도전해 보세요 ㅠ.ㅠ");
        }
    }
    int[] Suffle(){                //1~9까지 중복되지 않는 숫자 3개의 배열을 만드는 메서드
        int[] arr=new int[3];
        for(int i=0;i<3;i++){
            int dice=(int)(Math.random()*9)+1;    //1~9중 무작위로 숫자하나를 뽑는다
            if(i==0)
                arr[i]=dice;    // 첫번째 숫자는 배열에 바로 저장한다.
            else{
                for(int j=0;j<i;j++){    //앞에서 저장한 배열의 수 만큼 검사하기 위해 j<i라는 조건을 달았다.
                    if(dice==arr[j]){    //만약에 앞에있던 배열의 숫자와 무작위 숫자가 같으면
                        i--;            //i를 다시 감소시킨 후
                        break;            //밖의 for문으로 빠져나가서 같은 작업을 한다.
                    }
                    else
                        arr[i]=dice;    //앞에있던 배열의 숫자와 같지않으면 배열에 저장한다.    
                }
            }
        }
        return arr;    
    }
}




한달동안 열심히 배워서 나름 이거 만들어봤는데
너무 날코딩인거같아서말이야..

저기 두껍고 글씨큰부분에서 볼카운트를 검사하는건데
저걸 어떻게 줄일 수 있는 방법이 없을까??


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
236448 질문 하나만 해도 되남여 형들 [8] 좆병신(121.181) 11.03.01 107 0
236447 횽들 새내기 데탑살건데 어때? [5] 기숙사들어감(121.185) 11.03.01 139 0
236445 SQL 공부할려구 하는데 [3] 한강구조견(118.37) 11.03.01 127 0
236444 너의 인생을 종결시켜주마 [6] 꿀레(14.33) 11.03.01 239 0
236443 그동안 인터넷이 안됬어 [2] elwlwlwk갤로그로 이동합니다. 11.03.01 102 0
236442 C는 내 마음의 안식처 [6] elwlwlwk갤로그로 이동합니다. 11.03.01 246 0
236441 디버깅은 재밌어 [1] elwlwlwk갤로그로 이동합니다. 11.03.01 105 0
236439 내일이면 복학이구나... 꿀레(14.33) 11.03.01 54 0
236438 스맛폰 앱은 과도기적인거야 [3] 계백(61.255) 11.03.01 156 0
236437 분당살람 형 봅니다. [3] 천재플머(61.77) 11.03.01 119 0
236436 형들 나 진짜 고민이 있어 [7] 유동(180.69) 11.03.01 126 0
236434 퇴사하고 싶다니까 오만소리 다한다 [3] ㅁㅁㄴㅇ(112.153) 11.03.01 150 0
236432 프로그래밍 입문?? [4] 코코낫뜨(121.141) 11.03.01 176 0
236431 [공지] 천재플머의 격한 감정에 의한 헛소리를 정정합니다. [2] 천재플머(61.77) 11.03.01 247 0
236430 프로그램에서 트위터에 글 쓰게 하려고 하는데 [3] 준치◕‿◕갤로그로 이동합니다. 11.03.01 94 0
236429 mysql 정렬후에 where 쓰고싶은데 어떻게해야해? [1] 으앙(175.115) 11.03.01 88 0
236428 이직하는 거 어려움? [2] 하앍하앍(123.199) 11.03.01 111 0
236427 이 짤빵을 보고 갑자기 민류횽이 생각 났음.. [1] seta(27.117) 11.03.01 147 0
236426 제로보드XE로 계식판등등 설정좀해주실분 [1] 박구갤로그로 이동합니다. 11.03.01 106 0
236424 IT맨의 사직서이후 이바닥 사정좀 좋아졌음?? [1] ㅁㄴㅇ(175.198) 11.03.01 157 0
236423 저 2차원배열 동적할당 하는거 만들었어염 ㅎㅎㅎㅎ [1] 동적할당(124.53) 11.03.01 94 0
236422 척박한 땅에서 생존 가능한 OS 도라지 프로젝트를 론칭합니다 도라지(115.20) 11.03.01 71 0
236421 오 그럼 8000! 도 구해줄수있엉? [1] 10000팩(122.202) 11.03.01 104 0
236420 해킹당할까봐 무서운데... 좀봐주세요 ... [3] 농향갤로그로 이동합니다. 11.03.01 128 0
236419 횽들 내가 10000! 구현하는데 검증이 필요해 [3] 10000팩(122.202) 11.03.01 162 0
236418 레알 진지한 인생상담. [9] 파란물고기(117.123) 11.03.01 242 0
236417 소스보면 맨땅 공부중인데... ㅇㅇ(119.71) 11.03.01 62 0
236415 이궈뭔지 좀갈켜주세욤..ㅜㅜ [2] 뭐지(58.79) 11.03.01 97 0
236414 트위터나 페이스북 같은 sns사이트 만들려면 무슨언어를?? [2] (211.243) 11.03.01 168 0
236413 국내 커뮤니티는 패쇄적이라 싫다? DMW(125.138) 11.03.01 91 0
236412 게임기획자랑 프로그래머 취업 질문 하나만.. [2] 물고기(117.123) 11.03.01 227 0
236409 이딴책을 왜보는지 모르겠음. [1] tt(116.45) 11.03.01 123 0
236407 형들 이루트 어떻게생각해? [9] 마마마ㅏㅁ마(175.210) 11.02.28 150 0
236406 드디어 풀었다 [1] Ynobe갤로그로 이동합니다. 11.02.28 192 0
236405 난 형들 진짜 존경스럽다 어떻게 그 언어들이 머리속에 다들어있냐 (125.176) 11.02.28 168 0
236404 마인크래프트 소스 코드 라인 오토잇코더갤로그로 이동합니다. 11.02.28 294 0
236403 C# 교재추천좀. [2] ㅇㅇ(211.117) 11.02.28 294 0
236402 너님들 감숙왕 알고 디씨질 함? LightEach갤로그로 이동합니다. 11.02.28 76 0
236401 산업체it 인횽 손점 갓다온형이라도 [1] 아이디1(121.141) 11.02.28 70 0
236398 스미골햏횽님께 질문 하나 드립니다. 비지니스 마인드란 무엇입니까 캐닭(112.133) 11.02.28 109 0
236393 전문대 컴과계열다니는데여 [2] ㅇㅇ(121.169) 11.02.28 132 0
236391 에이스타 알고리즘 보고있는데영 [1] [성대아싸]갤로그로 이동합니다. 11.02.28 424 0
236390 도블릿 이용자의 올바른 공부법 [3] Ynobe갤로그로 이동합니다. 11.02.28 181 0
236389 형들 나 지금 해킹당했어요 도와주세요 ㅠ [2] 해킹당한듯(118.33) 11.02.28 106 0
236387 도블릿 많이 바꼈네용 [1] Ynobe갤로그로 이동합니다. 11.02.28 85 0
236386 계백은 봅니다. [2] 캐닭(112.133) 11.02.28 72 0
236385 왕초보가 질문좀할게.. [3] 팰트로우갤로그로 이동합니다. 11.02.28 72 0
236384 중상위권 4년제 다니는 학생들은 봅니다. [6] 캐닭(112.133) 11.02.28 158 0
236383 USB 16기가가 2만원이네 종나싸네! [1] 계백(61.255) 11.02.28 148 0
236381 내가 짠 코드로는 팩토리얼이 2000까지 밖에 않돼네.. [1] 수Z갤로그로 이동합니다. 11.02.28 163 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2