X-Git-Url: https://git.llucax.com/z.facultad/75.68/celdas.git/blobdiff_plain/b3f18bf057bda6df83d7ce7abec0372fd0f101b7..bf82eb53ad2ee702d3b950555a1e579c47b6a7d5:/trunk/src/SistemaAutonomoDemo.tz diff --git a/trunk/src/SistemaAutonomoDemo.tz b/trunk/src/SistemaAutonomoDemo.tz index 5c8fdd4..391d5bc 100644 --- a/trunk/src/SistemaAutonomoDemo.tz +++ b/trunk/src/SistemaAutonomoDemo.tz @@ -10,49 +10,69 @@ Control : SistemaAutonomoController { sa (object). teoria (object). entorno (hash). + datos-finales (hash). print "Llena entorno". - entorno{"sensor1"} = 10.5. - entorno{"sensor2"} = 1.5. + entorno{"sensor"} = 0. + entorno{"movido"} = 0. print "Crea Sistema autónomo". sa = new SistemaAutonomo. print "Crea Teorías". - 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. - - print "Carga datos a las teorías". - (teorias{0}) set-dato-inicial name "sensor1" value 10.5. - (teorias{0}) set-dato-inicial name "sensor2" value 0.5. - (teorias{1}) set-dato-inicial name "sensor1" value 0.5. - (teorias{1}) set-dato-inicial name "sensor2" value 10.5. - (teorias{2}) set-dato-inicial name "sensor1" value 5.5. - (teorias{2}) set-dato-inicial name "sensor2" value 5.5. + 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. + 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 "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). - print "Valida teoría". - if (sa validate theory teoria): { - print "valida". + 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. }