Ship games are about captaining space, war ships and cruise ships through treacherous terrain and against a wide range of enemies. You get to sail across the seas and oceans. In our fun online collection here at Silvergames.com you get to carry cargo, build new vessels and travel far and wide.
Here are hundreds of free Battleship puzzles suitable for printing.
Battleships, also called Bimaru or Battleship Solitaire is a solitaire version of the classic strategy game, in which you must hunt down and sink a fleet of enemy ships.
Each puzzle contains a row and column of numbers which indicate the number of squares in each row/column that contain a ship or ship segment. Most squares are empty, for you to fill in, but some will be givens, which indicate water, specific ships, or parts of ships. No ship may touch another ship, even diagonally.
Each collection is ordered by difficulty, with the easiest puzzles in Book 1, and the hardest in Book 100. If you are new to these puzzles, I recommend you start with Book 1. The larger sizes tend to be harder, and the 12x12s in particular can be quite challenging.
The 'Surprise Attack' collections contain different fleet arrangements for each puzzle. The rest of the collections use identical ship layouts within each collection.
Want to save some trees? Try the interactive version of Battleships.
6x6 Puzzles, 4-per-page
6x6 Battleships, Volume 1
6x6 Battleships, Volume 2
6x6 Battleships, Volume 3
6x6 Battleships, Volume 4
6x6 Battleships, Volume 58x8 Puzzles, 4-per-page
8x8 Battleships, Volume 1
8x8 Battleships, Volume 2
8x8 Battleships, Volume 3
8x8 Battleships, Volume 4
8x8 Battleships, Volume 510x10 Puzzles, 2-per-page
10x10 Battleships, Volume 1
10x10 Battleships, Volume 2
10x10 Battleships, Volume 3
10x10 Battleships, Volume 4
10x10 Battleships, Volume 512x12 Puzzles, 2-per-page
12x12 Battleships, Volume 1
12x12 Battleships, Volume 2
12x12 Battleships, Volume 3
12x12 Battleships, Volume 4
12x12 Battleships, Volume 5(NEW) 12x12 Surprise Attack Puzzles, 2-per-page
12x12 Surprise Attack Battleships, Volume 1
12x12 Surprise Attack Battleships, Volume 2
12x12 Surprise Attack Battleships, Volume 3
12x12 Surprise Attack Battleships, Volume 4
12x12 Surprise Attack Battleships, Volume 5(NEW) 15x15 Surprise Attack Puzzles, 2-per-page
15x15 Surprise Attack Battleships, Volume 1
15x15 Surprise Attack Battleships, Volume 2
15x15 Surprise Attack Battleships, Volume 3
15x15 Surprise Attack Battleships, Volume 4
15x15 Surprise Attack Battleships, Volume 5
Prefer to donate by mail or Venmo? Here's how.
Don't see the format you prefer? Run out of puzzles? Let me know!
Design of the Battleship Program
Problem statement
Our aim is to write a program in Java that will play the popular game of Battleship either against the computer, or against another player on a different computer, running a different program.
Problem description
The game is played on two fields, each 10 X 10 squares. The columns are labeled A-J, and the rows are labeled 1-10. Each player's fleet of ships consists of one aircraft carrier, one battleship, one destroyer, one submarine and one cruiser. The size and shape of each ship is as follows:
- Destroyer (2 squares):
- Submarine (3 squares):
- Cruiser (3 squares):
- Battleship (4 squares):
- Aircraft Carrier (5 squares):
Before the game starts, each player secretly places their ships anywhere on their own playing field. Ships cannot overlap one another, but may be placed either vertically or horizontally.
The first turn is determined by some random means (throwing a die). Players take turns to try to guess the location of the other's ships by naming a square (e.g. F7). The opponent declares the square to be a hit or a miss, depending on whether there is a ship occupying that square. When all the squares occupied by a particular ship have been guessed, the player must announce that that particular ship is sunk. A player keeps track of the hits and misses on a copy of the opponent's field.
The first player to sink all the other's ships is the winner.
Object analysis
Objects metioned are:
Game, Field, Square, Column, Row, Player, Fleet, Ship, Aircraft carrier, Destroyer, Cruiser, Submarine, Battleship, Size, Shape, Turn, Location, Opponent, Hit, Miss, Winner, Copy
Relationships are:
Game HASA setof Player
Player HASA Field
Player HASA Fleet
Game HASA Turn
Game HASA Winner
Field HASA setof Square
PlayersField ISA Field
OpponentsField ISA Field
Fleet HASA setof Ship
Carrier ISA Ship
Battleship ISA Ship
Cruiser ISA Ship
Destroyer ISA Ship
Submarine ISA Ship
Ship HASA Location
Location HAS Row
Location HAS Column
Square HASA Location
Square HASA Ship
Square HASA Trial
Hit ISA Trial
Game Pigeon Battleship 10x10 Ships For Sale
Miss ISA Trial
Reworking this gives:
Game
- Player one
- Player two
- int winner
- int turn
Player
- Field field
- Fleet fleet
Field
- Square[][] squares
Fleet
- Ship[] ships
Ship
- int size
- String name
- Location[size] location
Location
- int row
- int column
Square
- Location location
- Ship ship
- int hitOrMiss
Operation analysis
Operations mentioned are:
(the game is) Played
(each player) Places
(ships may not) Overlap
(first turn is ) Determined
(players) Take turns
(players) Guess
(player) Declares
(ship is) Occupying
(all squres for a ship are) Guessed
Game Pigeon Battleship Ships
(players) Announce
(player) Keeps track of
(first player) Sink
Reworked this is:
Game
- void play()
- Player determineFirstTurn()
Player
Game Pigeon Battleship 10x10 Ships Blueprints
- void placeShips(Field)
- Location makeGuess()
- void sendGuess(Location)
- Location receiveGuess()
- void record(Location)
- String announceSunk(Ship)
- String announceHitOrMiss(Location)
Field
- boolean isHitOrMiss(Location)
- Ship isSunk(Location)
- void record(Location)
Game Pigeon Battleship
Ship
Game Pigeon Battleship 10x10 Ships Sunk
- boolean overlaps(Ship)
- boolean occupies(Location)
- boolean isSunk()