X-Git-Url: https://git.llucax.com/z.facultad/75.68/celdas.git/blobdiff_plain/c70ce6aaf1ea2313edd5754c063d866c2aba4975..bf82eb53ad2ee702d3b950555a1e579c47b6a7d5:/trunk/src/SistemaAutonomoDemo.tz diff --git a/trunk/src/SistemaAutonomoDemo.tz b/trunk/src/SistemaAutonomoDemo.tz index 37d3d5a..391d5bc 100644 --- a/trunk/src/SistemaAutonomoDemo.tz +++ b/trunk/src/SistemaAutonomoDemo.tz @@ -8,27 +8,71 @@ Control : SistemaAutonomoController { + to init: teorias (list). sa (object). + teoria (object). + entorno (hash). + datos-finales (hash). + print "Llena entorno". + entorno{"sensor"} = 0. + entorno{"movido"} = 0. + + print "Crea Sistema autónomo". sa = new SistemaAutonomo. - teorias = 3 new Teorias. - teorias{0} init named "t1" with-action 1. - teorias{1} init named "t2" with-action 2. - teorias{2} init named "t3" with-action 3. - - (teorias{0}) add-dato-inicial name "sensor1" value 10.5. - (teorias{0}) add-dato-inicial name "sensor2" value 0.5. - (teorias{1}) add-dato-inicial name "sensor1" value 0.5. - (teorias{1}) add-dato-inicial name "sensor2" value 10.5. - (teorias{2}) add-dato-inicial name "sensor1" value 5.5. - (teorias{2}) add-dato-inicial name "sensor2" value 5.5. + print "Crea Teorías". + teorias = 2 new Teorias. + teorias{0} init named "t1" with-action "avanza". + (teorias{0}) set-dato-inicial name "sensor" value 0. + (teorias{0}) set-dato-inicial name "movido" value -3000000. + (teorias{0}) set-dato-final name "sensor" value -3000000. + (teorias{0}) set-dato-final name "movido" value 1. + + teorias{1} init named "t2" with-action "retrocede". + (teorias{1}) set-dato-inicial name "sensor" value 1. + (teorias{1}) set-dato-inicial name "movido" value -3000000. + (teorias{1}) set-dato-final name "sensor" value -3000000. + (teorias{1}) set-dato-final name "movido" value 1. + + print "Agrega teorías al sistema autónomo". sa add teoria (teorias{0}). sa add teoria (teorias{1}). - sa add teoria (teorias{2}). + print "Actualiza entorno". + sa update-entorno entorno entorno. + print "Ponemos condición final esperada para el plan". + datos-finales{"movido"} = 1. + sa update-datos-finales datos-finales datos-finales. + print "Calcula el plan". + sa plan. + print "Vemos si tiene una teoría más". + while (sa has-next-theory): { + print "Sí, tiene". + print "Obtiene próxima teoría". + teoria = sa get-next-theory. + print "Obtiene datos de la teoría teoría". + print(teoria get-nombre). + print(teoria get-accion). + if ((teoria get-accion) == "avanza"): { + entorno{"sensor"} = 1. + entorno{"movido"} = 1. + } + if ((teoria get-accion) == "retrocede"): { + entorno{"sensor"} = 0. + entorno{"movido"} = 1. + } + print "Valida teoría". + sa update-entorno entorno entorno. + if (sa validate theory teoria): { + print "valida". + } + else { + print "Teoria no valida, salimos". + } + print "Vemos si tiene una teoría más". + } + print "No, no tiene". free teorias{0}. free teorias{1}. - free teorias{2}. free sa. }