]> git.llucax.com Git - z.facultad/75.68/celdas.git/blobdiff - trunk/src/SistemaAutonomoDemo.tz
Encontré el bug hijoderemilputa!!! Mea culpa, mea culpa, mea culpa...
[z.facultad/75.68/celdas.git] / trunk / src / SistemaAutonomoDemo.tz
index 5c8fdd416bc803800ebda1e2009bc0e34f448638..391d5bc9bfc170df4060edf4077ebbb4cf7676a0 100644 (file)
@@ -10,49 +10,69 @@ Control : SistemaAutonomoController {
                sa (object).
                teoria (object).
                entorno (hash).
                sa (object).
                teoria (object).
                entorno (hash).
+               datos-finales (hash).
 
                print "Llena entorno".
 
                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".
 
                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}).
 
                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".
                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 "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{0}.
                free teorias{1}.
-               free teorias{2}.
                free sa.
 
 }
                free sa.
 
 }