Each side hides a fleet of five ships on a 10×10 grid: Carrier (5), Battleship (4), Cruiser (3), Submarine (3), Destroyer (2). Ships are straight lines and may not overlap. With "Ships can't touch" they must also keep a gap of one square, even at the corners.
Take turns firing at the enemy grid. A dot is a miss, a red mark a hit. When every square of a ship is hit, it sinks. When ships can't touch, squares diagonal to a hit and all squares around a sunk ship are marked as water automatically.
Sink all five enemy ships to win. Keyboard: arrow keys move over enemy waters, Enter fires. While placing, R rotates the ship under the pointer.