BattleShip v1.0 for PalmPilot

(c) 1997 by H.R.Graf
haense@zaphod.ethz.ch


Introduction
------------
Welcome to the first 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.


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 Pilot 
--------------------

* 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 "easy" for 
standard (i.e. random) play. "Medium" or "hard" enables the very special 
artificial intelligence algorithm for Pilot...
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.) 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.
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.

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.

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.

The game ends and a message appears, when all ships in a battlefield are 
destroyed. In case you have lost, you might want to switch to Pilot's 
battlefield, where now even the hidden ships are drawn to point out, which 
fields you missed.

* 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!)
Additional, you may view the copyright disclaimer by choosing the "about" 
command from the menu (or write "a").


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
  Kosakenweg 8
  8052 Zurich
  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, where 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.3 Pro.


Future Enhancements
-------------------
There are no plans yet for future enhancements, since I am pretty happy with 
the current version. This might change, if you report any error or needed 
functionality. Feel free to contact me!

H.R.Graf
haense@zaphod.ethz.ch 
(But do not forget about the requested postcard...)

Enjoy!

