/*Update by 2022.04.18*/

int common_chek(int direction)
{
    int ii,kk;
    int[,] tmp = new int[MAPY,MAPX];

    for(ii=0; ii <MAPY; ii++)
    for(kk=0; kk<MAPX; kk++)
    {
        tmp[ii,kk]=comm[ii,kk];
    }

    for(ii=0; ii<ARR; ii++)
    for(kk=0; kk<ARR; kk++)
    {
        if(design[ii,kk]==1)
        {
             if(ypos+ii>MAPY-1) continue;
             if(xpos+kk>MAPX-1) continue;
             if(xpos+kk<0) continue;

             tmp[ypos+ii,xpos+kk]=0;
        }
    }

    if(direction==D_RIGHT) xpos++;
    if(direction==D_LEFT) xpos--;
    if(direction==D_DOWN) ypos++;

    ff=0;
    for(ii=0; ii<ARR; ii++)
    for(kk=0; kk<ARR; kk++)
    {
        if(design[ii,kk]==1)
        {
             if(ypos+ii>MAPY-1) continue;
             if(xpos+kk>MAPX-1) continue;
             if(xpos+kk<0) continue;

             tmp[ypos+ii,xpos+kk] += 1;
             if(tmp[ypos+ii,xpos+kk]>1) ff++;
        }
    }

    if(ff>0)
    {
        if(direction==D_RIGHT) xpos--;
        if(direction==D_LEFT) xpos++;
        if(direction==D_DOWN) ypos--;

        return(FAIL);
    }
    else
    {
        for(ii=0; ii<MAPY; ii++)
        for(kk=0; kk<MAPX; kk++)
        {
            comm[ii,kk]=tmp[ii,kk];
        }
    }
    return(SUCC);
}

+ Recent posts