Dec 172017
“Bot” v1.1. Program robots to fight one another using a numeric flowchart, great for competitions. MCGA, EGA, VGA. If not using MCGA, download RBOT10.ZIP (Bot 2). | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
BOT.DAT | 1 | 1 | stored |
BOT.EXE | 116156 | 56944 | deflated |
BOT.TXT | 6374 | 2346 | deflated |
EMPTY.BMP | 738 | 18 | deflated |
PROGTEMP.BOT | 329 | 13 | deflated |
STD.BMP | 737 | 71 | deflated |
STD2.BMP | 737 | 55 | deflated |
SUX1.BOT | 302 | 33 | deflated |
Download File BOT11.ZIP Here
Contents of the BOT.TXT file
PROGRAM CODES:
Under each command listed below are the number codes that are put into
the data file. The program operates as a flow-chart. The different codes
under the same heading tell it which way to move the program cursor after
executing that instruction. The letters U,D,L,R mean up, down, left, right
respectively.
NOTE- Long programs may work well but the will run much more slowly.
Also, if the program is instructed to go to a program element
that has the number 0, it will return to the upper-left corner.
It will go to the upper-left if the program cursor is sent off
the side of the program also.
See the sample program at the end of this file.
ATTACK: (Attacks the enemy. Note that the enemy must be in the space
U: 1 directly in front of the robot)
R: 2 NOTE-Multiple attacks in large loops has a disadvantage. Every
D: 3 successive element that is an attack will decrease your attack
L: 4 strength by 1 (normal damage=1 to 5). However, a non-attack
program element will reset you to full strength.
MOVE: (Moves the robot one space forward)
U: 5
R: 6
D: 7
L: 8
TURN LEFT: (Turns robot left 90 degrees)
U: 9
R: 10
D: 11
L: 12
TURN RIGHT: (Turns robot right 90 degrees)
U: 13
R: 14
D: 15
L: 16
RANDOM TURN: (Turns robot 90 degrees left or right)
U: 17
R: 18
D: 19
L: 20
CONNECTOR: (Simply acts as a bridge for the program cursor. Note that
U: 21 This is one of the only program elements that doesn't slow the
R: 22 robot down)
D: 23
L: 24
RANDOM SPIN: (Turns robot to a random facing. Note-There is a 1/4 chance
U: 25 that the robot will remain facing the same direction)
R: 26
D: 27
L: 28
OVERBURN ON: (Turns robot to overburn status)
U: 29
R: 30
D: 31
L: 32
OVERBURN OFF: (Turns robot off from overburn status)
U: 33
R: 34
D: 35
L: 36
OVERBURN TOGGLE: (Turns robot overburn to on if it's off and
U: 37 vice versa)
R: 38
D: 39
L: 40
SIDESLIP 'L': (Moves robot diagonally forward and left)
U: 77
R: 78
D: 79
L: 80
SIDESLIP 'R': (Moves robot diagonally forward and right)
U: 81
R: 82
D: 83
L: 84
NOTES ON OVERBURN: Overburn, when on, will allow the robot to do double
damage when attacking and triple damage when self-destructing. When
doing this, however, the robot overheats. It's memory curcuits don't
function normally at these temperatures, thus everytime the robot attacks
with overburn on, 1 randomly chosen program element will be given a
random code.
DESTRUCT:
99 (Self destructs robot. Does up to 3 times the damage of a normal
attack to all within 1 space)
RANDOM:
100 (This only has one code. It will randomly select to go down or right
in the program)
GOTO: (Sends program cursor to a specified location in x,y format)
111-269 NOTE-This (like connectors) will not slow the robot.
Also, Not all these numbers are used. The equation
for what code is as follows: 100 + (10 * x) + y
NOTES ON CONNECTORS/GOTOS: Connectors and gotos normally don't slow the robot
because they don't count as a function. However, ten of them in a row will!
IF STATEMENTS:
(These only go down and right. In each case, 2 codes are given.
In the first, yes goes right and no goes down.
In the second, no goes right and yes goes down.)
OVERBURN ON: (Detects if overburn has been activated)
42, 43
ARMOR <= 5%: (Detects if armor is less than or equal to 5 percent)
44, 45
ARMOR <= 10%: (Detects if armor is less than or equal to 10 percent)
46, 47
ARMOR <= 25%: (Detects if armor is less than or equal to 25 percent)
48, 49
ARMOR <= 50%: (Detects if armor is less than or equal to 50 percent)
50, 51
ENEMY HERE: (Detects if an enemy is in the space in front of the robot)
52, 53
ENEMY THERE (F): (Detects if an enemy is in front of the robot)
54, 55
ENEMY THERE (L): (Detects if an enemy is left of the robot)
56, 57
ENEMY THERE (R): (Detects if an enemy is right of the robot)
58, 59
OBSTACLE (F): (Detects if an obstacle is in the space in front of the robot)
60, 61
OBSTACLE (L): (Detects if an obstacle is in the space left of the robot)
62, 63
OBSTACLE (R): (Detects if an obstacle is in the space right of the robot)
64, 65
NOTE-The walls of the arena count as obstacles!
FRIEND HERE: (Detects if a friend is in the space in front of the robot)
66, 67
FRIEND THERE (F): (Detects if a friend is in front of the robot)
68, 69
FRIEND THERE (L): (Detects if a friend is left of the robot)
70, 71
FRIEND THERE (R): (Detects if a friend is right of the robot)
72, 73
NOTE- The enemy detectors will not see robots that have the same team number,
In other words, robots on the same team are invisible to each other unless
the friend detectors are used by the robot.
SAMPLE PROGRAM:
61,53,7,0,0,0,0,0,0,0,0,0,0,0,0,0
17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NOTE- This program is the default for the robots.
Also, this is the format that the disk file must be in. The name
extension must also be '.BOT'. Example: 'MYPROG.BOT'
You may also wish to note that a file (PROGTEMP.BOT) is included
with this game. If you have a good ascii-editor, you can load
progtemp.bot, make your changes, then save it under a different name.
This will save you the trouble of typing all those zeroes.
(By the way, the game has it's own editor, you'll probably find it
the easiest way to write the programs.)
MORE INFO:
You will notice a color-I.D. on each robot.
They are as follows:
Robot: Color:
1 blue
2 green
3 cyan
4 red
5 magenta
6 brown/yellow
Under each command listed below are the number codes that are put into
the data file. The program operates as a flow-chart. The different codes
under the same heading tell it which way to move the program cursor after
executing that instruction. The letters U,D,L,R mean up, down, left, right
respectively.
NOTE- Long programs may work well but the will run much more slowly.
Also, if the program is instructed to go to a program element
that has the number 0, it will return to the upper-left corner.
It will go to the upper-left if the program cursor is sent off
the side of the program also.
See the sample program at the end of this file.
ATTACK: (Attacks the enemy. Note that the enemy must be in the space
U: 1 directly in front of the robot)
R: 2 NOTE-Multiple attacks in large loops has a disadvantage. Every
D: 3 successive element that is an attack will decrease your attack
L: 4 strength by 1 (normal damage=1 to 5). However, a non-attack
program element will reset you to full strength.
MOVE: (Moves the robot one space forward)
U: 5
R: 6
D: 7
L: 8
TURN LEFT: (Turns robot left 90 degrees)
U: 9
R: 10
D: 11
L: 12
TURN RIGHT: (Turns robot right 90 degrees)
U: 13
R: 14
D: 15
L: 16
RANDOM TURN: (Turns robot 90 degrees left or right)
U: 17
R: 18
D: 19
L: 20
CONNECTOR: (Simply acts as a bridge for the program cursor. Note that
U: 21 This is one of the only program elements that doesn't slow the
R: 22 robot down)
D: 23
L: 24
RANDOM SPIN: (Turns robot to a random facing. Note-There is a 1/4 chance
U: 25 that the robot will remain facing the same direction)
R: 26
D: 27
L: 28
OVERBURN ON: (Turns robot to overburn status)
U: 29
R: 30
D: 31
L: 32
OVERBURN OFF: (Turns robot off from overburn status)
U: 33
R: 34
D: 35
L: 36
OVERBURN TOGGLE: (Turns robot overburn to on if it's off and
U: 37 vice versa)
R: 38
D: 39
L: 40
SIDESLIP 'L': (Moves robot diagonally forward and left)
U: 77
R: 78
D: 79
L: 80
SIDESLIP 'R': (Moves robot diagonally forward and right)
U: 81
R: 82
D: 83
L: 84
NOTES ON OVERBURN: Overburn, when on, will allow the robot to do double
damage when attacking and triple damage when self-destructing. When
doing this, however, the robot overheats. It's memory curcuits don't
function normally at these temperatures, thus everytime the robot attacks
with overburn on, 1 randomly chosen program element will be given a
random code.
DESTRUCT:
99 (Self destructs robot. Does up to 3 times the damage of a normal
attack to all within 1 space)
RANDOM:
100 (This only has one code. It will randomly select to go down or right
in the program)
GOTO: (Sends program cursor to a specified location in x,y format)
111-269 NOTE-This (like connectors) will not slow the robot.
Also, Not all these numbers are used. The equation
for what code is as follows: 100 + (10 * x) + y
NOTES ON CONNECTORS/GOTOS: Connectors and gotos normally don't slow the robot
because they don't count as a function. However, ten of them in a row will!
IF STATEMENTS:
(These only go down and right. In each case, 2 codes are given.
In the first, yes goes right and no goes down.
In the second, no goes right and yes goes down.)
OVERBURN ON: (Detects if overburn has been activated)
42, 43
ARMOR <= 5%: (Detects if armor is less than or equal to 5 percent)
44, 45
ARMOR <= 10%: (Detects if armor is less than or equal to 10 percent)
46, 47
ARMOR <= 25%: (Detects if armor is less than or equal to 25 percent)
48, 49
ARMOR <= 50%: (Detects if armor is less than or equal to 50 percent)
50, 51
ENEMY HERE: (Detects if an enemy is in the space in front of the robot)
52, 53
ENEMY THERE (F): (Detects if an enemy is in front of the robot)
54, 55
ENEMY THERE (L): (Detects if an enemy is left of the robot)
56, 57
ENEMY THERE (R): (Detects if an enemy is right of the robot)
58, 59
OBSTACLE (F): (Detects if an obstacle is in the space in front of the robot)
60, 61
OBSTACLE (L): (Detects if an obstacle is in the space left of the robot)
62, 63
OBSTACLE (R): (Detects if an obstacle is in the space right of the robot)
64, 65
NOTE-The walls of the arena count as obstacles!
FRIEND HERE: (Detects if a friend is in the space in front of the robot)
66, 67
FRIEND THERE (F): (Detects if a friend is in front of the robot)
68, 69
FRIEND THERE (L): (Detects if a friend is left of the robot)
70, 71
FRIEND THERE (R): (Detects if a friend is right of the robot)
72, 73
NOTE- The enemy detectors will not see robots that have the same team number,
In other words, robots on the same team are invisible to each other unless
the friend detectors are used by the robot.
SAMPLE PROGRAM:
61,53,7,0,0,0,0,0,0,0,0,0,0,0,0,0
17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NOTE- This program is the default for the robots.
Also, this is the format that the disk file must be in. The name
extension must also be '.BOT'. Example: 'MYPROG.BOT'
You may also wish to note that a file (PROGTEMP.BOT) is included
with this game. If you have a good ascii-editor, you can load
progtemp.bot, make your changes, then save it under a different name.
This will save you the trouble of typing all those zeroes.
(By the way, the game has it's own editor, you'll probably find it
the easiest way to write the programs.)
MORE INFO:
You will notice a color-I.D. on each robot.
They are as follows:
Robot: Color:
1 blue
2 green
3 cyan
4 red
5 magenta
6 brown/yellow
December 17, 2017
Add comments