Code Monkey home page Code Monkey logo

spelunker-graphmaze's People

Contributors

sraaphorst avatar

Watchers

 avatar  avatar

spelunker-graphmaze's Issues

Implement colouring

Implement the BFS flood colouring. We can do this with a gradient, given two colours and a start point.

Clean up output mazes

Right now, the output mazes are identical in definition to the template that is given for maze production. This may contain some information that is not needed by the maze (e.g. the binary tree function). There is no reason for these two to be the same, and we may want the output maze to contain additional information, such as start position and end position.

Related to #1.

Return start vertex from maze generators

For colouring purposes, we need the start vertex from where the maze generation began. Modify MazeGenerator::generate to return a pair consisting of the maze and start vertex.

Fix graph properties

Right now, the graph properties contain important information, namely the map from cell type to directions, as well as ranking information for graphs that can have a sensible two dimensional ordering placed on their cells.

We need to clean this up considerably. Ideas:

  1. Make the BTCandidateFunction a template based on the type of tessellation, so that we are not operating on arbitrary ints for vertex type.
  2. Make the VertexInfo a template based on the type of tessellation, so that the type member is not an arbitrary int.
  3. Improve / clean up the ranking function in the GraphInfo.
  4. Improve the way that these are populated.

Fix Hunt and Kill to not assume vertices are integers

Right now, HuntAndKillMazeGenerator works under the assumption that vertices are integers: while this is the case, we shouldn't assume it, and we should be working with iterators instead.

This is dependent on #12 being done first.

ThickMaze implementation

Figure out how we want to implement ThickMazes.

The biggest question is if it makes sense to model it using BGL.

Note: we will still have a homomorphism from regular mazes to thick mazes as in the old implementation.

Implement connectivity checking

Check connectivity, and preferably, determine the connected components. This should be done as a decorator for mazes, and integrated into tests to make sure that algorithms that should be perfect are indeed perfect.

There are probably routines in BGL to do this already. Investigate whether or not this is the case.

Make BinaryTree function a decorator for template mazes?

It seems that a BinaryTree function would be the perfect way to enhance a template maze, and then we could have a type called BinaryTreeTemplateMaze that could be used exclusively by binary tree and hunt and kill maze generators to make mazes.

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.