Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 2.22 KB

README.md

File metadata and controls

76 lines (54 loc) · 2.22 KB

Maze

Build Status

Maze is a demo to see different graph traversal algorithms in action and generate mazes with different algorithms. Currently there is only one Algorithm to Generate the maze:

  • Growing Tree Algorithm: Can be configured with some parameters.

    • Randomness: Choose the way that selects the next node to process its neighbours (between linear and random).
    • Binomial: Choose the way that selects the neighbour to disconnect from the rest (between uniform and binomial).

Download

Video

Isometric View

Isometric.png

Top-down View

Topdown.png

Keys

  • A - A* search
  • D - Depth-First Search
  • B - Breadth-First Search
  • G - Greedy Best First Search
  • R - remove edges from a node
  • M - Generate maze with the origin and / or destination

Building

Requires CMake and one of the following compilers:

  • GCC 8.1 or newer;
  • Clang 3.7 or newer [Not Tested];
  • Visual Studio 2010 or newer [Not Tested];
  • Android NDK and SDK, Gradle

Maze requires the following dependencies:

  • SFML 2.6.x or newer

Use CMake to build the project.

mkdir build && cd build
cmake -G"MinGW Makefiles" -DMAZE_SLOW_SEARCH=TRUE -DMAZE_PARALLEL_ISOLATE=FALSE -DMAZE_MANHATTAN=TRUE ..
make -j4 install

Android

You should replace <android_ndk> with the actual folder.

export NDK_DIR=<android_ndk>
git clone https://github.com/SFML/SFML SFML
cd SFML
mkdir build && cd build && mkdir armeabi-v7a && cd armeabi-v7a
cmake -DCMAKE_SYSTEM_NAME=Android -DCMAKE_ANDROID_NDK=$NDK_DIR \
        -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_STL_TYPE=c++_shared \ 
        -DCMAKE_BUILD_TYPE=Release -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang \ 
        -DCMAKE_INSTALL_PREFIX=$NDK_DIR/sources/third_party/sfml ../..
make -j4 install
cd ../../..
git clone https://github.com/cristianglezm/Maze Maze
cd Maze && cd android
./gradlew build
[./gradlew installDebug]