		Daleks! for ZShell Version 1.0
				by
			Andrew L. Warnock

	Hello, this is my first ZShell program, and being a ZShell 
programmer at last feels so cool!  Ok here's the info:

Background:
	Daleks! for ZShell is based on its windows and TI-92 counterparts.
So how did this get its name?  This is a game enjoyed mostly by Doctor Who
fans.  The longest running sci-fi tv series(yes about 3 years longer than
Star Trek), Doctor Who, is about this mysterious "Doctor" who travels 
through space and time in a ship(TARDIS) that is dimensionally transcendent
in that the interior is larger than the exterior which is in the shape of a
police box(like phone booth).  He battles for what is good and right in the
universe.  Once you catch your breath from that run-on, the Daleks are an 
evil race he encounters that are blobs that have built robotic exteriors to
protect them from the radiation on their planet.

Object of the game:
	That exterior makes them very clumsy.  The object in Daleks! is to
make all the Daleks crash together into rubble piles.  Once this is done,
you proceed to the next of 10 levels.

Instructions:
	Movement is made using the number pad to go in any direction.  '5'
can also be used to stay in place for a turn.  Every time you make a legal
move, the Daleks come one step closer.  If you get cornered, you can use the
Sonic Screwdriver or a random teleport.  The Screwdriver will zap all Daleks
one space away from the Doctor, and they won't make rubble piles.  The
Screwdriver also doesn't harm rubble piles that are already present which may
be necessary to win.  However, it can only be used once per level.  The 
random teleport moves the Doctor to a random location which will not be on
top of a Dalek, but may be next to one, causing the Doctor to lose.  So
teleport only when necessary.

How to crash Daleks:
	If two Daleks are horizontally or vertically adjacent to the Doctor,
and the Doctor moves in such a way that their next moves will cause them to 
collide, a rubble pile will be made.  For example:
          XX
				 R
 fig. 1   D		fig. 2	 D
***D=Doctor and X=Dalek and R=rubble***
If the Doctor were to move down, up, right, or any diagonal mixture or 
any diagonal mixture of those, the Daleks form a rubble pile in fig. 2
when the Doctor moves to the right.
  The Doctor can also cause other Daleks to crash into a rubble pile.
Experiment and you'll soon see.

Keys:
Exit-exit
Alpha-Sonic Screwdriver
2nd-Teleport
Number Pad-Moves
'5'-waits a turn

History:
6.02 x 10^-23 = Showed picture of Dalek.  Isn't he cute? :-)
.1 = That random routine screws up so much.
.2 = That darn random routine.
.21 = That @#$&% random routine!
.3 = Initial position of Daleks can be randomly made.
}
}  More random problems
}
.5 = Random routine overhaul.  Ideas from random.asm, Jimmy Mardell, and 
 others.  The coordinates are made so that both x and y positions are 
 checked with previously assigned Daleks.  Random seed created by user on
 title screen.  Use of program counter register 'r' to fix loop lock-ups.
 Emergency exit(untested) routine put in place in the event that a loop
 did occur, the user would only lose the game compared to losing their 
 memory.
.8 = Much work done in little time.
.85 = after 2 weeks of personal beta test, problem occurs.  Found to be 
 random lacked y position checking.
.9 = Fixed it so making illegal moves does not punish the user.  Crossing
 rubble piles prohibited as well as sonicing rubble.  Added credits and
 'lose game' sequence.  Public testing initiated.
1.0 = Released around March 5,1997 and uploaded to TICalc.Org.

Future Version(s):
Version 1.1 - I will probably add F1 as the common 'teacher key.'  I'll 
  also make a 'last stand' key that automatically presses '5' until you win
  when you realize that the level is already won.

Version 1.x - I might allow for more levels, although it's not too 
  necessary.  I'll see how far I can push the random routine.

Any suggestions?

Andy Warnock
jwarnock@ee.net(quick response)
awarnock@freenet.columbus.oh.us
http://users1.ee.net/tardis/