BattleShip v1.3 for PalmPilot
© 1997-1998 by H.R.Graf
Play BattleShip against your Pilot!
The well-known game of seeking and destroying ships in a battlefield
now available on Pilot. Provides an easy and fast user interface, flexible
board size, free number and length of ships, improved computer opponent,
optional acoustic feedback, game statistics, free and full functional program!
Here is a screenshot of the game:
Introduction
General Game Description
BattleShip for Pilot
Setup
Editor
Play
Menu
Options
Statistics
Postcard-Ware
Disclaimer
History
Future Enhancements
Introduction
Welcome to the third release of BattleShip! This is the adaptation of a
well-known 2 player game, usually played on paper. Now you may play it
against your Pilot. Look here if you want to know
what is new.
General Game Description
After both players have placed a certain number of ships on their battlefields
(actually a grid), they try to find and destroy the opponent’s ships. To
do so, they alternate by shooting to fields. As long as one hits a target,
he is allowed to continue. The one, who first destroys all of the other’s
ships, wins.
BattleShip for PalmPilot
BattleShip Setup
First, the player is asked to set up the game options:
-
The "board size" defines the width and height of the battlefield.
-
The "game level" option allows you to specify, how strong Pilot is playing.
Select "medium" for standard play (pretty clever now!), while "easy" is
for beginners only. If you still need a harder challenge, select "hard",
which enables the very special artificial intelligence algorithm for Pilot...(i.e.
this enables a small probability of cheating - are you still able to beat
the computer?!)
-
With "display switching", you set the behavior of display alerts and the
automatic battlefield switching. Start with "slow" and change it eventually
in your next game. (In "fast" mode, everything goes faster and editor warnings
are not shown anymore. Select "manual", if you do not like automatic display
switching at all.)
-
The "sound" option enables additional, simple acoustic feedback.
Press "done" to continue with the battlefield editor.
BattleShip Field Editor
Now it is time to initialize your battlefield. You may place as many ships
in the grid as you like. Anyway, do not put too many ships, since the game
play gets boring. Afterwards, Pilot will place the same number and length
of ships as you define now.
A ship is either a horizontal or vertical line, respective a single
dot. You place it by tapping to the start position in the battlefield,
and drag (while still holding the pen down) to the end position, where
you release the pen. If the orientation and position is okay, the ship
is then drawn. Otherwise, an appropriate warning alert is shown (if not
in "fast" mode).
There are some restrictions to place a ship: Ships may not be placed
side by side. There has to remain at least one single, empty field between
two ship’s edges. But it is okay, if two ships touch each other just over
corners. Think of it as if you always should be able to distinguish two
ships from each other clearly, not forming a bigger ship nor a indictable
conglomerate.
Anyway, Pilot only allows you to place ships according to these rules
and shows a warning otherwise. Since placing ships works that easily and
fast, there is no way to undo or remove a single ship. If you have really
messed up your strategic ship placement, you may select the "reset" button
to remove all the ships from the battlefield and restart again.
Alternatively, you may select the "random" button, to generate a battlefield
even more easily. Repeat pressing this button until you are happy with
the computer generated configuration.
Tap on "done" if you feel content with the actual battlefield design.
Pilot then creates its own battlefield, according to your configuration,
and switches to the main game view, where it is always your turn to start.
BattleShip (Game View)
During the game, there is always one battlefield shown. You may switch
between your own battlefield ("player") or Pilot’s battlefield ("pilot")
by tapping on the appropriate selector button at the bottom. Logically,
you will shoot into Pilot’s battlefield, which is initially drawn empty,
since you do not know, where it placed the ships. To find out, how many
and how long ships you have to find, switch to your battlefield definition,
since Pilot used the same configuration.
As you shoot by tapping on the desired position in the battlefield,
a display pops up and informs you about the success. If you just hit water,
Pilot will shoot next. Otherwise it is still your turn and you are allowed
to continue to shoot. A not yet completely destroyed ship is drawn gray,
where as a destroyed ship is marked black. Missed shots are displayed with
a small point in that field to avoid shooting to the same field twice.
Menu
To start a new game, access the menu and select "new game" (or write "n").
This command is available even during a running game and enables you to
abort it. (In case you cannot stand loosing against Pilot!)
Change the game options with command "options" (or write "o"), without
aborting the currently active game.
Additional, you may view the copyright disclaimer by choosing the "about"
command from the menu (or write "a") or the auto-recorded game statistics
("statistics" or write "s").
Game Options
Allows you to change the game setup options even during
a game, i.e. computer opponent skill, display switching or optional sound.
But it is not possible to change the board size anymore - this requires
a new game.
Game Statistics
Keeps track how you play! There are 3 sections, providing information about
winning games, shoot statistics and the time spent playing BattleShip so
far! You may even reset the first two sections by selecting "reset" instead
of "done".
Copyright Disclaimer (Postcard-Ware)
I call this program "Postcard-Ware" which means:
You may copy this program free of any charge together with this documentation.
Since I do program the Pilot as a hobby, I do not need to get money for
it. But it is not released into public domain, i.e. I still own the copyright
for it.
However, if you like this program, please contribute by sending a postcard
to:
Hans-Rudolf Graf
Brandschenkenstr. 166
8002 Zürich
Switzerland
See, I like to get old-fashioned mail! Don’t you think this program is
great and is worth this little favor? Furthermore, a good feedback motivates
me to improve this program or to create additional programs for the Pilot.
I built this program with gcc for Pilot. I like the idea, that Pilot
users help each other in making Pilot an even better system, by providing
free software for everyone. Even I spent some time in creating this program,
it was fun and I do not ask for money. If everybody does the same, we will
enjoy Pilot even more. I do not like shareware so much, for which you should
pay for even little use or get serious limitations in functionality. Postcard-Ware
also means: There are no disturbing copyright messages, nor annoying delays,
and no limitations in functionality neither.
Standard Legal Disclaimer
BattleShip is provided as-is with no warranties expressed or implied. You
use this software at your own risk.
This release of BattleShip has been tested, and is stable and functional,
on a PalmPilot Professional running PalmOS 2.0.4 Pro.
History
v1.3: third public release, 1/26/1998
-
random battlefield generator for lazy players
v1.2: skipped version, due to name conflicts with another battleship implementation
v1.1: second public release, 1/19/1998
-
improved computer opponent
-
user interface enhancements
-
game statistics
-
optional sound
v1.0: first public release, 12/18/1997
-
computer opponent (3 levels)
-
easy graphical user interface
-
configurable boardsize, number and length of ships
Future Enhancements
I am pretty happy with the current version, but think of the following
improvements:
-
better graphics display of the battlefields
-
even better computer player who "learns" opponents strategy of placing
ships (by recording hit statistics to generate a probability map of the
battlefield)
What is your opinion? Feel free to contact me for any suggestions or any
error reports.
Also, tell me your strategy to win agains the Pilot, if you are
able to do so!
Enjoy!