Modifica el código fuente del simulador para programar al robot de limpieza y que limpie cada habitación de suciedad antes de que se te acabe la batería! Accede al simulador con el siguiente enlace:
Debes pulsar en "Ver dentro", y añadir tu código en el objeto "Roomba", modificando los eventos "Empezar_nivel" y "Choque".
Es imprescindible que uses los bloques de usuario "avanzar", "girar_derecha" y "girar_izquierda" para controlar el robot.
Puedes utilizar las variables "sensor_izquierda", "sensor_derecha" y "sensor_frontal" para saber si hay cerca una pared en cada dirección.
Programa el robot para que avance siempre y que cuando detecte un choque cambie la dirección a una aleatoria.
Modifica el programa del ejercicio 1 para que se utilice la variable "sensor_frontal" para evitar el choque frontal con las paredes.
Programa el robot para que limpie en espiral cuadrada creciente. Cuando choque con una pared debe cambiar el sentido de la espiral. Cuando la espiral sea demasiado grande debe volver a hacerla desde 0.
Programa el robot para que limpie en espiral con curva creciente. Cuando choque con una pared debe cambiar el sentido de la espiral. Cuando la espiral sea demasiado grande debe volver a hacerla desde 0.
Programa el robot para que limpie los bordes. Deberás utilizar los sensores para comprobar continuamente si estas tocando o no pared, y saber si debes de avanzar o girar.
Crea bloques de funciones que tengan el nombre de cada algoritmo de limpieza, y que tengan como parámetro el tiempo que durará la función de limpieza.
Deberás comprobar dentro de cada función si has llegado al tiempo límite y abandonar.
Crea un programa de limpieza que cada cierto tiempo aleatorio cambie el algoritmo de limpieza a uno diferente.