Documentation
Los scripts de ejemplo
Descripción
Instrucciones básicas
Estructuras de programación
Los scripts de ejemplo
- Escriba su nombre
- Encontrar el punto blanco
- Línea seguidor
- Corredor de laberintos

Los scripts de ejemplo

En los programas de ejemplo siguiente usted verá cómo las instrucciones y estructuras básicas de programación se puede llevar a un comportamiento interesante del robot. Trate de entender la escritura y por qué funciona. Aún mejor es probarlos si ha copiado el código y pegarlo en el panel de script RoboMind. Asegúrese de que el mapa de la derecha se utiliza antes de ejecutarlos.

Ejemplo 1 : Escriba su nombre

Debido a que el robot es capaz de pintar, que es capaz de crear programas sencillos de dibujo. Utilizando pintarBlanco() y detenerPintar()él puede ordenarle al robot para poner su pincel en el suelo o no. Cuando usted permite que el robot se mueva, se dejará una línea en el suelo. De esta manera usted puede escribir los caracteres como la 'A'.

En el mapa openArea.map tendrá suficiente espacio para crear una buena pieza de arte. Trate de usar el mando a distancia (Ejecutar> control remoto) para que la pintura robot.

Ver también: instrucciones básicas: pintar, mover

write 'A'

#character 'A'
pintarBlanco()


adelante(2)
derecha()
adelante(1)
derecha()
adelante(2)
atras(1)
derecha()
adelante(1)


detenerPintar()

 

Ejemplo 2 : Encontrar el punto blanco

En el findSpot1.map mapa que se puede encontrar en la carpeta por defecto romboidal mapa, siempre encontrará algo a la izquierda una esquina que tiene una mancha blanca. Supongamos que no se sabe de antemano a qué distancia se encuentra este rincón. ¿Cómo es el robot capaz de encontrar si se empieza en algún lugar a lo largo de la pared? Por supuesto que puede contar el número de pasos que el robot tiene que mover por sí mismo, pero hay mejores maneras.

Deje que el robot haga un paso adelante en el tiempo, y le dejó comprobar si ya ve el lugar a su izquierda. Si se ve el lugar, tiene que subirse en ella y luego se termina. De lo contrario debe dar otro paso adelante y volver a comprobar si ya está cerca del lugar. Esto puede repetirse en un bucle.

Ver también: instrucciones básicas: mover, ver.

find spot
repetir(){
    si(izquierdaEsBlanco()){
        # Hay una mancha blanca a su izquierda
        izquierda()
        adelante(1)
        fin
    }
    otro{
        # No hay ninguna mancha blanca todavía
        adelante(1)
    }
}

Otro enfoque que muestra los mismos resultados es el siguiente script. Aquí se repite el robot en movimiento hacia adelante hasta que no se ve la pared más (lo que debe ser la esquina que está buscando). A continuación, el robot gira y se mueve hacia adelante a la tierra en el lugar.

repetirMientras(izquierdaEsObstaculo()){
    adelante(1)
}

izquierda()
adelante(1)
            

 

ejemplo 3 : Línea seguidor

En default.map a encontrar una línea blanca en el este. Esta línea forma una pista a través del medio ambiente. ¿Cómo puede hacer que el robot siga esta pista?

La solución es algo similar al ejemplo anterior. Después de que el robot se pone al principio de la pista, que determina lo que debe hacer paso a paso.

Ver también: instrucciones básicas: mover, ver.

line follower
# Ir al inicio de la línea
derecha()
adelante(8)


# Sigue paso a paso la pista
repetir()
{
    si(frenteEsBlanco()){	
        adelante(1)
    }
    otro si(derechaEsBlanco()){
        derecha()
    }
    otro si(izquierdaEsBlanco()){
        izquierda()
    }
    otro si(frenteEsObstaculo()){
        fin
    }
}
          

Otro método es usar los llamados procedimientos recursivos. En el guión próxima vez que vea que un procedimiento de "seguir ()" se define. En este procedimiento, después de que el paso correcto se realiza, se ve que seguir() se utiliza en su propia definición. Lo que se obtiene es una secuencia de seguir (... seguir (... seguir (...)...)...) que realizar la acción correcta cada vez que paso para cumplir la tarea. Esta definición se llama cíclica repetición, y es probable que usted lo encontrará algo extraño la primera vez que lo veo. No se preocupe, jugar con él y se vuelve más claro.

# Ir al inicio de la línea
derecha()
adelante(8)


# iniciar el seguimiento
seguir()


# Definición recursiva para el seguimiento.
procedimiento seguir(){
    si(frenteEsBlanco()){	
        adelante(1)
        follow()
    }
    otro si(derechaEsBlanco()){
        derecha()
        follow()
    }
    otro si(izquierdaEsBlanco()){
        izquierda()
        follow()
    }
    otro si(frenteEsObstaculo()){
        # Finalizar la llamada al procedimiento en curso
# (porque no hay nada para después
# Regresar este, todas las llamadas se terminarán
# y el programa se detiene) regresar } }

 

Ejemplo 4 : Corredor de laberintos

¿Cómo escapar de un laberinto en general? Parece que esta difícil pregunta tiene una solución simple. Por siempre siguiendo la pared a la derecha (o siempre siguiendo la pared en el lado izquierdo) se encuentra la salida con seguridad.

El siguiente script hace que el robot encuentra el faro en la maze1.map ejemplo.

Ver también: instrucciones básicas: mover, ver.

repetir(){	
    si(derechaEsObstaculo()){
        si(frenteEsClaro()){
            adelante(1)
        }
        otro{
            izquierda()
        }
    }
    otro{
        derecha()
        adelante(1)
    }

    si(frenteEsBaliza()){	
        tomar()
        fin
    }
}
          

RoboMind - Copyright © 2005 - 2016 - Research Kitchen