이것좀 도와주세요~
볼매
아래 제가 짠 푸쉬푸쉬 입니다
제가 맵추가를 또해서 1탄을 꺠면 2탄으로 넘어 가시겠습니다 이렇게해서
2개를 하려고 하는데 일단 하나는 만들었는데
2탄을 만들었다 해도 넘어가는것을 어떻게 해야될지
스테이지 2랑 소스에다가 1다음 2로 넘어 가겠금 .짜주셨으면 감사드리겠습니다
#include stdio.h
#include conio.h
#include stdlib.h
#include string.h
#define LEFT 75 //형식=(#define 매크로명 대체문자열) ASCll문자
#define RIGHT 77
#define UP 72
#define DOWN 80
#define ENTER 13
void main()
{
int i,j=0;
int x=3,y=4;
int arr[8][8]/*={
{1,1,1,1,1,1,1,1},
{1,1,1,2,1,1,1,1},
{1,1,1,0,1,1,1,1},
{1,1,1,4,3,4,2,1},
{1,2,0,4,0,1,1,1},
{1,1,1,1,4,1,1,1},
{1,1,1,1,2,1,1,1},
{1,1,1,1,1,1,1,1}}*/;char c;
int jb=0;
FILE *fp;
fp=fopen(PushPush.txt,r);//파일 입출력 하기 위햇 ㅓ
while(!feof(fp))//파일 입출력 하기 위해서
{
for(i=0;i8;i++)
{
for(j=0;j8;j++)
{
fscanf(fp,%d,&arr[i][j]);//파일 입출력 하기 위해서
}
}
}
printf(이동=방향키,종료=ENTER\n);
while(1)
{
c=getch();
system(cls);
switch(c)
{
case LEFT://함수로 할때는 변화량만 해주는것인데 y가 변하니 y로,x가변하면 x로 표현한다.
if(arr[x][y-1]==1)//벽일때
break;else if(arr[x][y-2]==1&&arr[x][y-1]==4)//벽하고 상자랑 같이있을때
{
break;
}
else if(arr[x][y-2]==1&&arr[x][y-1]==6)//벽하고 변환된 별이랑 같이있을때
{
break;
}
else if(arr[x][y-2]==2&&arr[x][y-1]==4)//목표지점에 상자을 넣을때
{
jb=arr[x][y-2];
arr[x][y-2]=arr[x][y-1];
arr[x][y-1]=0;
arr[x][y-2]=6;
}else if(arr[x][y-1]==4)//상자 미는조건
{
jb=arr[4][2];
arr[4][2]=arr[4][3];
arr[4][3]=jb;
}
arr[x][y-1]=arr[x][y];
arr[x][y]=0;
y--;
break;
case RIGHT:
if(arr[x][y+1]==1)
break;else if(arr[x][y+2]==1&&arr[x][y+1]==4)//옆으로 상자 쪽으로 간다음 벽이랑 상자비교
{
break;
}else if(arr[x][y+2]==2&&arr[x][y+1]==4)//목표지점에 상자을 넣을때
{
jb=arr[3][6];
arr[3][6]=arr[3][5];
arr[3][5]=0;
}else if(arr[x][y+1]==4)//상자 미는조건
{
arr[3][6]=arr[3][5];
arr[3][5]=0;
}
arr[x][y+1]=arr[x][y];
arr[x][y]=0;
y++;
break;
case UP:
if(arr[x-1][y]==1)
break;
else if(arr[x-1][y]==4&&arr[x-2][y]==1)//벽이랑 상자비교
{
break;
}
else if(arr[x-1][y]==4&&arr[x-2][y]==0)//목표지점에 상자을 넣을때
{
jb=arr[2][3];
arr[2][3]=arr[3][3];
arr[3][3]=0;
}
else if(arr[x-1][y]==4)//상자 미는조건
{
arr[1][3]=arr[2][3];
arr[2][3]=0;
}
arr[x-1][y]=arr[x][y];
arr[x][y]=0;
x--;
break;case DOWN:
if(arr[x+1][y]==1)
break;
else if(arr[x+1][y]==4&&arr[x+2][y]==1)//벽이랑 상자비교
{
break;
}
else if(arr[x+1][y]==4&&arr[x+2][y]==0)//목?0)//목표지점에 상자을 넣을때
{
jb=arr[6][4];
arr[6][4]=arr[5][4];
arr[5][4]=0;
}
else if(arr[x+1][y]==4)//상자 미는조건
{
arr[6][4]=arr[5][4];
arr[5][4]=0;
}
arr[x+1][y]=arr[x][y];//움직이는 조건
arr[x][y]=0;
x++;
break;
case ENTER:
{
printf(종료됩니다\n);
exit(1);
}
break;
}
//출력
for(i=0;i8;i++)
{
for(j=0;j8;j++)
{
if(arr[i][j]==0)
printf( );
else if(arr[i][j]==1)
printf(■);
else if(arr[i][j]==2)
printf(♨);
else if(arr[i][j]==3)
printf(◎);
else if(arr[i][j]==4)
printf(▤);
else if(arr[i][j]==6)
printf(☆);
}
printf(\n);
}
}
fclose(fp);
}
-
새콤이
왼쪽 메뉴에서 장편강좌를 클릭하면 거기에 푸시푸시 강좌가 있습니다.