Giter Site home page Giter Site logo

bungogood / maze Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 14 KB

A command line tool to generate and solve mazes which are stored as png files. Using a wide range of graph algorithms A*, DFS, BFS...

License: MIT License

C 96.63% Makefile 3.37%
c graph-algorithms maze-algorithms maze-generator maze-solver

maze's Introduction

Maze

Build

Inspired by a Computerphile video.

Usage

Generate

./maze gen <mazes/out.png> 1000

Solve

./maze gen <mazes/in.png>

Color

./maze gen <mazes/in.png> <mazes/out.png>

Show

./maze show <mazes/in.png>

Install

git clone [email protected]:Bungogood/maze.git
cd maze
mkdir mazes .obj
make

Techniques

Solvers:

  • Dijkstra
  • A Star
  • Breadth First Search
  • Depth First Search
  • Always Turn Left / Right (hand on wall)

Generators:

  • Prim
  • Kruskal
  • Binary Tree

Data Structures:

  • Stacks
  • Queues
  • Heaps
  • Priority Queues
  • Dynamic Arrays
  • Linked Lists
  • Hashtables

Structure

├── .obj/
│   └── <objects.o>
├── include/
│   └── <headers.h>
├── mazes/
│   └── <mazes.png>
├── src/
│   ├── datastructs/
│   │   ├── stack.c
│   │   ├── queue.c
│   │   ├── heap.c
│   │   ├── pqueue.c
│   │   ├── earray.c
│   │   ├── llist.c
│   │   └── hashtable.c
│   ├── solvers/
│   │   ├── prim.c
│   │   ├── kruskal.c
│   │   └── btree.c
│   ├── generators/
│   │   ├── dijkstra.c
│   │   ├── astar.c
│   │   ├── bfs.c
│   │   ├── dfs.c
│   │   └── aturn.c
│   ├── parse.c
│   ├── generate.c
│   ├── solve.c
│   ├── color.c
│   ├── maze.c
│   └── main.c
├── .gitignore
├── makefile
├── maze
└── README.md

To Do

  • add path checker for filenames
  • add integer checker for seed and width / height

References

https://youtu.be/rop0W4QDOUI https://github.com/mikepound/mazesolving

maze's People

Contributors

bungogood avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.