Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 1.43 KB

README.md

File metadata and controls

51 lines (40 loc) · 1.43 KB

Pathfinding-Visualizer

This is an image

Description

Visualization of this kind helps to understand the general idea behind every implemented algorithm. The application is written mainly for educational purposes: to learn more about pathfinding, maze generation, and to challenge my software development skills.

Implemented pathfinding algorithms:

  • A*
  • Dijkstra's
  • Depth-first search
  • Breadth-first search
  • Greedy best-first search
  • Bidirectional breadth-first search

Implemented maze generation algorithms:

  • Recursive division
  • Randomized depth-first search (backtracker)
  • Spiral
  • Simple stair pattern

Implemented features:

  • Adjustable animation speed
  • Draggable route points
  • Real time revisualization
  • Intermediate route point (parcel)
  • Manual creation and removal of walls

All or some of the lists are likely to be updated at some point in the future.

Demo

Dijkstra's algorithm & recursive division maze

This is a gif

Bidirectional bfs & intermidiate point (parcel)

This is a gif

A* algorithm & "real time" revisualization feature

This is a gif

Dependencies

  • pygame
  • strenum
  • pygame_gui

How to use

  1. Download or clone this repository.
  2. Extract to some location.
  3. Pip all dependencies.
  4. Run main.py