RoBOTL is an Object-Oriented Language
How do we send a send a
message to a robot?
What
methods do basic-bot's know to begin with?
In OO, objects are
instantiated. How are objects
instantiated in RoBOTL?
Inheritance
allows software to be reused. How is
inheritance implemented in Robotl?
define
{
NewRobotType human_bot
{
IsLikeA basic_bot;
}
}
execute
{
new human_bot Eve;
new human_bot Adam at 5,5;
tell Eve:
{
TurnLeft;
Move 1;
}
tell Adam:
{
Move 1;
TurnLeft;
}
}
As well as inheriting methods, we can
DefineInitialBeepers for
the new robot type and even DefineNewInstructions for it.
define
{
NewRobotType man_bot
{
IsLikeA basic_bot;
}
NewRobotType woman_bot
{
IsLikeA basic_bot;
}
NewRobotType boy_bot
{
IsLikeA man_bot;
DefineInitialBeepers 5;
DefineNewInstruction spin as
{
iterate 4 times TurnLeft;
}
}
}
execute
{
new woman_bot Eve;
new man_bot Adam at 5,5;
tell Eve:
{
TurnLeft;
Move 1;
}
tell Adam:
{
Move 1;
TurnLeft;
}
new boy_bot Cain at 7,7;
tell Cain:
{
spin;
}
}
So far, the Robot's world has been empty. We can
define our own worlds:
define {
WorldEntity Adamsville {
Beeper at 0,0;
Beeper at 0,19= 3;
Beeper at 19,19 = 2;
Beeper at 19,0;
}
}
execute{
place Adamsville;
new basic_bot Adam;
tell Adam: {
iterate 4 times {
move 19;
turnleft;
pickbeeper;
}
}
}

Web References
Walter Ching's
awesome RoBOTL site
Jim Meddick's
Robotman

Send questions and comments to: Karen Lemone