Karel Language Reference
Primitives
void step()
- Moves Karel one intersection forwardvoid turn_left()
- Pivots Karel 90 degrees leftvoid pick_beeper()
- Takes a beeper from the current intersection and puts it in the beeper bagvoid put_beeper()
- Takes a beeper from the beeper bag and puts it at the current intersectionvoid turn_on(char* path)
- Turns Karel onvoid turn_off()
- Turns Karel off
Sensors
bool front_is_clear()
- Returnstrue
if there is no wall directly in front of Karel. Returnsfalse
if there is a wall.bool beepers_present()
- Returnstrue
if Karel is standing at an intersection that has a beeper,false
otherwisebool facing_north()
- Returnstrue
if Karel is facing north,false
otherwisebool beepers_in_bag()
- Returnstrue
if there is at least one beeper in Karel's beeper bag,false
if the beeper bag is empty
Misc
void set_step_delay(int)
- Sets delay of one Karel's step in miliseconds
Super Karel Language Reference
Super Karel is an extension to the basic Karel the Robot library. Super Karel is "equipped" with additional sensors.
Sensors
bool front_is_blocked()
- Returnstrue
if there is a wall directly in front of Karel,false
otherwise.bool left_is_clear()
- Returnstrue
if there is no wall immediately to Karel's left,false
if there isbool left_is_blocked()
- Returnstrue
if there is a wall immediately to Karel's left,false
otherwisebool right_is_clear()
- Returnstrue
if there is no wall immediately to Karel's right,false
if there isbool right_is_blocked()
- Returnstrue
if there is a wall immediately to Karel's right,false
otherwisebool no_beepers_present()
- Returnstrue
if there is not beeper at the current intersection,false
if there is a beeper at the current intersectionbool not_facing_north()
- Returnstrue
if Karel is not facing north,false
if he is facing northbool facing_south()
- Returnstrue
if Karel is facing south,false
otherwisebool not_facing_south()
- Returnstrue
if Karel is not facing south,false
if he is facing southbool facing_east()
- Returnstrue
if Karel is facing east,false
otherwisebool not_facing_east()
- Returnstrue
if Karel is not facing east,false
if he is facing eastbool facing_west()
- Returnstrue
if Karel is facing west,false
otherwisebool not_facing_west()
- Returnstrue
if Karel is not facing west,false
if he is facing westbool no_beepers_in_bag()
- Returnstrue
if Karel's beeper bag is empty,false
if there is at least one beeper in the beeper bag
Library
Here you can find the original library of Karel the Robot, including the library installation instructions.
Karel's World
- Text file with .kw extension
- Example of the first line:
7 3 1 2 E 5
- 7 3 - World dimensions (first horizontal, second vertical)
- 1 2 - Position of Karel the Robot in the beginning of your program (first horizontal, second vertical)
- E - Direction of Karel the Robot in the beginning of your program
- 5 - Number of beepers in Karel's bag in the beginning of your program
- Any other line starting with B represents beeper(s) placed in the world, example:
B 5 1 2
- B - This is beeper data
- 5 1 - Position in the world (first horizontal, second vertical)
- 2 - Number of beepers placed in this position
- Any other line starting with W represents wall, example:
W 5 1 E
- W - This is wall data
- 5 1 - Position in the world (first horizontal, second vertical)
- E - Direction to which the wall is placed from the given position (because walls are placed between particular positions)