- JavaFX 2–4 player game
- For Java Final Project in CICCC
- JDK 21 (compiles to
--release 12bytecode) - JavaFX (OpenJFX 21)
- Maven
-
Download Executable.zip from below (Java doesn't need to be installed in your laptop👍)
-
Unzip
-
Double click or Run ./bin/silverBullet(Mac, Linux) or ./bin/silverBullet.bat(Windows) from your terminal
Requires JDK 17+ (built and tested on JDK 21).
mvn clean compile # compile
mvn test # run tests + JaCoCo coverage report
mvn clean compile javafx:jlink # build the self-contained executable imagemvn test writes a coverage report to target/site/jacoco/index.html. The
jlink goal writes a self-contained runtime image to target/jlinkImage;
launch it with ./bin/silverBullet (macOS/Linux) or bin\silverBullet.bat
(Windows) — no Java installation required.
A JUnit 5 suite covers the core gameplay — turning, movement, shooting, ammo pickups, the action queue, player removal, and a full plan→execute turn — both in isolation and end-to-end on a real board.
Coverage is tracked by the Codecov badge above. Run mvn test and open
target/site/jacoco/index.html for the detailed local report.
GitHub Actions runs on every push and pull request:
- Tests (
.github/workflows/tests.yml) — builds and runs the test suite on pushes tomaster/feature/**and on PRs intomaster. This is a required status check for merging, and it uploads the JaCoCo coverage report as an artifact. - Build (
.github/workflows/build.yml) — on pushes tomaster, produces nativejlinkexecutable images for Linux, Windows and macOS as downloadable artifacts.
Dependency and GitHub Actions updates are automated weekly via Dependabot
(.github/dependabot.yml).
- Juan (@Floxnu)
- Hao-tse (@Maxroo)
- Enrique (@Enrique92)
- Masa (@nator333)

