Comandos integrados de Karel
move()
|
|
turn_left()
|
put_ball()
|
|
take_ball()
|
random_chance()
|
|
color_is(color)
|
# Pinta un cuadrado de rojo.
paint(color['red'])
# Colores:
color['red']
color['blue']
color['green']
color['yellow']
color['cyan']
color['orange']
color['white']
color['black']
color['gray']
color['purple']
# Crea un color utilizando una cadena de color
# Sintaxis: paint('color_string')
paint('cyan')
# String de Colores:
'red'
'blue'
'green'
'yellow'
'cyan'
'orange'
'white'
'black'
'gray'
'purple'
# Crea un color utilizando un valor RGB para pintar
# Sintaxis: paint('rgb(red_value, green_value, blue_value)')
paint('rgb(130, 50, 32)')
# Crea un color utilizando una cadena de código hexadecimal
# Sintaxis: paint(hex_color_string)
paint('#63c151')
# Determina si un cuadrado es de un color determinado
if color_is(color['red']):
move()
Random
# Devuelve true el 50% de las veces
random_chance()
# Devuelve true probabilidad porcentaje de las veces
random_chance(probability)
# Devuelve true el 20% de las veces.
random_chance(0.20)
# Ejemplo
if random_chance(0.8):
put_ball()
Escribir una función es como enseñarle a Karel una nueva palabra.
Nombrar funciones: Puedes dar a tus funciones el nombre que quieras, pero
espacios en el nombre de la función.
Recuerda que los comandos de las funciones deben estar indentados un nivel
def turn_right():
turn_left()
turn_left()
turn_left()
def turn_around():
turn_left()
turn_left()
def your_function_name():
# Codigo que se ejecutará cuando hagas una llamada a
# esta función.
Llamas a una función para decirle al ordenador que ejecute realmente la nueva orden.
# Llama una vez a la funcion turn_around()
turn_around()
# Llama a la funcion turn_right() 2 veces
turn_right()
turn_right()
Recuerda que los comandos de las sentencias condicionales deben tener un nivel de indentación.
if condition:
#código que se ejecutará si la condición es True.
if condition:
#código que se ejecutará si la condición es True
else: #código que se ejecutará si la condición es verdadera
#código que se ejecutará si la condición no es True
if front_is_clear():
move()
if balls_present():
take_ball()
else:
move()
¡No olvides el
()
al final!
front_is_clear()
left_is_clear()
right_is_clear()
facing_north()
facing_south()
facing_east()
facing_west()
balls_present()
|
|
front_is_blocked()
left_is_blocked()
right_is_blocked()
not_facing_north()
not_facing_south()
not_facing_east()
not_facing_west()
no_balls_present()
|
Recuerda que los comandos de una sentencia de bucle deben estar indentados un nivel.
while CONDITION:
# Codigo que se ejecutará mientras la CONDITION sea true.
# Cuando la CONDITION deje de ser true,
# se detendrá.
Ejemplo de while loops
# Esto mueve a Karel hacia una pared
while front_is_clear():
move()
for i in range(COUNT):
# Codigo que ejecutará 'COUNT' veces
Ejemplo de for loops
# Esto pone 10 bolas
for i in range(10):
put_ball()
Puedes tener varias sentencias o llamadas a funciones en un for loops.
# Esto coloca cinco bolas y se mueve después de cada una
for i in range(5):
put_ball()
move()
Usa for loops cuando quieras repetir algo un número fijo de veces.
Usa los for loops cuando quieras repetir algo mientras una condición sea true.