BS(6) Games Manual BS(6)

bsbattleships game

bs [-b | -s] [-c]

This program allows you to play the familiar Battleships game against the computer on a 10x10 board. The interface is visual and largely self-explanatory; you place your ships and pick your shots by moving the cursor around the ‘sea’ with the hack(6) motion keys .

Note that when selecting a ship to place, you must type the capital letter (these are, after all, capital ships). During ship placement, the ‘r’ command may be used to ignore the current position and randomly place your currently selected ship. The ‘R’ command will place all remaining ships randomly. The ^L command (form feed, ASCII 12) will force a screen redraw.

The command-line arguments control game modes:

Selects a ‘blitz’ variant. This allows a side to shoot for as long as it continues to score hits.
Permits ships to be placed adjacently. Normally, ships must be separated by at least one square of open water. This disables that check and allows them to close-pack.
Selects a ‘salvo’ variant. This allows players one shot per turn for each of their ships still afloat. This puts a premium on scoring hits early and knocking out some ships and also makes it much harder, for example, when you face a superior force with only your PT-boat.

Originally written by one Bruce Holloway in 1986. Salvo mode added by Chuck A. DeGaul <cbosgd!cad>. Visual user interface, ‘closepack’ option, code rewrite and manual page by Eric S. Raymond <>, August 1989.

The algorithm the computer uses once it has found a ship to sink is provably optimal. The dispersion criterion for the random-fire algorithm may not be.

February 18, 2022 OpenBSD 7.5