Game Pigeon Battleship 10x10 Ships

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 5
  • 8x8 Puzzles, 4-per-page

    8x8 Battleships, Volume 1
    8x8 Battleships, Volume 2
    8x8 Battleships, Volume 3
    8x8 Battleships, Volume 4
    8x8 Battleships, Volume 5
  • 10x10 Puzzles, 2-per-page

    10x10 Battleships, Volume 1
    10x10 Battleships, Volume 2
    10x10 Battleships, Volume 3
    10x10 Battleships, Volume 4
    10x10 Battleships, Volume 5
  • 12x12 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 Pigeon Battleship 10x10 Ships

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

Game Pigeon Battleship 10x10 Ships
  • 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

Ships

(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()