home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-09 | 41.1 KB | 1,141 lines |
-
-
-
-
-
-
-
-
- ____________________
- / \
- / 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:
- ; <statement>
- 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 <if statement> <command>
- 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 <speed>
- 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 <angle>
- 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 <heading>
- 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 <range>
- 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 <angle>
- 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 <angle>
- 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 <range>
- valid range: 0 - 1000
-
- RANGE sets the maximum range for your missiles, your laser, and your
- scanner.
-
-
- ANGLE *
- Syntax: ANGLE <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 <delay>
- valid delay range: 0 - 9999
-
- This sets a number of cycles of program-inactivity for your robot.
-
-
- GOTO *
- Syntax: GOTO <label>
-
- Sends the program cursor to the specified label.
-
-
-
-
-
-
-
-
-
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 9
-
- GOSUB *
- Syntax: GOSUB <label>
-
- Sends the program cursor to the specified label, like GOTO, BUT it will
- return to the location of the GOSUB statement when you call RETURN.
- Everytime you call GOSUB, the location of that command is placed on the
- stack. If the stack was full, the GOSUB statement is ignored. Up to 20
- GOSUBS may be called without calling a RETURN before the stack will fill.
- When you call RETURN, the program cursor will go back to where the last
- GOSUB was called before. For a better understanding, examine the BASIC
- programming language, or Quick-Basic. The commands GOSUB and RETURN
- work the same there. Several of the sample robots use these.
-
-
- RETURN
- Syntax: RETURN
-
- Pops the last GOSUB location from the top of the stack, and
- sends the program cursor there.
-
- STOPTURN
- Syntax: STOPTURN
-
- This command stops your robot from rotating. If your robot is still turning
- due to a previous command, this will stop it.
-
- STOPACC
- Syntax: STOPACC
-
- This command will stop your robot from accelerating or decelerating. If your
- robot is still changing speed due to a previous command, this will stop it.
-
- ADD *
- Syntax: ADD <variable> <value 1> <value 2>
-
- This command adds values 1 and 2 and puts the result into the variable.
- The values may be either variables or numbers in the range of -9999 to 9999.
- Examples: ADD e e 1 { adds 1 to e }
- ADD k 2 3 { sets k equal to 5 }
- ADD t u i { sets t equal to u+i }
- ADD t k 0 { sets t equal to k }
-
- SUBTRACT *
- Syntax: SUBTRACT <variable> <value 1> <value 2>
-
- This command is identical to ADD except that value 2 is subtracted from
- value 1 instead of being added.
-
- <var>= *
- Syntax: <variable>=<value>
-
- Sets the variable equal to the value. The value may be any integer from
- -9999 to 9999, or another variable.
- Example: A=1200 { sets A equal to 1200 }
- B=H { sets B equal to your robot's heat level. }
-
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 10
- ------------------------------------------------------------------------------
- IF statements:
-
- (The "*"'s mean that such commands may have a variable in place
- of the number. Those without this will not allow it)
-
-
- ARMOR *
- Syntax: IF ARMOR<### <command>
- or
- IF ARMOR>### <command>
-
- This will execute the command if the armor of your robot is greater than
- or less than (as specified) the number you list. The number may be between
- 0 and 100.
-
-
- X *
- Syntax: IF X<### <command>
- or
- IF X>### <command>
-
- This will execute the command if the X coordinate of your robot is greater
- than or less than (as specified) the number you list. The number may be
- between 0 and 1000.
-
-
- Y *
- Syntax: IF Y<### <command>
- or
- IF Y>### <command>
-
- This will execute the command if the Y coordinate of your robot is greater
- than or less than (as specified) the number you list. The number may be
- between 0 and 1000.
-
-
- SPEED *
- Syntax: IF SPEED<### <command>
- or
- IF SPEED>### <command>
-
- This will execute the command if the speed of your robot is greater than
- or less than (as specified) the number you list. The number may be between
- 0 and 100.
-
-
- HEAT *
- Syntax: IF HEAT<### <command>
- or
- IF HEAT>### <command>
-
- This will execute the command if the heat of your robot is greater than
- or less than (as specified) the number you list. The number may be between
- 0 and 500.
-
-
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 11
-
- RANDOM
- Syntax: IF RANDOM <command>
-
- This will execute the command on a 50% probabilitty.
-
-
- OVERBURN-ON
- Syntax: IF OVERBURN-ON <command>
-
- This will execute the command if the overburn for your robot is ON.
-
-
- OVERBURN-OFF
- Syntax: IF OVERBURN-OFF <command>
-
- This will execute the command if the overburn for your robot is OFF.
-
-
- ENEMY (1)
- Syntax: IF ENEMY <command>
-
- This will execute the command if there is an enemy within the range
- set by RANGE, and within the arc set by ANGLE and in the direction
- set by SHIFT and SETSHIFT in relation to your robot.
-
-
- RANGE (1) *
- Syntax: IF RANGE<#### <command>
- or
- IF RANGE>#### <command>
-
- This will execute the command if the nearest enemy is at a distance
- greater than or less than (as specified) the distance you list.
- distances can be from 0 to 1000.
-
-
- SCAN (1) *
- Syntax: IF SCAN<#### <command>
- or
- IF SCAN>#### <command>
-
- This will execute the command if the nearest enemy that is within your
- arc set by ANGLE and is within the distance set by RANGE and is in the
- direction set by SHIFT and SETSHIFT in relation to your robot is at a
- distance greater than or less than (as specified) the distance you list.
- distances can be from 0 to 1000.
-
-
- NUMROBOTS *
- Syntax: IF NUMROBOTS<#### <command>
- IF NUMROBOTS>#### <command>
- IF NUMROBOTS=#### <command>
-
- This will execute the command if the number of robots still in existance
- (including yours) is greater than or less than or equal to (as specified)
- the number you list. Valid ranges are from 1 to 6.
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 12
-
- HIT
- Syntax: IF HIT <command>
-
- This will execute the command if your robot was damaged since the last
- time you called THIS statement.
-
-
- ATSPEED
- Syntax: IF ATSPEED <command>
-
- This will execute the command if your robot is moving at the target speed.
- if you collide, your speed and target speed are set to 0.
-
-
- ATHEAD
- Syntax: IF ATHEAD <command>
-
- This will execute the command if your robot is facing the target heading.
-
-
- <var>=, <var>>, <var>< *
- Syntax IF <variable>=<value> <command>
- IF <variable><<value> <command>
- IF <variable>><value> <command>
- This will execute the command if the variable has a value appropriate to
- the conditions in relation to the other value. The Value may be any integer
- from -9999 to 9999 or another variable.
- Examples: IF d<10 fire
- IF i>200 turn 10
- IF g=a destruct
-
-
- -----------------------------------------------------------------------------
- PROGRAMMING THE ROBOTS:
-
- General rules:
- 1. Always start everything on the left side of the line.
- 2. You MAY leave blank lines. The compiler ignores them.
- 3. One command is executed each cycle unless otherwise noted.
- 4. Examining the sample robots is the best teacher.
- 5. Commands may be upper-case, lower-case, or any combination.
- 6. Never make multiple labels of the same ID number within the
- same program.
- 7. All robots MUST have the extension TR.
- ex- MYROBOT.TR, or THISGUY.TR
-
- Each command is executed in one cycle.
- (unless it is a particularly slow command)
-
- The following commands take one cycle to execute:
-
- MOVE 100
- Range 860
- if x<50 turn 90
- if x<49 if y>988 if armor>50 setshift 45
- if speed<10 goto 5
- if heat>400 gosub 37
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 13
-
- If statements may be piled up as shown to emulate the "AND" operator
- without any speed-loss. You can only put up to 4 IF's and 1 command.
- Examples: IF ARMOR<50 IF X>600 FIRE
- IF ENEMY AND Y>400 AND Y<800 AND RANGE<20 GOSUB 5000
-
- The following commands are slower:
-
- if enemy move 20
- shoot 35
- if scan<50 sfire
- if armor>50 if x<50 if enemy shoot 1000
- sfire
-
- Boolean Evaluation is not complete! You can make your robot run a little
- faster if you order your commands properly. Here is an example:
-
- Here is a line to make the robot shoot under
- certain conditions:
- IF enemy IF x<500 FIRE
-
- No matter whether he sees an enemy or not, or if the robot has an x
- value of less than 500, this line will take 2 program cycles to
- execute, because "IF ENEMY" is a slow command. However, if it were
- worded like:
- IF x<500 IF enemy FIRE
-
- then there would be a significant speed increase. It will take
- just as long if the "IF X" statement is true, but it will be faster
- if the "IF X" is false, simply because it never executes the
- "IF ENEMY" command.
-
-
- WATCH YOUR HEAT!! Over-heated robots can easily become DEAD robots!
-
- Here is the heat scale:
-
- 100+ Max speed reduced to 95.
- 150+ Max speed reduced to 85.
- 200+ Max speed reduced to 70.
- 250+ Max speed reduced to 50.
- 300+ Heat starts burning armor off.
- 400+ Robot stops executing commands until cools below 400 (shutdown).
- 500+ Robot explodes.
-
-
- OVER-BURN SHOULD BE USED WITH CAUTION!!!
-
- Overburn effects the following:
- 1) better acceleration, but more heat from it.
- 2) better turn speed, but more heat from it.
- 3) better laser effect, but more heat from it.
- 4) bigger explosion from death or self-destruct.
- 5) worse heat dissipation.
-
-
-
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 14
-
- There are several "setting" commands, such as SETSHIFT, and ANGLE. The
- default settings are as follows: (in other words, it's as if these commands
- were at the front of your program, but they don't take time to execute):
-
- Item: Value:
- ------------------
- SETSHIFT 0
- ANGLE 10
- RANGE 1000
- OVERBURN off
- KEEPSHIFT off
-
- All variables are set to 0 at the beginning of the battle.
-
- You will want to note that SHIFTing turns everything on your turret. This
- includes your laser, missiles, and scanner. For SETSHIFT, everything works
- in relation to your robot. So if you specify 90, that means the turret will
- point 90 degrees to the right of your robot, and it will stay there until
- you change it.
- If you really want to you can leave spaces before the commands, but the
- first non-space character must still be a semicolon for remarks, a colon
- for labels, and so forth..
- Another thing you will want to remember is that the stack for your robot is
- only 20 in size. That means you can call 20 GOSUB's before calling a RETURN.
- Be careful: if the stack fills up, and you call a GOSUB, it will be ignored.
- There is no problem with having excess RETURNS, if you call one when the
- stack is empty, it too will be ignored. Having misused these two commands is
- the greatest cause of robot malfunction.
-
- -----------------------------------------------------------------------------
- STAGING A COMPETITION
-
- When starting a competition, you should set up several "rules" in advance
- so that everyone involved can take them into account when writing their
- programs. Among the most important rules are:
- 1. Program speed. (the -P# setting)
- 2. Whether either of the weapons
- will be dissallowed.
- 3. The number of missiles you can have
- in flight. (the -F# setting)
-
- -----------------------------------------------------------------------------
- TROUBLE-SHOOTING & SPEED-CONTROL
-
- The T-Robots program is basically fully automatic and self-contained. It
- will probably either work or it won't. If there is a problem, most likely
- (but not definitely) you are out of luck. Here are some possible causes of
- your difficulty:
- 1. Not enough memory.
- 2. Incompatable graphics adapter.
- 3. Damaged copy of T-robots.
- 4. Computer is not sufficiently IBM compatable.
- 5. You haven't followed any of the instructions.
- 6. Computer is damaged or not performing properly.
- 7. You're using too early a version of DOS.
- (suggest DOS 3.3 or higher)
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 15
-
- If you HAVE gotten the program to run, but it's too slow, there are some
- things you can do to speed it up. First, you can limit the number of missiles
- that can be in flight at once, using the -F setting. You can also try putting
- only 2 or 3 robots in the arena at once. You will find that the program slows
- down alot when you put 5 or 6. Another thing you can do is put the -D0
- setting in. That will turn off the delay that is placed in the program to
- keep it running at the proper speed on faster computers.
-
- If the problem is that the program runs TOO fast, then put the -D1 setting
- in. You can also put the -N command. Keep play with different settings on
- the -N until you get it where you want it. If the speed is too fast, you
- may want to put more missiles and more robots, since there's nothing to stop
- you from doing it.
-
- Also keep in mind that the -A command slows the entire simulation
- dramatically. It is suggested that you use it when you have the speed to
- spare, and not when it's too slow.
- The correlation between -D and -N needs to be explained. The delay will be
- implemented every N cycles. Now here's how the delay works: If the number of
- hundredths of a second (as determined by -D) haven't gone by yet, then the
- program will sit and wait for the time to go by. If the amount of time HAS
- gone by, then it doesn't bother to wait for it. So if you set -N10 and -D10,
- you will probably not see any effect at all (unless your computer is pretty
- fast), simply because it will probably take more than ten hundredths
- (or rather one tenth) of a second to perform 10 cycles.
-
- -----------------------------------------------------------------------------
- CHANGES:
-
- v2.0 - Variables are now included!!! The magnitude of this cannot
- possibly be fully understood, for the entire program had to
- be completely overhauled (so that almost every command will
- allow you to use variables instead of numbers).
- - The ATHEAD and ATSPEED commands for IF statements weren't
- working. That has been fixed.
-
-
- -----------------------------------------------------------------------------
- NOTICE:
-
- This program is being distributed on the "shareware" concept. It is by
- no means completely free. If you think the program is of use to you, please
- send a registration fee of $14. If you think that is rediculous, then send
- less (or more for that matter). If you hate the program or found too many
- bugs, write me and tell me, and include a graphic explanation (but don't
- be too harsh!! Heheheh). In any event, write to:
-
- Ed T. Toton III
- 7101 Talisman Lane
- Columbia Md 21045
-
-
-
-
-
-
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 16
-
- And WHY should you register it?
- 1. Because you're supposed to. If you use T-robots somehwat often,
- or several people use a copy off the same computer, or you
- keep it on your hard drive for lengthy periods, then it
- should be registered!
- 2. To support my continuing efforts to bring you some level of
- functional programs. If I get no cash, you get no improvements
- in these programs, and I won't be encouraged to make new and
- better software!
- 3. To get that warm glow for knowing that you supported the author
- of at least one of the many shareware programs you probably use.
- 4. To find out if there is a newer version. All you need to do is
- ask! But letters with money take priority!
- 5. You could be sick and demented and thus register everything you
- get your hands on.
- 6. To get a registered copy of StratSys 2.0!! If you register this
- program you will recieve a registered copy of StratSys 2.0 in
- the mail (please tell me what disk type you want). StratSys is
- VGA & Mouse required, and is explained in detail below...
- 7. To find out about my other programs you need only ask!
- But again, letters with money take precedence.
-
- Source code is not yet available. It may be in later versions.
-
- -----------------------------------------------------------------------------
- DISCLAIMER:
-
- This program is provided "AS IS" and I make no gauruntees about it's
- performance. I will not be and can not be held responsible for any damages
- incurred during it's use, or as a result of it's use. It's on a "use at your
- own risk" basis. Nothing at all should happen, the program is harmless,
- but I have to say it anyway
-
-
- -----------------------------------------------------------------------------
- COPYRIGHT:
-
- This program may be freely distributed (which is actually encouraged)
- AS IS. No one may modify this program in ANY way. ESPECIALLY where names
- and credit is given, and INCLUDING all the documentation, data files, and
- executable program files. It may NOT be used for comercial or profit-turning
- ventures of any kind, including sale by disk vendors, without the written
- consent by ME, with ONE exception: Disk vendors MAY sell it without my
- written consent ONLY if they charge no more than $5 higher then the cost of
- the disk (excluding any shipping and handling charges). NOTHING may be added
- to it either (except in the case of writing to the file COMMENTS.TXT, and
- in the case of adding more robot program files). NO BBS ads are allowed EXCEPT
- as zip comments, or as a single SEPERATE text file.
- Any robots you write for use with T-Robots are yours and you may do what
- you wish with them. It is encouraged that you distribute robots around as
- well as this program.
-
-
-
-
-
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 17
- -----------------------------------------------------------------------------
- FINAL NOTE:
-
- If you have any questions, concerns, suggestions, criticisms, donations,
- remarks, praise or opinions, please write! I WANT TO HEAR FROM YOU!!
- (the address is listed above).
-
-
- Ed T. Toton III
- "Necromancer"
- -1992
-
-
-
-
- Oh, and one more thing. Your comments are welcome! If there are any
- statements or comments or suggestions you would like to make to those who
- later try to use T-Robots, please feel free to add them to the file called
- COMMENTS.TXT. And if you think the comments are good (either yours, or the
- ones already in your COMMENTS.TXT file), please send them to me! I might
- make them a part of the next release of the program (if there is one).
-
-
-
- OTHER SOFTWARE:
-
- I have made several programs (not including the 7 or so games I made
- in quick-basic a while back) that may be of interest to you. Here is
- a list of some of them: (as of 2/3/92)
-
- Blaze v2.6 : =VGA screen-saver. Supports password security,
- and a customization system (config file). Has
- been known to travel quickly through BBS's.
-
- CompWar v2.6 : =Latest release of CompWar, the on-line game for
- use with WWIV BBS systems.
-
- Date-Matcher v1.2 : =On-line match-maker program for BBS's that support
- DOS interrupt driven door programs.
-
- StratSys v2.0 : =A 2-player VGA combat strategy game. VERY flexible.
- Comes with 4 game scenarios (Cival War, Naval Battle,
- Robot Conquest, and a medieval scenario). Expansion
- packs are available (at the moment one with 12
- scenarios). Comes with an editor for the images and
- maps, so you can make your own scenarios!
-
- My-Gags set 1.0 : =A set of 10 small gag programs that I have made.
- They are designed to be placed in the autoexec.bat
- file. Half of them are TSR's, including one that
- creates "line-noise" through the keyboard buffer,
- one that beeps occasionally, and one that keeps
- changing you caps-lock/numlock/scroll-lock.
-
-
-
-
-
-
- T-Robots = (c) 1991, 1992 = Ed T. Toton III pg 18
-