Animatron-6: Programa de Control de Animatronics (8 / 9 paso)

Paso 8:

Descripción del programa
OK, aquí es el tiempo que voy a confesar para arriba. Voy a omitir la descripción de la primera parte del programa. La versión corta y dulce es la que lee el archivo de traducción (que contiene la frase y el comando exotérico) y el archivo de programa (que contiene las definiciones de la escritura y lo que realmente queremos hacer) y convertir ese texto en cuatro arrays de enteros. Tokens, lo llamo. Es un precompilador o separador, que analiza la entrada y lo prepara para un compilador o en nuestro caso, un intérprete. ' lo suficientemente dicho.

La descripción de 50.000 pies de cómo funciona el programa se presenta en la siguiente imagen. A bucear en un poco más después de que se revisa.

Control de la red, hablando de otros sensores y control es donde se procesan elementos ambientales externos. El lazo de control principal es donde ocurren las acciones con secuencias de comandos. (Y tener cuidado al llamarlos guión acciones, ya que algunos de los comandos al azar acciones para que ocurrieran). Después de un tratamiento, hay un puntero a la matriz donde comienza la secuencia de comandos principales (cada show debe tener un script principal). Ejecución comienza. Cualquier acción que se solicita, el programa Salta a la sección correspondiente del código y ejecuta. (Para los avanzados, esto se hace con el Select... Estructura del caso.) Cada instancia paralela de una secuencia de comandos se llama un jugador (como hilo, proceso, etc...)
Uno de los primeros pasos es reservar memoria para el puntero del jugador y su tiempo final esperado. A continuación, el código se ejecuta y devuelve el control al siguiente jugador para ser ejecutado. Tenga en cuenta que el primer jugador puede no ser completado.  En primer lugar, cada jugador se le da tiempo suficiente para ejecutar una sola línea. En segundo lugar, el tiempo especificado en cada línea no han pasado. Así que la próxima vez que este script se da control, se comprueba para ver si su tiempo ha expirado. Si no, hay tiempo para otro script a ejecutar. Si tiene, ejecuta la siguiente línea en el script. Si el script ha terminado (tiempo < = 0 o script puntero a cero), continúa el programa de control.

Por ejemplo:

Si ((TimeDone(Player)) y (Execution(Player)=Running) luego

TimeDone (jugador) = hecho
ScriptStep=Step(Player) seleccionar caso ScriptAction(ScriptStep) caso PlayMove MoveIndex=ScriptDescription(ScriptStep)
Poner #1,,MoveCommand(MoveIndex)
TimeDone (jugador) = reloj + ScriptOption (ScriptStep) / 1000
Step(Player)=ScriptStack(ScriptStep)

Artículos Relacionados

Programa y Control Arduino + robot PHIRO simultáneamente con la aplicación de smartphone de bolsillo código

Programa y Control Arduino + robot PHIRO simultáneamente con la aplicación de smartphone de bolsillo código

PHIRO Pro es un robot educativo que ayuda a los niños aprender a código. Una de las formas de programar y controlar PHIRO es a través de una aplicación para Android llamada código de bolsillo disponible en Google Play para libre. Código de bolsillo t
Master Control Program

Master Control Program

si usted necesita un MCP de llevar en el bolsillo cada donde vayas, has venido al derecho Instructable.Si no sabes el poder desenfrenado que es programa de Control maestro educar a usted mismo: http://youtu.be/dp7dBbaZUIk?t=12sMCP ha sido en un video
Que Statler y Waldorf Animatronics

Que Statler y Waldorf Animatronics

Statler y Waldorf.  Los dos viejos en el balcón de The Muppet Show.  Fui a Disney World un año y VI Muppet * Vision 3D y tenía animatronics de ellos.  Según un artículo en línea, la piel (o tela) termina a la mitad a partir de donde no puede ver desd
CxemCAR 1 - coche de RC de Control Android por Bluetooth

CxemCAR 1 - coche de RC de Control Android por Bluetooth

este es un proyecto de código abierto del coche del RC con control de teléfono Android a través de Bluetooth. El controlador se utiliza con Micro net: FEZ Panda II, pero puede utilizar cualquier controlador funciona con Micro net base (Netduino, de l
Control de robot tanque-unidad básica sobre Bluetooth con mbed para el Freescale K64F

Control de robot tanque-unidad básica sobre Bluetooth con mbed para el Freescale K64F

Este Instructable es basada en esta obra anterior que muestra cómo controlar un robot de estilo típico de impulsión de tanque utilizando Arduino y una aplicación para Android, como se muestra en este coche RC para Android Instructable.He utilizado es
Protocolo de control de acondicionador de aire IR remoto ingeniería inverso

Protocolo de control de acondicionador de aire IR remoto ingeniería inverso

Hola, este es mi primer instructivo, espero te guste.En electrónica elegí un proyecto de automatización del hogar: un sistema que me permite a programa de control y dos unidades de aire acondicionado en mi piso. En este instructable muestro cómo lleg
Control de volumen inalámbrico Jukebox

Control de volumen inalámbrico Jukebox

El problemaLa perilla de control de volumen en muchas máquinas se encuentra en el lugar más inconveniente posible. Se hace deliberadamente para desalentar el borracho de la barra patrón de voladura su música dando como resultado la molestia de sus co
Coche de control remoto TV

Coche de control remoto TV

nada es peor que perder el controlador que vino con su coche de control remoto. Reemplazar ese lechón con un arduino y el un control remoto que siempre parece estar en el control remoto de la TV!Paso 1: materiales Los materiales para este proyecto so
Control informático de los dispositivos de la CA

Control informático de los dispositivos de la CA

si has alguna vez querido control electrónico dispositivos del ordenador para controlar o regular su entorno, este instructivo le guiará. En este ejemplo de control de computadora, un dispositivo USB de relé (USBmicro http://www.usbmicro.com - U451)
DC Motor Control remoto utilizando el protocolo RS485

DC Motor Control remoto utilizando el protocolo RS485

En este Instructable nos van a controlar dos motores de corriente continua usando RS485 Protocolo de un x86 PC.Un programa de Control de maestro cruz plataforma en Windows/Linux se comunicará con un Launchpad MSP430 utiliza protocolo RS485. El usuari
¿LEGO NXT el control con wiimote

¿LEGO NXT el control con wiimote

siempre quiere construir su propio vehículo RC? Ahora usted puede. En control de su diseño y fácil de usar Legos, por ser Legos. Todo lo que necesitas es un Lego NXT, un ordenador con un software de control y Bluetooth dongleTengo 17 años.Paso 1: mat
Con el Edison de Intel en un sistema de Control de reacción de Gas frío para un cohete de sondeo

Con el Edison de Intel en un sistema de Control de reacción de Gas frío para un cohete de sondeo

¿Cuál es el propósito de hacer un sistema de control de la reacción?Sistemas de control de la actitud convencional para cohetes amateurs utilizan aletas adjuntas, que ofrecen control de estabilidad pasiva. Para realizar maniobras y estabilización act
Módem a prueba de manipulaciones, precolocación temporizador controla el abuso de Internet Personal

Módem a prueba de manipulaciones, precolocación temporizador controla el abuso de Internet Personal

problema:Trabajo solo con la computadora por largos períodos de tiempo. También compulsivamente pierdo tiempo buscando por internet para golosinas inútiles o traviesos. La mayoría de la útil labor se realiza fuera de línea. Trató de un programa de co
Control de una electroválvula con cero

Control de una electroválvula con cero

control USB de una válvula de solenoide utilizando programación robótica Wedo de Lego y "Cero"R. Siderits, P. Mazari, C. Rimmer, D. Goodwin, w. Lecorchick, O. OuattaraVálvulas de solenoide abren y cierran con relés de baja tensiónIlustramos el u