조회 수 994 추천 수 0 댓글 0

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void show(int arr[10][10])
{
     system("cls");
     int i,j;
     for(i=0;i<10;i++)
    { 
       for(j=0;j<10;j++)
       {  
           printf("%c ",arr[i][j]);
         
       }
        printf("\n");
    }  
}

void changij(int arr[10][10], int pi, int pj)            {
    
    
    
    
    
    
    
 }//changij
int main(void)
{
    char eat=' ';
    char inwall=' ';
    char point=15;
    int arr[10][10]={
        {eat,eat,eat,eat,eat,eat,eat,eat,eat,eat},
        {inwall,eat,eat,eat,inwall,eat,eat,eat,eat,eat},
        {inwall,eat,inwall,eat,inwall,eat,eat,eat,inwall,eat},
        {inwall,eat,eat,eat,inwall,eat,eat,inwall,eat,eat},
        {inwall,eat,inwall,eat,inwall,inwall,eat,eat,inwall,eat},
        {eat,eat,inwall,eat,eat,eat,eat,eat,inwall,eat},
        {eat,inwall,inwall,inwall,eat,inwall,inwall,eat,inwall,eat},
        {eat,eat,inwall,eat,eat,inwall,inwall,inwall,inwall,eat},
        {inwall,eat,inwall,inwall,eat,eat,eat,inwall,eat,eat},
        {inwall,inwall,inwall,inwall,inwall,inwall,eat,eat,eat,inwall}
        };
       
       
    inwall='*';
    int i=0, j=0;
    int pi=0, pj=0;
    char ch=-32;
    char store=eat;
    char wall=inwall;
    char oldch=14;
    int k=0;
    arr[pi][pj]=point;
    show(arr);
   
    for(;;)
    {
        if(ch!=-32)
        oldch=ch;
       
        ch=getch();
       
        if(ch==-32)
        continue;

        if((ch=='l' || ch==77) && pj<9)
        {
             point=62;      
            
             if(ch==oldch)
             {
                 if(k==1)
                 {    
                       if(pi==0)
                       arr[pi][pj]=22;
                       else if(pi==9)
                       arr[pi][pj]=21;
                       else
                       arr[pi][pj]=16;
                
                 }
                 else
                 arr[pi][pj]='-';
                
                 store=arr[pi][pj+1];
                    
                     if(store==wall);
                     else
                     pj++;
                     if(store==' ' || store=='-')
                     k=0;
                     else
                     k=1;
                                         
                
             }//move

         }//(ch=='l' || ch==77) && pj<9


        if((ch=='j' || ch==75) && pj>0)
        {
             point=60;
             if(ch==oldch)
             {  
                 if(k==1)
                 {   
                      if(pi==0)
                      arr[pi][pj]=22;
                      else if(pi==9)
                      arr[pi][pj]=21;
                      else
                      arr[pi][pj]=16;
                 }
                 else
                 arr[pi][pj]='-';
                 store=arr[pi][pj-1];
                    
                     if(store==wall);
                     else
                     pj--;
                     if(store==' ' || store=='-')
                     k=0;
                     else{
                     //printf("걸림");
                     //system("pause");
                     //arr[pi][pj]=16;
                     k=1;
                     }
             }//move
        }//if
        if((ch=='i' || ch==72) && pi>0)
        {
             point=30;
             if(ch==oldch)
             {   if(k==1)
                 {    
                       if(pj==0)
                       arr[pi][pj]=25;
                       else if(pj==9)
                       arr[pi][pj]=23;
                       else
                       arr[pi][pj]=16;
                 }
                 else
                 arr[pi][pj]='|';
                 store=arr[pi-1][pj];
                    
                     if(store==wall);
                     else
                     pi--;
                     if(store==' ' || store=='|')
                     k=0;
                     else{
                     //printf("걸림");
                     //system("pause");
                     //arr[pi][pj]=16;
                     k=1;
                     }
             }//move
        }//if 
        if((ch=='k' || ch==80) && pi<9)
        {
             point=31;
             if(ch==oldch)
             {   if(k==1)
                 {
                      if(pj==0)
                      arr[pi][pj]=25;
                      else if(pj==9)
                      arr[pi][pj]=23;
                      else
                      arr[pi][pj]=16;
                 }
                 else
                 arr[pi][pj]='|';
                 store=arr[pi+1][pj];
                    
                     if(store==wall);
                     else
                     pi++;
                     if(store==' ' || store=='|')
                     k=0;
                     else{
                     //printf("걸림");
                     //system("pause");
                     //arr[pi][pj]=16;
                     k=1;
                     }
             }//move       
        }//if            
       
       
        arr[pi][pj]=point;
        show(arr);         
         
         
          }//for

   
   
   
   
    system("pause");
    return 0;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 467
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1227
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2540
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10509
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4879
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8463
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19109
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38028
450 두 점 사이의 거리 구하기 (구조체사용) killerjack 2014.04.05 4960
449 윤년 하품팬더 2014.04.12 1715
448 윤년 구하기 killerjack 2014.04.12 2648
447 윤년 구하기 수정 killerjack 2014.04.12 2848
446 이건 내가 윤년구하기한거 killerjack 2014.04.12 1590
445 숫자 배열 삼각형 4가지 숙제 killerjack 2014.04.26 3618
444 별을 다이아모양으로 출력하기 killerjack 2014.05.03 2082
443 별로 다이아 껍데기만 출력하기 killerjack 2014.05.03 1360
442 숙제 달팽이배열 killerjack 2014.05.17 2015
441 달팽이 오류수정 imax,jmax변화시키면 배열도 바뀜 killerjack 2014.05.17 936
440 시계~~~ killerjack 2014.05.17 1376
439 별표 잡아먹기 killerjack 2014.05.17 1207
438 작대기 그리기 함수 killerjack 2014.05.24 936
» 작대기 그리기 노가다 killerjack 2014.05.24 994
436 대문자 입력받아서 입력받은 횟수 출력하기 (정올 배열2-자기진단1) killerjack 2014.05.31 1711
435 정올 기초다지기 (배열2-자가진단2) killerjack 2014.05.31 1637
434 정올 기초다지기(배열2-자가진단3) killerjack 2014.05.31 1580
433 정올 기초다지기(배열2-자가진단6) killerjack 2014.05.31 1433
432 정올 기초다지기(배열2-자가진단7) killerjack 2014.05.31 1512
431 정올 기초다지기(aA001-배열2 1) killerjack 2014.05.31 1441
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 26 Next
/ 26