Assignment 12 - A* Maze

Source

This is a nifty assignment from 2008 proposed by Don Blaheta. Source

Learning Outcomes

  1. Stacks
  2. Queues
  3. Shortest Path
  4. Graphing

Goals

The purpose of this assignment is to learn to

  1. Generate a random maze on a 2D Grid
  2. Write the A* algorithm for traversing a grid
  3. Display the algorithm at each step to the grid as it traverses the maze

Description

Tasks

Create the maze

There are plenty of algorithms for generating a maze. Prims algorithms is a good place to start. Then create a grid to display the maze and keep track of the open positions and walls on the grid.

Create the pathfinder

Create a pathfinder that uses the A* algorithm to traverse the grid towards a goal point.

Extensions

Help

For Java

AStar Explanation(Geeks for Geeks

NonBlockingGame

Maze Algorithms(Wikipedia)

For C++

NonBlockingGame documentation

For Python

NonBlockingGame documentation