Program Version: 1.0
This Java school project, developed as part of the first-year engineering end-of-year project, is an implementation of a modified Sliding Puzzle Game. In this game, the player needs to rearrange numbered tiles on a grid of any size by making moves. The goal is to place the tiles in ascending numerical order using the fewest number of moves.
-
Graphical User Interface: The Sliding Puzzle Game features a user-friendly graphical interface that displays the game grid and allows players to interact using simple interactions.
-
Tile Movements: Players can move adjacent tiles to the empty space by clicking on a valid adjacent tile. Tiles are swapped with the empty space, allowing for the rearrangement of the tiles.
-
Random Shuffle: At the start of the game, the tiles are randomly shuffled to create an initial game state. This ensures a different experience for each playthrough.
-
Victory Validation: The game automatically checks if the player has successfully arranged the tiles in numerical order. When all tiles are correctly placed, the player is notified of their victory.
-
Variable Grid Size: The Sliding Puzzle Game allows for the specification of the grid size, enabling gameplay with different grid configurations. The grid size can be modified before starting the game.
-
Multiple Empty Spaces Handling: The Sliding Puzzle Game also handles configurations with multiple empty spaces. Players can move tiles to any adjacent empty space.
-
Clone the GitHub repository of the project:
git clone https://github.com/sarahbahhar/SLIDE.git -
Import the project into your preferred Java development environment (Eclipse, IntelliJ, etc.).
-
Compile the project to generate the
.classfiles. -
Execute the
Mainclass to start the Sliding Puzzle Game. -
Follow the instructions displayed in the graphical interface to play the Sliding Puzzle Game. Use mouse clicks to move adjacent tiles.
-
To modify the grid size, modify the corresponding parameter in the
Mainclass before launching the game.
The project is organized within the puzzle package:
puzzle: Contains all the classes related to the Sliding Puzzle Game, including game logic, grid management, graphical interface, and utility classes.
This project was created by:
- Abdellah HASSANI
- Sarah BAHHAR
- Frank ZUO
- Simon REN
- Romain CASTELAO
If you would like to contribute to this project, you can follow these steps:
- Fork the project repository.
- Create a branch for your modifications:
git checkout -b my-branch - Make your modifications and commit them:
git commit -am "Add my modifications" - Push your changes to the remote repository:
git push origin my-branch - Open a pull request to propose your modifications.