Releases: milesapnash/JavaSnake
Releases · milesapnash/JavaSnake
v1.1.0
Improve pipeline, test coverage, and add progressive speed-up -Add Checkstyle and SpotBugs to CI with Maven verify phase -Replace java.awt.Point with a Position record -Add win condition and full-game integration tests -Add progressive speed-up as the snake grows -Update README.md
v1.0.0
refactor: simplify game code, add CI - Moved all classes into com.mapna.snake package - Encapsulated Snake state: owns its own movement, protects body list with unmodifiable view, uses HashSet<Point> for O(1) collision checks - Extracted game logic into testable GameEngine with injectable Random - Added WON game state when snake fills the board - Optimised food placement to enumerate free cells instead of retry loop - Eliminated magic floats and duplicated direction/paint logic in BoardRenderer - Extracted constants (HIGHSCORE_FILE, INITIAL_LENGTH, fonts) and removed excess final keywords - Fixed rendering fragility: score overlay now sets its own font/color explicitly instead of relying on side-effects from paintTitles - Removed unnecessary defensive copies on GameState.food - Added SnakeTest (12 tests) and FileHighScoreStoreTest (9 tests) - Added GitHub Actions CI pipeline (compile + test on push/PR) - Added maven-shade-plugin for runnable JAR packaging