미로 찾기(C++)
본 자료는 미만의 자료로 미리보기를 제공하지 않습니다.
닫기
  • 1
해당 자료는 0페이지 까지만 미리보기를 제공합니다.
0페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

미로 찾기(C++)에 대한 보고서 자료입니다.

본문내용

/*미로 생성을 랜덤함수를 써서 해봤고...
출력하면 생성된 미로와 길 찾은후의
미로 그리고 몇번만에 길이있는(제대로된) 미로가 생성되는가도 표시해봤습니다.
*/
#include
#include
#include
#include
#define TRUE 1
#define FALSE 0
#define height 9
#define width 10
#define exitrow height - 2
#define exitcol width - 1
float mazecount = 0;
typedef struct {
int vert;
int horiz;
} offsets;
offsets move[4] = {
{-1, 0},
{0, 1},
{1, 0},
{0, -1}
};
typedef struct {
int row;
int col;
int dir;
} element;
int maze[height][width];
int mark[height][width];
int found = FALSE;
void mazemake(), mazepath(), mazeprint();
main()
{
do{
mazemake();
mazepath();
} while(!found);
printf("\ncount: %d\n", (int) mazecount);
}
void stack_overflow(), stack_empty();
#define maxsize height*width
element stack[maxsize];
int top = -1;
void push(element position)
{
if (top >= maxsize - 1)
stack_overflow();
else {
stack[++top].row = position.row;
stack[top].col = position.col;
stack[top].dir = position.dir;
}
}
element pop()
{
if (top == -1)
stack_empty();
else {
return stack[top--];
}
}
void stack_overflow()
{
printf("Error! Stack overflows.\n");
return;
}
void stack_empty()
{
printf("Error! Stack underflows.\n");
return;
}
void mazemake()
{
int i, j, num;

for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
mark[i][j] = FALSE;
}
}

for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
if (i == 0 || i == (height - 1) || j == 0 || j == (width - 1)){
maze[i][j] = 1;
}
}
}

srand(time(NULL));
for (i = 1; i < height-1; i++) {
for (j = 1; j < width-1; j++) {
num = rand()%100+1;
if (num > 40) maze[i][j] = 0;
else maze[i][j] = 1;
}
}
maze[1][1] = 0;
maze[height-2][width-2] = 0;
mazecount++;
}
void mazepath()
{
int row, col, nextX, nextY, dir;
element position;

mark[1][1] = TRUE;
position.row = 1;
position.col = 1;
position.dir = 0;
push(position);

키워드

  • 가격800
  • 페이지수1페이지
  • 등록일2005.08.19
  • 저작시기2005.08
  • 파일형식기타(c)
  • 자료번호#310102
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니