[US-01] Place fleet on a concealed board
Implementation Summary
This merge request implements the core ship placement functionality for the Battleship game as specified in US-01.
Requirements Implemented
Board class with GRID_SIZE = 10
Ship.Type enum
Board.placeShip()
Core Components
-
Board- Manages 10x10 grid, ship placement validation, and fleet completeness -
Ship- Represents individual ships with type, position, and orientation -
Coordinate- Validates grid bounds and provides coordinate operations -
Player- Base class for managing individual player state
Acceptance Criteria Validation
Coordinate.isValid() and Board.placeShip() prevent out-of-bounds placements
Ship.overlapsWith() and Board.placeShip() prevent overlapping ships
Board.markReady() only succeeds when standard fleet is complete
Test Coverage
-
CoordinateTest- Comprehensive bounds validation and coordinate operations -
BoardTest- 12 test methods covering placement, validation, fleet management -
ShipTest- 12 test methods covering creation, positioning, overlap detection
Pipeline Status
- Pipeline #8113: SUCCESS (compile_job ✓, test_job ✓)
- Current Status: Implementation validated and ready for merge
- Technical Issue: System-level merge blocking (not implementation-related)
Closes #1