A final game project for CMPT 276 Fall 2025. A 2D-grid maze game where the player must escape from a prison by collecting keys. The player must avoid guards and security cameras to avoid a negative score or losing the game.
The following members contributed to the development of this project:
- Samuel Ye (sya191)
- Kyle Wong (kkw29)
- Kirstin Horvat (kbph05/kbh5)
Please see the Documents folder for more information about the project's development.
This README provides complete instructions for compiling the game, running it, executing tests, generating code coverage, and producing required artifacts (JAR file + Javadocs).
The project uses:
- Java 17
- Maven 3.9+
- JUnit 5
- TestFX (UI tests)
- JaCoCo 0.8.12 (coverage)
- JavaFX 23 SDK
Ensure the following are installed and available on your PATH:
Run: java -version mvn -version
First, ensure you are in the correct directory location:
CMPT276F25_Group18\prison_break
To compile the game source code:
Run: mvn clean compile
This compiles main sources only (does not run any tests).
Functional (black-box) + structural (white-box) tests:
Run: mvn test
This executes the JUnit unit tests, TestFX UI tests and the JaCoCo coverage tool
After running tests:
Run: mvn jacoco:report target/site/jacoco/index.html
The Jacoco coverage report should then automatically open within a browser.
After a successful compile:
Run: mvn exec:java -Dexec.mainClass=group18.Main
This launches the JavaFX application.
To build the game’s JAR file:
Run: mvn package
The JAR will be located in: prison_break\target\
Generate project documentation with:
Run: mvn javadoc:javadoc
The Javadoc HTML files will appear in: prison_break\target\reports\apidocs
After generating the JAR file:
Run: java -jar target/prison_break-1.0.jar
NOTE: JavaFX 23 SDK MUST BE INSTALLED FOR YOUR PLATFORM (link: https://gluonhq.com/products/javafx/)
If the first command does not work, try pointing path directly to the JavaFX SDK folder:
Run: java --module-path [INSERT PATH HERE]/javafx-sdk/lib --add-modules javafx.controls,javafx.fxml -jar target/prison_break-1.0.jar
After generating the javadoc files:
Run: start target/reports/apidocs/index.html
The javadocs should open automatically in a browser