[US-03] Ship damage, announcing sunk, and finishing
Description
Implements ship damage tracking, sunk ship detection, game end conditions, and restart functionality for the Battleship game.
Changes
- Ship.java: Added comprehensive ship damage tracking with hit recording, sunk detection, and status reporting
- Game.java: Implemented game state management, winner determination, and game restart functionality
- AcceptanceCriteriaTest.java: Comprehensive test suite validating all acceptance criteria from issue #3
- Additional model classes: Enhanced Board, Player, and related classes to support damage tracking
Requirements Implemented
Acceptance Criteria Validated
Technical Details
- Uses layered architecture with MVC pattern as specified in ORCH_PLAN.json
- Comprehensive test coverage with JUnit 5
- Follows Java 21 best practices
- Maintains separation of concerns between model, view, and game logic
Closes #3