PacPac is game inspired by the famous "Pac-Man".
The maze is generating from the file PacPac\Resources\Maps\maze1.txt
. To play with your own maze, replace PacPac\Resources\Maps\maze1.txt
by your maze file.
Every maze file must follow a specific format. Each character corresponds to a tile in the game. The following shows the different representation for each character:
- 0: Empty tile
- 1: Wall tile
- 2: Ghost wall (arround the ghost starting area)
- 3: Ghost gate (gate passable only by ghost)
- 4: Wall border of the maze
- 5: Pacdot
- 6: Fruit
- 7: Pac startup point (must be unique)
- 8: Blinky startup point (must be unique, and outside the ghost starting area)
- 9: Ghosts Starting area (must be in all the tiles inside the ghost starting area)
- a, b, ...z: Teleporter. A teleporter has two position, so for example, is you placed the character 'a' in your maze file, then you must add a second oneto set the destination. The following example is the default maze file:
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4
4 5 1 1 1 1 5 1 1 1 1 1 5 4 4 5 1 1 1 1 1 5 1 1 1 1 5 4
4 6 1 1 1 1 5 1 1 1 1 1 5 4 4 5 1 1 1 1 1 5 1 1 1 1 6 4
4 5 1 1 1 1 5 1 1 1 1 1 5 4 4 5 1 1 1 1 1 5 1 1 1 1 5 4
4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4
4 5 1 1 1 1 5 1 1 5 1 1 1 1 1 1 1 1 5 1 1 5 1 1 1 1 5 4
4 5 1 1 1 1 5 1 1 5 1 1 1 1 1 1 1 1 5 1 1 5 1 1 1 1 5 4
4 5 5 5 5 5 5 1 1 5 5 5 5 1 1 5 5 5 5 1 1 5 5 5 5 5 5 4
4 4 4 4 4 4 5 1 1 1 1 1 5 1 1 5 1 1 1 1 1 5 4 4 4 4 4 4
0 0 0 0 0 4 5 1 1 1 1 1 5 1 1 5 1 1 1 1 1 5 4 0 0 0 0 0
0 0 0 0 0 4 5 1 1 5 5 5 5 8 0 5 5 5 5 1 1 5 4 0 0 0 0 0
0 0 0 0 0 4 5 1 1 5 2 2 3 3 3 3 2 2 5 1 1 5 4 0 0 0 0 0
4 4 4 4 4 4 5 1 1 5 2 9 9 9 9 9 9 2 5 1 1 5 4 4 4 4 4 4
a 5 5 5 5 5 5 5 5 5 2 9 9 9 9 9 9 2 5 5 5 5 5 5 5 5 5 a
4 4 4 4 4 4 5 1 1 5 2 9 9 9 9 9 9 2 5 1 1 5 4 4 4 4 4 4
0 0 0 0 0 4 5 1 1 5 2 2 2 2 2 2 2 2 5 1 1 5 4 0 0 0 0 0
0 0 0 0 0 4 5 1 1 5 5 5 5 5 5 5 5 5 5 1 1 5 4 0 0 0 0 0
0 0 0 0 0 4 5 1 1 5 1 1 1 1 1 1 1 1 5 1 1 5 4 0 0 0 0 0
4 4 4 4 4 4 5 1 1 5 1 1 1 1 1 1 1 1 5 1 1 5 4 4 4 4 4 4
4 5 5 5 5 5 5 5 5 5 5 5 5 1 1 5 5 5 5 5 5 5 5 5 5 5 5 4
4 5 1 1 1 1 5 1 1 1 1 1 5 1 1 5 1 1 1 1 1 5 1 1 1 1 5 4
4 5 1 1 1 1 5 1 1 1 1 1 5 1 1 5 1 1 1 1 1 5 1 1 1 1 5 4
4 6 5 5 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 1 5 5 6 4
4 4 4 5 1 1 5 1 1 5 1 1 1 1 1 1 1 1 5 1 1 5 1 1 5 4 4 4
4 4 4 5 1 1 5 1 1 5 1 1 1 1 1 1 1 1 5 1 1 5 1 1 5 4 4 4
4 5 5 5 5 5 5 1 1 5 5 5 5 1 1 5 5 5 5 1 1 5 5 5 5 5 5 4
4 5 1 1 1 1 1 1 1 1 1 1 5 1 1 5 1 1 1 1 1 1 1 1 1 1 5 4
4 5 1 1 1 1 1 1 1 1 1 1 5 1 1 5 1 1 1 1 1 1 1 1 1 1 5 4
4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 4
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Please find below the UML Class Diagram, generated by Visual Studio 2015 Enterprise:
The source code of PacPac is open-source, and available on GitHub.
The project has been developed in C# in Microsoft Visual Studio 2015 Enterprise.
Realized by Valentin Berger, as a school project for "ISI" module at Polytech Lyon.