Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void findPath(char maze[HEIGHT][WIDTH], Node *p)
- {
- int nx = p->x;
- int ny = p->y;
- maze[nx][ny] = '2';
- if (maze[nx-1][ny] == '0')
- {
- Node *node = malloc(sizeof(Node));
- node->x = nx-1;
- node->y = ny;
- node->up = NULL;
- node->down = NULL:
- node->left = NULL;
- node->right = NULL:
- p->up = node;
- findPath(maze, node);
- }
- if (maze[nx+1][ny] == '0')
- {
- Node *node = malloc(sizeof(Node));
- node->x = nx+1;
- node->y = ny;
- node->up = NULL;
- node->down = NULL:
- node->left = NULL;
- node->right = NULL:
- p->down = node;
- findPath(maze, node);
- }
- if(maze[nx][ny-1] == '0')
- {
- Node *node = malloc(sizeof(Node));
- node->x = nx;
- node->y = ny-1;
- node->up = NULL;
- node->down = NULL:
- node->left = NULL;
- node->right = NULL:
- p->left = node;
- findPath(maze, node);
- }
- if(maze[nx][ny+1] == '0')
- {
- Node *node = malloc(sizeof(Node));
- node->x = nx;
- node->y = ny+1;
- node->up = NULL;
- node->down = NULL:
- node->left = NULL;
- node->right = NULL:
- p->right = node;
- findPath(maze, node);
- }
- return;
- /*maze[x-1][y] = '2';
- Node* node = malloc(sizeof(Node));
- node->x = x-1;
- node->y = y;
- p->up = node;
- findPath(maze, x-1, y, node);*/
- }
- int main()
- {
- Node* startNode = malloc(sizeof(Node));
- startNode->x = sx;
- startNode->y = sy;
- startNode->up = NULL;
- startNode->down = NULL:
- startNode->left = NULL;
- startNode->right = NULL:
- findPath(maze, startNode);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement