The 2017 event of the Privalia Code Challenge is called Maze Escape! The goal is easy: You have to create a bot to escape from a labyrinth.
Your bot will be trapped in a maze and is expected to find its way out competing with the other player bots in a real time challenge. All the bots will start at the same random position and they won't be visible to each other. The first bot to find its way out of the maze wins the game.
This repo constains the server used for the Privalia Code Challenge 2017.
It's a PHP project which uses the Symfony 3 framework and a MySQL database.
It has been developed using PHP7.1 and MySQL5.7 and docker technologies.
The docker
folder constains the particular images used in the development environment and some bash commands with helps configurating the environment.
docker/build.sh
- Build the docker images.docker/start.sh
- Start all the project containers.docker/stop.sh
- Stop all the project containers.docker/composer.sh
- Execute composer inside the container (params are allowed). The containers must be started before run this script.docker/console.sh
- Execute a console command inside the container (params are allowed). The containers must be started before run this script.docker/phpunit.sh
- Execute phpunit unit tests inside the container (params are allowed). The containers must be started before run this script.docker/bash.sh
- Access bash shell of the API container. The containers must be started before run this script.docker/su.sh
- Access bash shell of the API container with theroot
user. The containers must be started before run this script.
NOTE: All these scripts asume there is an user david
in the host. You can change it for your usere name to avoid permission problems.
$ git clone git@github.com:PrivaliaTech/code-challenge-2017.git
$ cd code-challenge-2017
$ docker/build.sh
$ docker/start.sh
$ docker/composer.sh install
$ docker/console.sh doctrine:database:create
$ docker/console.sh doctrine:schema:create
- Wikipedia: Maze generation algorithm
- Stack Overflow: What's a good algorithm to generate a maze?
- Maze Generation: Recursive Division by Jamis Buck
- Graphs & paths: getting out of a maze by David Pynes
Icons from Flaticon with Creative Commons BY 3.0 License:
- Labyrinth icon was made by Zlatko Najdenovski
- Pacman icon was made by Baianat
- Ghost icon was made by Freepik
- Trophy icon was made by Freepik
- Mansory icon was made by Freepik
- Tombstone icon was made by Freepik
- Racing flag icon was made by Vectors Market
- Map marker icon was made by Simpleicon
- Creative Commons icon was made by Plainicon