Code Monkey home page Code Monkey logo

oshwdemmazes's Introduction

OSHWDEM Mazes

-Versión en español-

OpenSource Hardware Demonstration by Bricolabs Group is the most important barcamp of makers in Galicia. Since 2014, there are robot challenges and everybody is invited to participate.

Constructed maze

One of the contest is the Maze with robots. This program is intended to be the maze generator according to the specific rules of the contest. It is compiled and executed on the big screen just in the beginning of the competition and the real maze is configured with the walls as shown on the big screen.

Executing Maze Generator

The source code is published so that you can study and generate mazes in order to audit the program and practice with maze configurations similar to the competition ones.

Prepare the environment

You need a GNU/Linux distribution and Mono.NET runtime to execute the Maze Generator. Current version is fully tested with Debian.

Get the precompiled binary file from Github directory:

wget https://github.com/brico-labs/OshwdemMazes/raw/master/precompiled/MazeGenerator.exe

Maximize the terminal window to view all the maze on screen.

Run the Maze Generator

The precompiled binary is Mono.NET 4.5 compatible. Try to execute it with the command:

mono MazeGenerator.exe

If something was wrong with the command, you probably need the Mono runtime. Debian flavours provide a Mono package and it is easy to install:

sudo apt-get install mono-runtime

See the official How to install Mono if you have another OS distro.

Note for Windoze and Osex users: it should work from a console. However, we do NOT offer support for privative operating systems.

Maze straightness

Since v1.3, there is a command line parameter to generate the maze with more straightened paths:

$ ./MazeGenerator.exe -h

OSHWDEM Maze Generator v1.3 R2276

-h --help
    Shows this help

-s --straightness
    Generates more straightness paths; float value (0.00 - 1.00), default is 0.00

Maze straightness 0%-100%

This animation shows 6 mazes with 0.00, 0.20, 0.40. 0.60, 0.80 and 1.00 values used in the "-s" parameter.

Compile the Maze Generator

Source code includes a OshwdemMazes.sln file. Install MonoDevelop, open it and build the project. It generates a new binary under the bin folder.

To install MonoDevelop:

sudo apt-get install monodevelop

License

Version 3 of the GNU General Public License (GPLv3). See LICENSE.txt.

Extra commands

Command line forever!

Massive maze generation

Generate 10 mazes and save them in a file:

for T in $(seq 10) ; do echo "Thanks" | mono MazeGenerator.exe >> mazes.txt ; done

Show and save at the same time

Save the maze in a file at the moment of generation:

mono MazeGenerator.exe | tee -a mazes.txt

Issues

Bug reports or suggestions are welcome.

oshwdemmazes's People

Contributors

peque avatar rafacouto avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

oshwdemmazes's Issues

Should not this repository be trasferred to `brico-labs` organization?

The one at brico-labs/OshwdemMazes seems to be the "official" (the one they link from the website).

It feels a bit weird to have an "official" repository that is a fork and does not allow to create issues. Also, it is not easy to tell if contributors are supposed to create pull requests in one or the other repository.

Otherwise maybe it would be good to link this repository instead from the official website?

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.