Category : Recently Uploaded Files
Archive   : T-ROBS30.ZIP
Filename : T-ROBOTS.DOC

 
Output of file : T-ROBOTS.DOC contained in archive : T-ROBS30.ZIP








____________________
/ \
/ T-Robots v2.00 \
/ -------------- \
----------===========< By: Ed T. Toton III >===========----------
\ (c) copyright 1991, 1992 /
\ All rights reserved. /
\______________________/

Special thanks to Jeremy Kusnetz
& Kenneth B. Foreman








































T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 0

--- Table of Contents ---


Things you should have............................1

Legal Stuff.......................................2

Introduction to T-robots..........................2

Technical information.............................2

Running T-Robots..................................2

Basics of T-Robots................................4

The programming language..........................5

Command lists and descriptions....................6

IF statement lists and descrip...................11

Programming the robots...........................13

Staging a competition............................15

Trouble-shooting and Speed-control...............15

More legal stuff.................................16

Final Notes......................................18


-----------------------------------------------------------------------------
THINGS YOU SHOULD HAVE

You need a text editor! Writing programs will be very difficult without
one. DOS 5 has a nice editor (that's what I'm using to write this), or you
can use a programming environment (like Turbo Pascal or C or Quick-Basic),
or you can even use some word processors. If you use basic or or something
like Word Perfect, you will need to remember to save it as "dos text" or
"ascii format".

Here are the files you should have:

T-ROBOTS.EXE - The program.
T-ROBOTS.DOC - This file.
PRINTDOC.BAT - Batch file to print out this documentation.
COMMENTS.TXT - Comments written by other T-robots users.
README.1ST - Important notices. You should have read it by now.
DEMO.BAT - The demonstration run. Run this for a demo.
DEMO.DAT - The demonstration config file.
CHASER.TR \
SNIPER.TR >- These are some sample robots.
TARGET.TR /
????????.TR - Other robots written for use with this program.
ALL T-robots robots MUST have the .TR extension.


T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 1
-----------------------------------------------------------------------------
TRADEMARKS:

T-Robots (c) 1991, 1992 Ed T. Toton III
P-Robots (c) 1988 David Malmberg
C-Robots (c) 1985 Tom Poindexter
Turbo Pascal is a registered trademark of Borland International.


-----------------------------------------------------------------------------
T-ROBOTS: "Tee-Robots"

T-Robots is designed to allow people to design and program robots to
fight one another. Competitions between people is what it's all about!!
The robots are programmed in a simple language which will be explained
shortly.
T-Robots was inspired by P-Robots (written by David Malmberg), which was
in tern inspired by C-robots (written by Tom Poindexter). T-Robots is
designed with the idea of programming robots, without going to the lengths
of learning to program in high-level languages, but to still allow fairly
simple program design. The language has some similarities to basic, and only
has a small amount of available commands, thus making it easy to learn, while
offering experienced programmers an interesting challenge. Though it is not
a real programming language of sorts, it can still teach the basic concepts
of programming and logical thinking.
Later versions of the program may allow you to make hardware changes for
your robot. Such as add and remove specific types of weapons and armor. This
is under consideration, but no garauntees will be made at this time.
The system may also still have bugs or discrepencies. Please contact me
if you spot one!! Also, please let me know if I have left anything out of
the documentation that you think I should include. And in addition to that,
please inform me if you have any ideas of new commands to add to the
programming language.


-----------------------------------------------------------------------------
TECHNICAL INFO:

T-Robots is designed to be compatable with most graphic adapters. I
believe it will work properly on most. It has been tested on several VGA's,
a CGA, and a Hercules.
T-Robots is written in Turbo Pascal 6.0. It does not multi-task, it
simulates it.
T-Robots should be used on 286's and better. It may run too slowly on
slower computers.

-----------------------------------------------------------------------------
RUNNING T-ROBOTS

To run T-robots, you must have at least one robot program ready, and you
must make a configuration file to use it. To run T-Robots, you type
"t-robots", then a space, then the name of the config file.
ex: T-ROBOTS MYFILE.DAT
The config file tells T-Robots what settings to use, and which robots to run.
Inside the file you put ONE item per line. Settings start with a dash (-),




T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 2

and sometimes have a parameter number. For the robots you put the name of the
robot file, but without the TR extension. The settings will be explained
shortly. Here is an example:

-d0
-gn
-s100
myrobot
robot1
robot1

This file would tell T-robots to have no delay (thus run at the maximum
speed), with NO graphics (so as to get a quick result), and to update the
output every 100 cycles (again to increase speed. This setting usually
defaults to 10). It then loads MYROBOT.TR into robot #1, ROBOT1.TR into
robot #2, and ROBOT1.TR into robot #3. There can be up to 6 robots,
and in this case only 3 are used.
The settings are as follows:

-D## Sets the delay in hundredths of a second.
Should never be over 20 (unless in combination with -N#).
-A If graphics are on, this will allow the status bars to be displayed.
-GN Turns the graphics OFF.
-S## Number of cycles between output updates. (increase for greater speed)
only works with the graphics turned off.
-M# Force a specific graphic mode (usually automatic). Modes are listed
later.
-N## Cycles between each delay. Usually 1, but can be increased when using
it with -D1 to speed things up (to make it faster than -D1 by itself).
-P## Increases the number of program commands each robot executes each
cycle. Can be useful when using complicated programs. Don't set too
high though, it can mess things up.
-R## Tells T-robots to Run a number of battles as you specify.
-TN Turns off the title screen. Once you've seen it a few times, you'll
get tired of it and this is here for that purpose.
-F# Sets the number of missiles each robot can have in the air at once.
Can be set anywhere from 0 to 10.
-Q Sets T-Robots to run in Quiet mode.

Here are the default settings:
-D 1
-A off, you must use -A if you want status bars on.
-GN on, you must use -GN if you want the graphics off.
-TN on, you must use -TN if you want the the title screen off.
-S 10
-M 0
-N 1
-P 2
-R 1
-F 4
-Q on, you must use -Q if you want the sound off.



[ Note- It is HIGHLY suggested that you make a print-out of this file! ]



T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 3

Graphic modes:
0 : Autodetect (default)
1 : CGA
2 : MCGA
3 : EGA
4 : EGA64
5 : EGA mono
6 : IBM 8514 SVGA
7 : Hercules
8 : AT&T400
9 : VGA
10 : PC3270

There are two keyboard commands you must know before you start. One is
the quit key, which is 'Q'. The other command, which only works if you are
running multiple matches, is the 'N' key, which aborts the present match
and starts the next.

If you want to run the included demo, drop to dos and run the batch file
called DEMO. That's right, in dos type DEMO and hit enter. It will run
the demo for you.
When running multiple matches you should still baby-sit the program because
somtimes robots will end up in opposite corners, or whatever, and will be
unable to hit each other, in which case you need to press 'N' to skip to the
next round.

-----------------------------------------------------------------------------
BASICS:

The arena is 1 kilometer wide and 1 kilometer long. The coordinate system is
set up such that (0,0) is at the upper-left corner and (1000,1000) is at the
lower-right.
The screen is set up as follows:

0,0 ________________________________________ 1000,0 | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| |
| Arena | (status bars)
| |
| |
| |
| |
| |
| |
| |
| |
0,1000 |________________________________________| 1000,1000







T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 4

Navigation is done in a 360 degree circle. Here are the directions for
each course:
0 (360)
|
315 | 45
\ | /
270 ----- + ----- 90
/ | \
225 | 135
|
180

The Robots are all equipped with a scanner, armor, a laser, and a missile
launcher (with unlimited ammunition).
Robots don't stop, start, or turn on a dime. When you tell the robot to
move at a certain speed, it will accelerate until it reaches that speed or
it collides with something. Once it has reached that speed it will remain
there until you change it or it collides with something.
When you instruct the robot to turn, it will rotate until it faces the
new direction, or you tell it to do otherwise. The robot will always rotate
in the direction that is shortest to face the target heading. if you tell
it to turn 270 degrees to the right, it will turn 90 to the left (it's
shorter, and is still the same heading).
Missiles are always set with a maximum range. They will detonate when
they reach that range, or if they get close to another robot. The range
is set using the RANGE command. Even if you change your RANGE, the range
at which the missiles in the air are set for will remain the same. Once
launched, they cannot be affected.
The missile rack also needs to reload after firing, so even if you call
the fire command a couple times in a row, only one or two missiles may come
out. You have to plan accordingly. The laser doesn't have this problem, but
it generates more heat, and doesn't cause a blast when it hits the wall.
Each robot has two status bars (if you used the -A option). The left one,
which is in the same color as the robot if you have a 16 color display, is
the robot's armor. The one next to it (in blue for those of you who have
16 color) is the robot's heat scale.

-----------------------------------------------------------------------------
THE PROGRAMMING LANGUAGE:


The language is used as follows:

The programming language consists of four basic types of statements.

1) Remarks. - These are not compiled into your program, they are simply
notes that you can read when viewing programs.
2) Labels. - These are the target locations for GOTO and GOSUB commands.
They are not executed and do not use your robots time.
3) Commands.- These are the functions of your robot. They command the robot
to perform specified activities.
4) If's. - These allow you to put conditions on certain commands which
must be met before the command will be executed, otherwise it
is ignored.
5) Variables- Variables are a major programming thingie. They may have values
from -9999 to 9999. There are other restrictions listed below.


T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 5

Remarks:

Syntax:
;
The semi-colon MUST be the FIRST character on the line, and whatever you
put on the line with it will be ignored by the compiler.


Labels:

Syntax:
:####
The colon MUST be the FIRST character on the line. RIGHT after it,
without any spaces in-between, you put a number anywhere from 0 to 9999.
That number is the label. Do not use the same number twice within the
same program.



Commands:

Syntax:
Command [parameters]
The command may or may not have parameters, but if there are, you
seperate them from the command with ONE space. If you use more than
one you will get an error. The command must start all the way at
the left of the line. No spaces.

If's:

Syntax:
IF
The IF statements ALWAYS start with the word "IF" as the first thing
on the line. On the same line, seperated by ONE space, is the
"if statement", which contains the condition under which the command
will be executed. The command then follows, also seperated by ONE space.
The command may be another IF. No more than 3 IF's may be linked in one
line.

Variables:

Each robot has 26 variables at it's disposal, named "A" to "Z". Note
that not all of them are readily available. "X", "Y", "H", "D", and "S"
cannot be assigned values. You can access them to see certain aspects of
the robot. "X" and "Y" are your coordinates. "H" is your heat, "D" is
the direction the robot is facing, and "S" is the speed. You may use all
other variables as you wish. A sample robot using variables is called
"VAR-ROB.TR". Look for that if you have questions.

------------------------------------------------------------------------------
COMMANDS:

(any numbers in parentheses next to the command name indicates
a number of additional cycles used to execute the function.
In other words, it's slower)
(The "*"'s mean that such commands may have a variable in place
of the number. Those without this will not allow it)

T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 6

MOVE *
Syntax: MOVE
valid speed range: 0 - 100

MOVE instructs the robot to move at the designated speed. 0 is dead still,
while 100 is full speed. Maximum speed will decrease as the robot starts
to overheat.


TURN *
Syntax: TURN
valid angle range: -359 - 359

TURN instructs the robot to rotate the number of degrees specified to the
right. If the number is between -179 and -1 or it is between 181 and 359,
then the robot will turn left.
General rule: positive numbers turn right: 1 to 180
negative numbers turn left : -1 to -180


HEAD *
Syntax: HEAD
valid heading range: 0 - 360

HEAD instructs the robot to rotate to face a new heading as specified
in the parameter. It won't face the new direction immediately, for it
always takes time to rotate.


RANDSPIN
Syntax: RANDSPIN

RANDSPIN instructs the robot to rotate to face a new heading as specified
by the random number generator. The new heading will be anywhere from 0 to
359. It won't face the new direction immediately, for it always takes time
to rotate.


DESTRUCT
Syntax: DESTRUCT

DESTRUCT detonates the robot. Nearby robots may be damaged by the
explosion.


FIRE (1)
Syntax: FIRE

FIRE instructs the robot to fire a missile. The missile rack will then need
to re-load and firing again will not be possible for another few cycles.








T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 7

SFIRE (3)
Syntax: SFIRE

FIRE instructs the robot to fire a missile. The missile rack will then need
to re-load and firing again will not be possible for another few cycles.
The missile will automatically scan with the present scan settings before
launch, and automatically set it's maximum range to the distance to the
nearest target within the scan area.

LFIRE (1)
Syntax: LFIRE

LFIRE instructs the robot to fire it's laser. The laser generates
more heat than the missiles, but reaches the target location instantly.

SHOOT (1) *
Syntax: SHOOT
valid range: 30 - 1000

SHOOT instructs the robot to fire a missile that will detonate at the
specified range (thus over-riding the present settings). The missile rack
will then need to re-load and firing again will not be possible for
another few cycles.

RESET
Syntax: RESET

The RESET command resets your robot. It will return the default values
to SHIFT, ANGLE, RANGE, OVERBURN, and KEEPSHIFT, and will start the
program over.


SETSHIFT *
Syntax: SETSHIFT
valid shift range: 0 - 360

SETSHIFT sets a specific angle in relation to the robot in which the
robot's turret will point. 0 is forward, 90 to the right, 180 back,
and 270 left.


SHIFT *
Syntax: SHIFT
valid angle range: -359 - 359

SHIFT is acummulative version of SETSHIFT. Everytime it is called,
it rotates the turret the specified number of degrees to the right
(or left if you use a negative number).


KEEPSHIFT-ON
Syntax: KEEPSHIFT-ON

The KEEPSHIFT-ON command will turn the shift-keeper on. The Shift-keeper
keeps the gun pointing in the same direction in relation to the arena
when the robot turns. If your gun was pointing north, and you turn east,
the gun still points north.

T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 8

KEEPSHIFT-OFF
Syntax: KEEPSHIFT-OFF

This turns off the shift-keeper.


RANGE *
Syntax: RANGE
valid range: 0 - 1000

RANGE sets the maximum range for your missiles, your laser, and your
scanner.


ANGLE *
Syntax: ANGLE
valid angle range: 0.01 - 359.99

ANGLE sets the radius of your scan angle. The scanner always points in
the same direction as your weapons. If you specify an ANGLE of 10, then
the area your scanner will scan will be an arc 20 degrees wide, centered
down the line of fire of your weapons.


BURN-ON
Syntax: BURN-ON

BURN-ON turns the overburn ON.


BURN-OFF
Syntax: BURN-OFF

BURN-OFF turns the overburn OFF.


DELAY *
Syntax: DELAY
valid delay range: 0 - 9999

This sets a number of cycles of program-inactivity for your robot.


GOTO *
Syntax: GOTO

  3 Responses to “Category : Recently Uploaded Files
Archive   : T-ROBS30.ZIP
Filename : T-ROBOTS.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/