디시인사이드 갤러리

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

갤러리 본문 영역

소스분석즘 ㅠㅠㅠㅠㅠㅠㅠㅠ제발

봉거갤로그로 이동합니다. 2010.12.15 23:28:34
조회 127 추천 0 댓글 13

이건 c언어소스인데요.

해석즘 해주세요ㅠㅠㅠㅠㅠㅠㅠ변수들이 무엇을의미하는지,왜이렇게코딩하는지 등등...ㅠㅠ제발
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>

void openning(); 
int input();

void main()
{


        printf("▒ ────────━━━지뢰찾기 ━━━──────── \\n");





//─ 맵의 길이와 지뢰의 갯수 입력s -────────────────
        int len,c;
        printf("\\n    맵?의 길이를 입력해주세요.(7~20)");
        scanf("%d",&len);

        while(len>20||len<7)
        {
                if(len>20)
                        printf("       - 너무 큰 값을 입력하셨습니다. \\n       - 더 작은 ");
                else if (len<7)
                        printf("       - 너무 작은 값을 입력하셨습니다. \\n       - 더 큰 ");
                printf("값을 입력해 주세요. (7~20)");                
                scanf("%d",&len);
        }

        printf("\\n    지뢰의 갯수를 입력해주세요.(%d~%d)",len*len/7,len*len/4);
        scanf("%d",&c);

        while(c>len*len/4||c<len*len/7)
        {
                if(c>len*len/4)
                        printf("       - 너무 큰 값을 입력하셨습니다. \\n       - 더 작은 ");
                else if (c<len*len/7)
                        printf("       - 너무 작은 값을 입력하셨습니다. \\n       - 더 큰 ");
                printf("값을 입력해 주세요.(%d~%d)",len*len/7,len*len/4);                
                scanf("%d",&c);
        }

//─ 맵의 길이와 지뢰의 갯수 입력e -────────────────



//─ 맵만들기s -──────────────────────────
        int map[22][22], map2[22][22], r1, r2,c_c=0,i,j,i1,j1,c_c2=0,c_c3=c,c_c4=len*len , cx=1,cy=1, ic, k, l,a=0;
        for(i=0;i<22;i++)
        {
                for(j=0;j<22;j++)
                {
                        map[i][j]=0;
                }
        }


        srand(time(NULL));
        while(c>c_c)
        {
                r1=rand()%len+1;
                r2=rand()%len+1;
                
                if(map[r1][r2]==0)
                {
                        map[r1][r2]=9;
                        c_c++;
                }
        }

        for(i=0;i<22;i++)
        {
                for(j=0;j<22;j++)
                {
                                map2[i][j]=10;
                }
        }

        for(i=1;i<len+2;i++)
        {
                for(j=1;j<len+2;j++)
                {
                        for(i1=-1;i1<2;i1++)
                        {
                                for(j1=-1;j1<2;j1++)
                                {
                                        if(map[i+i1][j+j1]==9&&map[i][j]!=9)
                                        {
                                                map[i][j]++;
                                        }
                                }
                        }
                }
        }



//─ 맵만들기e -──────────────────────────





//─ 맵보여주기s ──────────────────────────

        while(1)
        {
                system("cls");
        printf("▒ 어설픈 지뢰찾기. v-3.1 ━━━──────── \\n\\n");

                printf("  남은 표식 : %d \\n     ", c_c3);
                for(i=1;i<len+1;i++)
                        printf("%2d",i);
                printf("\\n");
                a=0;
                while(a<=len)
                {        a++;
                        for(i=1;i<len+1;i++)
                        {
                                for(j=1;j<len+1;j++)
                                {
                                        for(k=-1;k<=1;k++)
                                        {
                                                for(l=-1;l<=1;l++)
                                                {
                                                        if(map2[i+k][j+l]<10&&map[i+k][j+l]==0&&map[i][j]!=9&&map[i][j]!=map2[i][j])
                                                        {
                                                                map2[i][j]=map[i][j];
                                                                c_c4--;
                                                        }                        
                                                }
                                        }
                                }
                        }
                }

                for(i=1;i<len+1;i++)
                {
                        printf("%5d",i);
                        for(j=1;j<len+1;j++)
                        {
                                if(i==cx&&j==cy)
                                        printf("■");
                                else
                                {

                                if(map2[i][j]==10)
                                        printf("□");
                                else if(map2[i][j]==11)
                                        printf("☞");
                                else
                                        printf("%2d",map2[i][j]);
                        }
                        }
                        printf("\\n");
                }
        printf("\\n━━━━━━━━━━━───────────── \\n\\n");
        printf("\\n     방향키를 움직여 \'■\'를 움직여주세요.\\n");
        printf("   \'■\'표시가 있는곳이 깃발을 세울려면 End키를,\\n");
        printf("     탐색을 하려면 Home 키를 눌러주세요.\\n");
                        if (c_c4==c)
                        {
                                system("cls");
                                printf("▒ 어설픈 지뢰찾기. v-3.1 ━━━──────── \\n\\n");
                                printf("         게임 클리어^^\\n");
                                printf("               - 성공하셨습니다. 축하드립니다.\\n\\n\\n\\n");
                                printf("━━━━━━━━━━━───────────── \\n\\n");
                                break;
                        }else
                        {
                ic=getch();
                if (ic==72&&cx>1)
                        cx--;
                else if (ic==80&&cx<len)
                        cx++;
                else if (ic==75&&cy>1)
                        cy--;
                else if (ic==77&&cy<len)
                        cy++;
                        

//─ 맵보여주기e ──────────────────────────


//─ 지뢰찾기s ──────────────────────────

                                else if(ic==71)
                                {
                                        if(map[cx][cy]==9&&map2[cx][cy]!=11)
                                        {
                                                system("cls");
                                                printf("▒ 어설픈 지뢰찾기. v-3.1 ━━━──────── \\n\\n");
                                                printf("        지뢰를 건드리셨습니다.\\n");
                                                //─ 정답공개s ──────────────────────────
                                                printf("     ", c_c3);
                                                for(i=1;i<len+1;i++)
                                                        printf("%2d",i);
                                                printf("\\n");
                                                for(i=1;i<len+1;i++)
                                                {
                                                        printf("%5d",i);
                                                        for(j=1;j<len+1;j++)
                                                        {
                                                                if(map[i][j]==9)
                                                                        printf("◎");
                                                                else
                                                                printf("%2d",map[i][j]);
                                                        }
                                                        printf("\\n");
                                                }
                                                printf("\\n━━━━━━━━━━━────── by GomgurY. ── \\n\\n");
                                                break;
                                        }
                                        else if(map2[cx][cy]!=11&&map2[cx][cy]==10)
                                        {
                                                if(map[cx][cy]==0)
                                                {
                                                        for(i=-1;i<=1;i++)
                                                        {
                                                                for(j=-1;j<=1;j++)
                                                                {
                                                                        if(map2[cx+i][cy+j]==10)
                                                                        {
                                                                                map2[cx+i][cy+j]=map[cx+i][cy+j];
                                                                                if(cx+i>=1&&cy+j>=1&&cx+i<=len&&cy+j<=len)
                                                                                        c_c4--;
                                                                        }
                                                                }

                                                        }
                                                }
                                                else
                                                {
                                                        map2[cx][cy]=map[cx][cy];
                                                        c_c4--;
                                                }
                                        }
                                }
                                else if(ic==79)
                                {
                                        if((map2[cx][cy]==10||map2[cx][cy]==9)&&c_c3>0)
                                        {
                                                map2[cx][cy]=11;
                                                c_c3--;
                                        }
                                        else if(map2[cx][cy]==11)
                                        {
                                                map2[cx][cy]=10;
                                                c_c3++;
                                        }
                                }


//─ 지뢰찾기e ──────────────────────────

                        }


        }


        printf("\\n\\n");

                system("pause");
}


추천 비추천

0

고정닉 0

0

댓글 영역

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

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
227299 학부 재학생인데 문득 이런생각이 떠올랐어 [1] ...(124.63) 10.12.27 124 0
227298 형들급해!!ㅠㅠ 나좀도와줘 [3] ㅠㅠ(116.124) 10.12.27 92 0
227297 고수횽들 기본5종으로... [2] 프로그래밍맨(61.32) 10.12.27 82 0
227296 PI must not start with xml 이 뭥미 [10] 111(218.55) 10.12.27 341 0
227295 코드 도용으로 소송하는 사건 한국에도 잇나여 [1] 갤러리갤로그로 이동합니다. 10.12.27 102 0
227294 더블오 쿠안타 풀세이버는 당연히 설정집에만 있다. [1] 개쉛기갤로그로 이동합니다. 10.12.27 208 0
227293 파싱이 안되는 이유..?? [1] 111(218.55) 10.12.27 108 0
227290 어떤 여자가 왜 날 보면 인사안하느냐고 하는데 [7] 찬양하라.NET갤로그로 이동합니다. 10.12.27 198 0
227289 맥 오에스 레오파드도 아이오에스처럼 다국어... 레오파드(183.2) 10.12.27 56 0
227288 프갤러 오빠야들이 여친이 없는 이유!!! [3] iljeomobolt갤로그로 이동합니다. 10.12.27 184 0
227287 내가 엑스코드(아이폰)로 옵젝씨를 하려하는데 맥을 어떤 걸로... [6] 레오파드(183.2) 10.12.27 132 0
227286 쥐빵이 꼭 자작극이라고 부를 수도 없는게... [1] 어떡해갤로그로 이동합니다. 10.12.27 152 0
227285 혹시 그것이 사실인가요. [2] 생각놀이갤로그로 이동합니다. 10.12.27 138 0
227284 약간의 오해가 있었던거 같다.. [1] 팔로윌갤로그로 이동합니다. 10.12.27 101 0
227283 디시라이트는 자바스크립트로만 만든건가여? [1] 갤러리갤로그로 이동합니다. 10.12.27 113 0
227281 이게 뭔 개소리야! [7] 꿀레갤로그로 이동합니다. 10.12.27 227 0
227280 님들 OS 뭐쓰새여? [3] 갤러리갤로그로 이동합니다. 10.12.27 181 0
227276 secureCRT를 윈도우cmd처럼 사용하는방법좀. 시크한훈남갤로그로 이동합니다. 10.12.27 355 0
227275 헐 형님들 이말이 사실인가여....? [13] 인섯갤로그로 이동합니다. 10.12.27 279 0
227273 쥐식빵 자작극이면 그 뚜레주르 사장도 존나 무서온노밍넹 [1] 시불라미갤로그로 이동합니다. 10.12.27 254 0
227272 크롬 사이드탭 좆나 편하내여 갤러리갤로그로 이동합니다. 10.12.27 142 0
227271 어떻게 지원하지.jpg [3] 꿀레갤로그로 이동합니다. 10.12.27 190 0
227270 HTML도 언어인가여? [9] 갤러리갤로그로 이동합니다. 10.12.27 159 0
227268 tv.co.*r 망했다 T.T [7] 분당살람갤로그로 이동합니다. 10.12.27 140 0
227267 서울대 컴공은 뭐 특별한거 있나 [1] 꿀레갤로그로 이동합니다. 10.12.27 243 0
227265 (WINAPI)마스크 이미지의 원리를 알려주세요.ㅜㅜ [3] 컴돌이(58.77) 10.12.27 186 0
227264 다들 점심먹으러 갔나... [2] 꿀레갤로그로 이동합니다. 10.12.27 49 0
227261 형들 나 관리자 암호 안걸엇는데 암호 치라고 자꾸 나오는데 [1] 헤즐남(218.237) 10.12.27 51 0
227260 이분이 진리임.jpg [1] 꿀레갤로그로 이동합니다. 10.12.27 291 0
227259 고민이다 모두들 지혜를 줘 [8] 분당살람갤로그로 이동합니다. 10.12.27 126 0
227258 레벨이 변경되는건 그리 중요치 않다 [4] 개쉛기갤로그로 이동합니다. 10.12.27 88 0
227256 대학원진학하는게 취업할때 많은 영향을 미칠까?? 비우그라갤로그로 이동합니다. 10.12.27 82 0
227255 근디 뇌자 시리즈 네이밍은 헤드퍼스트 짭인가 보넹 [2] 시불라미갤로그로 이동합니다. 10.12.27 120 0
227253 프로그램 배워보고싶은데 [3] 압축파일갤로그로 이동합니다. 10.12.27 123 0
227252 미친웹하드 이런식으로 신고하면 되려나? [7] 고자마리오(168.126) 10.12.27 248 0
227250 혹시나해서 여기에 물어봅니당.. [2] 수염갤로그로 이동합니다. 10.12.27 72 0
227249 형들 비주얼스튜디오 C++은 C로 저장못해? [10] ~*(121.175) 10.12.27 208 0
227248 허세와 된장으로 가득찬 해일리 ㅠ [8] 르하소갤로그로 이동합니다. 10.12.27 132 0
227247 리팩토링을 쓸데없는 일이라고 생각하는 이유 [5] nRST갤로그로 이동합니다. 10.12.27 119 1
227246 Call Of Duty 실사 [6] LightEach갤로그로 이동합니다. 10.12.27 160 0
227245 헤일리는 스크립트냐 봇이냐? [7] 분당살람갤로그로 이동합니다. 10.12.27 131 0
227244 for vs for..in [5] kushan갤로그로 이동합니다. 10.12.27 98 0
227243 트위터에서.. [2] VL갤로그로 이동합니다. 10.12.27 67 0
227241 프로그래밍 갤러리의 데이터... [5] 루체몬갤로그로 이동합니다. 10.12.27 213 0
227240 이런게 진정한 위너.txt [1] 꿀레갤로그로 이동합니다. 10.12.27 144 0
227239 근대 c언어 배울떄 책 [2] 코주부갤러리(115.22) 10.12.27 122 0
227238 형들 나좀 도와줘.. 어떤 미친 웹하드새.끼가 내돈 만원 훔쳐갔어 ;; [11] 멍뭉이(168.126) 10.12.27 258 0
227237 거지 같은 삼항 연산자 [3] nRST갤로그로 이동합니다. 10.12.27 99 0
227235 난 군대에서 운전도 공부하고 프로그래밍도 공부한다. [6] u2em갤로그로 이동합니다. 10.12.27 192 0
227234 다들 아침이라 졸리시죠? 노래하나듣고갑시다 [3] 꿀레갤로그로 이동합니다. 10.12.27 70 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2