/*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);
}
'테트리스' 카테고리의 다른 글
C#, Tettris :: check_horizon routine() (0) | 2022.08.31 |
---|---|
통합 개발 환경(Integrated Development Environment, IDE) & .NET (0) | 2021.11.26 |
테트리스 개발코드관련 (0) | 2021.04.16 |