[US-02] Alternating shooting with feedback
Description
Implements alternating shooting functionality for Battleship game with turn management, hit/miss feedback, and duplicate shot prevention.
Changes
- Core Models: Added ShotResult enum, ShotTracker, GameState for turn management
- Game Logic: Implemented shooting functionality in GameService with turn switching
- UI Integration: Updated Main.java with shooting phase and turn-based gameplay
- Testing: Comprehensive test suite covering all acceptance criteria
Acceptance Criteria Verified
- Tested in GameServiceShootingTest.testPlayerShootingHit() and testPlayerShootingMiss()
- Tested in GameServiceShootingTest.testPlayerShootingAlreadyShot()
- Tested in GameServiceShootingTest.testAlternatingTurns()
Technical Implementation
- Turn-based shooting system with proper state management
- Shot validation and duplicate prevention
- Hit/miss detection with ship damage tracking
- Game end detection when all ships are sunk
- Comprehensive test coverage with 25+ test methods
Dependencies
- Builds upon ship placement functionality from Issue #1 (closed)
- Follows layered architecture pattern from planning documents
Closes #2