Es una aplicación sencilla de software que consta de un simulador de robot integrado rayados para probar instrucciones de programación en lenguaje Karel+.
Karel se puede orientar en cuatro diferentes direcciones: Estem Oesem Norte y Sur y solo gira 90° a la vez.
Tambien tiene los llamados zumbadores, que en realidad es una marca que Karel puede escuchar sólo cuando se encuentra en la misma esquina que el zumbador. Para eso tiene una mochila en donde puede poner los zumbadores que vaya recogiendo y a la vez hacer lo inverso. Se pueden poner varios zumbadores en la misma intersección.
Poner zumbadores hace que Karel sea mas divertido porque además de moverse de un lado a otro, se pueden introducir muros para delimitar el area en la que Karel se desplaze y trabaje con solo 5 básicas instrucciones que deben se seguidas por un (); :
-move ();
-turnleft();
-pickbeeper();
-putbeeper();
-turnoff();
Además tiene múltiples herramientas llamadas sentecnias de control o condicionales, como: if(condicion) (instrucción); else (instruccion); while (condicion) e iterate(n) número de veces a repetir. A continuación de éstas debe de escribirse entre paréntesis una condición (función booleana) y seguidas de ellas se debe abrir una llave { = if (funciónbooleana) { instrucción
La función de iterate sirve para repetir n numero de veces cualquier instrucción.
Las funciones booleanas son:
- frontIsClear es verdadero si el frente de Karel esta libre de pared.
- frontIsBlocked es verdadero si existe una pared frente a Karel.
- leftIsClear es verdadero si en el lado izquierdo de Karel no existe una pared.
- leftIsBlocked es verdadero si en el lado izquierdo de Karel existe una pared.
- rightIsClear es verdadero si en el lado derecho de Karel no existe una pared.
- rightIsBlocked es verdadera si en el lado derecho de Karel existe una pared.
- nextToABeeper es verdadero si existe un beeper donde Karel esta parado.
- notNextToABeeper es verdadero si no existe un beeper donde Karel esta parado.
- facingNorth es verdadero si Karel esta volteando hacia al Norte.
- notFacingNorth es verdadero si Karel no esta volteando hacia al Norte.
- facingSouth es verdadero si Karel esta volteando hacia el Sur.
- notFacingSouth es verdadero si Karel no esta volteando hacia el Sur.
- facingEast es verdadero si Karel esta volteando hacia el Este.
- notFacingEast es verdadero si Karel no esta volteando hacia el Este.
- facingWest:es verdadero si Karel esta volteando hacia al Oeste.
- notFacingWest: es verdadero si Karel no esta volteando hacia al Oeste.
- anyBeepersInBeeperBag: es verdadero si existe algún beeper en la beeperbag.
- noBeepersInBeeperBag: es verdadero si no existes algún beepers en la beeperbag.
Cuando las condicionales y las funciones booleanas se juntan, permiten a Karel realizar los ejercicios ahorrando instrucciones y hacer variaciones segun el mundo.