# Snake 2025 Game [![en](https://img.shields.io/badge/lang-en-red.svg)](https://git.esiee.fr/frequela/snake2025/-/blob/tp2/README.md) [![fr](https://img.shields.io/badge/lang-fr-green.svg)](https://git.esiee.fr/frequela/snake2025/-/blob/tp2/README-fr.md) This project is a simple grid-based snake game using the MLV graphics library. The grid represents a game board with walls, empty spaces, fruits, and a snake. The program displays the grid in a graphical window and waits for user interaction. ## Features - Displays a grid with walls, empty spaces, fruits, and a snake. - Uses the MLV graphics library for graphical rendering. - Ensures that blocks outside the grid are displayed as black. - Allows the user to quit the program by pressing the ESC key. ## Grid Representation - The grid is represented as a 2D array of characters: - `'w'` for walls. - `' '` (space) for empty spaces. - `'f'` for fruits. - `'s'` for the snake. ## Dependencies - GCC (GNU Compiler Collection) - MLV (Mini Library for Visualization) ## Installation ### Installing MLV on Ubuntu 1. Update your package list and install the required packages: ```sh sudo apt-get update sudo apt-get install build-essential gcc make libmlv3-dev ``` ### Building the Program 1. Clone the repository or download the source code. 2. Navigate to the directory containing the `Makefile`. 3. Run the following command to build the program: ```sh make ``` This will compile the source files and create an executable named `game` in the `build` directory. ## Usage 1. After building the program, run the executable: ```sh ./game ``` 2. A window will open displaying the grid. Blocks outside the grid will appear black. Press the ESC key to close the window. ## Cleaning Up To clean up the build files, run: ```sh make clean ``` This will remove the object files and the executable. ## License This project is licensed under the GPLv3 License. For more details, see [GPLv3 License](https://www.gnu.org/licenses/gpl-3.0.en.html). ## Authors - Alex Frequelin (light_emerald@aostia.com) ## Acknowledgments - Adrien Boussicault and Marc Zipstein for the MLV library. - ESIEE Paris for the course materials and guidance.