entorno (hash).
datos-finales (hash).
+ print "Crea Sistema autonomo".
+ sa = new SistemaAutonomo.
+
print "Llena entorno".
- entorno{"sensor"} = 0.
+ entorno{"sensor1"} = 0.
+ entorno{"sensor2"} = 0.
+ entorno{"sensor3"} = 0.
+ entorno{"sensor4"} = 0.
entorno{"movido"} = 0.
- print "Crea Sistema autónomo".
- sa = new SistemaAutonomo.
+ print "Actualiza entorno".
+ sa update-entorno entorno entorno.
- print "Crea Teorías".
+ print "Crea Teoria 1".
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".
+ teorias{0} init named "avanzar X 1" with-action "avanzarX".
+
+ print "Carga datos iniciales Teoria 1".
+ (teorias{0}) set-dato-inicial name "sensor1" value ANY.
+ (teorias{0}) set-dato-inicial name "sensor2" value ANY.
+ (teorias{0}) set-dato-inicial name "sensor3" value ANY.
+ (teorias{0}) set-dato-inicial name "sensor4" value ANY.
+ (teorias{0}) set-dato-inicial name "movido" value ANY.
+
+ print "Carga datos finales Teoria 1".
+ (teorias{0}) set-dato-final name "sensor1" value ANY.
+ (teorias{0}) set-dato-final name "sensor2" value ANY.
+ (teorias{0}) set-dato-final name "sensor3" value ANY.
+ (teorias{0}) set-dato-final name "sensor4" value ANY.
+ (teorias{0}) set-dato-final name "movido" value ANY.
+
+ print "Crea Teoria 2".
+ teorias{1} init named "avanzar X 2" with-action "avanzarX".
+
+ print "Carga datos iniciales Teoria 2".
+ (teorias{1}) set-dato-inicial name "sensor1" value ANY.
+ (teorias{1}) set-dato-inicial name "sensor2" value ANY.
+ (teorias{1}) set-dato-inicial name "sensor3" value ANY.
+ (teorias{1}) set-dato-inicial name "sensor4" value ANY.
+ (teorias{1}) set-dato-inicial name "movido" value ANY.
+
+ print "Carga datos finales Teoria 1".
+ (teorias{1}) set-dato-final name "sensor1" value ANY.
+ (teorias{1}) set-dato-final name "sensor2" value ANY.
+ (teorias{1}) set-dato-final name "sensor3" value ANY.
+ (teorias{1}) set-dato-final name "sensor4" value ANY.
+ (teorias{1}) set-dato-final name "movido" value ANY.
+
+ print "Agrega teorias al sistema autonomo".
sa add teoria (teorias{0}).
sa add teoria (teorias{1}).
- print "Actualiza entorno".
- sa update-entorno entorno entorno.
- print "Ponemos condición final esperada para el plan".
+
+ print "Ponemos condicion 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".
+
+ print "Vemos si tiene una teoria mas".
while (sa has-next-theory): {
- print "Sí, tiene".
- print "Obtiene próxima teoría".
+
+ print "Si, tiene".
+ print "Obtiene proxima teoria".
teoria = sa get-next-theory.
- print "Obtiene datos de la teoría teoría".
+
+ print "Obtiene datos de la teoria".
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.
+
+ if ((teoria get-accion) == "avanzarX"): {
+ entorno{"sensor1"} = 1.
entorno{"movido"} = 1.
}
- print "Valida teoría".
+
+ print "Valida teoria".
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 "Vemos si tiene una teoria mas".
}
print "No, no tiene".