미로 찾기 게임을 만들었는데 함 봐주세요^^
김자영
질문 제목 : 미로 찾기 게임을 만들었는데 함 봐주세요^^게임을 만들었는데 최대한 코딩한 걸 줄여볼려고 하는데 함 봐주세요질문 내용 : 게임은 자기가 지나간 곳을 1로 남기고 현재 있는 위치를 2로 남깁니다 그래서 배열에 모두 1을 남기고 3에 들어 갈시
성공하는거고요 벽에 붙이치거나 배열 전체를 1로 안 만들시 실패하는 게임입니다.
#includestdio.h
#includeconio.h
#includewindows.h
void keyboad(int (*way)[11]);
void wall(int (*way)[11]);
int way[11][11]={0};
char a;
void goal(int (*way)[11]);
#define left 75
#define right 77
#define up 80
#define down 72
void fail(int (*way)[11]);
int main()
{
wall(way); //벽 입력
goal(way);
for(int i=0;i11;i++)
{
for(int j=0;j11;j++)
{
printf(%d,way[i][j]);
}
printf(\n);
}
keyboad(way); //방향키return 0;
}void wall(int (*way)[11])
{
for(int i=0;i11;i++)
{
way[0][i]=1;
way[i][0]=1;
way[10][i]=1;
way[i][10]=1;
}
}
void goal(int (*way)[11])
{
way[6][3]=3;
way[7][4]=1;
way[7][3]=1;
way[7][2]=1;
way[6][2]=1;
way[6][4]=1;
}
void keyboad(int (*way)[11])
{
int x=1,y=1;
while(1)
{
a=getch();
if(left==a)
{
way[x][y]=1;
system(cls);
y--;
if(way[x][y]==1)
{
printf(벽에 닿아서 실패했습니다);
break;
}
else if(way[x][y]==3)
{
way[x][y]==1;
fail(way);
break;
}
way[x][y]=2;
for(int i=0;i11;i++)
{
for(int j=0;j11;j++)
{
printf(%d,way[i][j]);
}
printf(\n);
}
}
else if(right==a)
{
way[x][y]=1;
system(cls);
y++;
if(way[x][y]==1)
{
printf(벽에 닿아서 실패했습니다\n);
break;
}
else if(way[x][y]==3)
{
way[x][y]==1;
fail(way);
break;
}
way[x][y]=2;
for(int i=0;i11;i++)
{
for(int j=0;j11;j++)
{
printf(%d,way[i][j]);
}
printf(\n);
}
}
else if(up==a)
{
way[x][y]=1;
system(cls);
x++;
if(way[x][y]==1)
{
printf(벽에 닿아서 실패했습니다\n);
break;
}
else if(way[x][y]==3)
{
way[x][y]==1;
fail(way);
break;
}
way[x][y]=2;
for(int i=0;i11;i++)
{
for(int j=0;j11;j++)
{
printf(%d,way[i][j]);
}
printf(\n);
}
}
else if(down==a)
{
way[x][y]=1;
1;
system(cls);
x--;
if(way[x][y]==1)
{
printf(벽에 닿아서 실패했습니다\n);
break;
}
else if(way[x][y]==3)
{
way[x][y]==1;
fail(way);
break;
}
way[x][y]=2;
for(int i=0;i11;i++)
{
for(int j=0;j11;j++)
{
printf(%d,way[i][j]);
}
printf(\n);
}
}
}
}
void fail(int (*way)[11])
{
int tot=0;
for(int i=0;i11;i++)
{
for(int j=0;j11;j++)
{
//way[i][j]=1; // 전체 배열이 통과할시 성공인지를 증명
if(way[i][j]!=1)
{
tot+=1;
}
}
}
if(tot==0)
{
printf(성공입니다\n);
}
else
{
printf(골인은 했지만 안 밟은 곳이 있어서 실패입니다\n);
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2654352 | 행렬크기를 scanf로 입력받을수도 있나요..? | VanilLa | 2024-05-10 |
2654293 | 첫시작값과 끝값의 사이에 존재하는 정수들의 합을 구하는 것 (5) | 해긴 | 2024-05-09 |
2654185 | 64bit 환경에서 자료형의 크기가 좀궁그해요(완료) 더궁금한게 생겻어요(추가) (2) | 빈길 | 2024-05-08 |
2654152 | 확장자 exe로 변경 (1) | 한 | 2024-05-08 |
2654128 | c언어 간단하게 자판기만들려는데 ㅜㅜ | 유1혹 | 2024-05-08 |
2654074 | 배열에 들어있는값을 포인터에 옮기고 싶어요.. | 소라 | 2024-05-07 |
2654043 | 이차원 배열에 있는 값들 더하기.. | 선아 | 2024-05-07 |
2654011 | c언어 대문자소문자, 소문자대문자 변형하기, | 샤르 | 2024-05-07 |
2653985 | 실수 자료형 표현범위있잖아요 (1) | 패틱 | 2024-05-06 |
2653957 | 뭐가틀린건가요?.. (2) | 볼1매그녀 | 2024-05-06 |
2653934 | malloc을 이용한 출력 (1) | 하예 | 2024-05-06 |
2653906 | 숫자 야구 게임인데요.. (2) | 상큼한캔디 | 2024-05-06 |
2653883 | 구조체 질문이요.. 연결리스트. (1) | 별 | 2024-05-05 |
2653802 | 배열에 저장된 데이터와 원하는 데이터비교하는것좀.. | 리카 | 2024-05-05 |
2653727 | 고수님들 봐주세요~ (2) | 아담 | 2024-05-04 |
2653702 | C언어 의 단계가 어떻게 되나요???????????????? (3) | 길가온 | 2024-05-04 |
2653645 | 저....while인데..이게무슨뜻인지좀.. | 설희 | 2024-05-03 |
2653613 | 성별변수 | 뿡뿡 | 2024-05-03 |
2653584 | 16진수 변환 관련 질문 드립니다. | 매미꽃 | 2024-05-03 |
2653557 | 한글 완성형과 조합형의 전환 | 해지개 | 2024-05-02 |