BATALHA NAVAL

Batalha Naval is a classic Battleship game implemented entirely in the browser. Players place their fleet on a grid and take turns against a computer opponent trying to sink each other's ships before the other does. The game includes a ship placement phase, turn-based combat, hit/miss feedback, and a win/loss state.
Implementing correct game logic — valid ship placement, no overlaps, edge constraints, AI opponent targeting — while keeping the UI responsive and the state management clean, all without a backend.
Built with Vite for instant dev feedback and React 19 for component-driven board state. Game logic is fully client-side, with a simple AI that progresses from random guesses to directional hunting after a hit. Tailwind CSS handles the grid layout and visual states (hit, miss, sunk) cleanly across screen sizes.