]> 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 37d3d5a03affb89fdda947990d625201864ab91d..391d5bc9bfc170df4060edf4077ebbb4cf7676a0 100644 (file)
@@ -8,27 +8,71 @@ Control : SistemaAutonomoController {
        + to init:
                teorias (list).
                sa (object).
        + 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.
                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{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{0}.
                free teorias{1}.
-               free teorias{2}.
                free sa.
 
 }
                free sa.
 
 }