/*海龟图---pen函数用1和2判断笔尖方向,direc函数判断0,1,2,3四个方向*/
#include
#include
int a[20][20];
int X=0,Y=0,direc_n=0;
int output(void);
int  PEN(int n);
int  direc(int n);
int MOVE(int n,int pen,int direc_n);
void main()
{
        int N=0,M=0,pen,direc_M;
        printf("是否打印(‘6’是):\n");
        printf("请输入笔尖方向(‘1’上,‘2’下):\n");
        printf("请输入方向(初始为向上,‘3’右,‘4’左:\n");
        printf("进行移动('5')\n");
        while(N!=9)
        {
            scanf("%d",&N);
            if(N==1||N==2)
            { pen=PEN(N); }
            if(N==3||N==4)
            {  direc_M=direc(N);}

            if(N==5)
            { MOVE(N,pen,direc_M);}
            if(N== 6)
            { output();}
            if(N==9){ break; }
        }
}
int PEN(int n)
{
        int i=0;
        if(n==1)
        {  i=0;return i; }
        if(n==2)
        {  i=1;return i; }
}
int output(void)
{
        int i,j;
        a[X][Y]=2;
        for(i=0;i<20;i++)
        {
           for(j=0;j<20;j++)
           {
                if(a[i][j]==0)
                printf(" ");
                else if(a[i][j]==1)
                        printf("*");
                else if(a[i][j]==2)
                        printf("#");
           }
        printf("\n");
        }
}
int MOVE(int n,int pen_n,int direc_m)
{
        int j=0,m,x,y;
        printf("请输入走的步数:\n");
        scanf("%d",&m);
        if(direc_m==0)
        {
            if((X-m)<0)
             { printf("超出范围\n");}
           else
           {     while(j                 {
                   a[X][Y]=pen_n;
                    X--;j++;

                }
           }
        }
        else if(direc_m==1)
        {
            if((Y+m)>=20)
            { printf("超出范围\n");}
           else
           {    while(j                 {
                 a[X][Y]=pen_n;
                  Y++;j++;
                }
           }
        }
        else if(direc_m==2)
        {
                if((X+m)>=20)
                {  printf("超出范围\n");}
            else
           {    while(j                 {

                 a[X][Y]=pen_n;
                  X++;j++;

                }
           }
        }
        else if(direc_m==3)
        {
             if((y-m)<0)
              { printf("超出范围\n");}
            else
            {   while(j                 {
                 a[X][Y]=pen_n;
                  Y--;j++;

                }
            }
        }
}
int direc(int n)
{
        int direc_m;
        if(n==3)
        { direc_n++; }
        else if(n==4)
        { direc_n--; }
        direc_m=direc_n%4;
        return direc_m;