+*/
+
+ // Inicializo las teorias
+ CTeoria t1("Avanzar", "avanzar", 1, 1) ;
+ t1.datos_iniciales.add ("robot.sensor_adelante", 0) ;
+ t1.datos_iniciales.add ("robot.sensor_atras", ANY) ;
+ t1.datos_iniciales.add ("robot.sensor_derecha", ANY) ;
+ t1.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t1.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t1.datos_finales.add ("robot.sensor_adelante", ANY) ;
+ t1.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t1.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t1.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t1.datos_finales.add ("robot.avanzo_adelante", 1) ;
+ t1.datos_finales.add ("robot.avanzo_atras", 0) ;
+ t1.datos_finales.add ("robot.avanzo_derecha", 0) ;
+ t1.datos_finales.add ("robot.avanzo_izquierda", 0) ;
+
+
+ CTeoria t2("Retroceder", "retroceder", 1, 1) ;
+ t2.datos_iniciales.add ("robot.sensor_adelante", ANY) ;
+ t2.datos_iniciales.add ("robot.sensor_atras", 0) ;
+ t2.datos_iniciales.add ("robot.sensor_derecha", ANY) ;
+ t2.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t2.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t2.datos_finales.add ("robot.sensor_adelante", ANY) ;
+ t2.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t2.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t2.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t2.datos_finales.add ("robot.avanzo_adelante", 0) ;
+ t2.datos_finales.add ("robot.avanzo_atras", 1) ;
+ t2.datos_finales.add ("robot.avanzo_derecha", 0) ;
+ t2.datos_finales.add ("robot.avanzo_izquierda", 0) ;
+
+
+ CTeoria t3("Derecha", "derecha", 1, 1) ;
+ t3.datos_iniciales.add ("robot.sensor_adelante", ANY) ;
+ t3.datos_iniciales.add ("robot.sensor_atras", ANY) ;
+ t3.datos_iniciales.add ("robot.sensor_derecha", 0) ;
+ t3.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t3.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t3.datos_finales.add ("robot.sensor_adelante", ANY) ;
+ t3.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t3.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t3.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t3.datos_finales.add ("robot.avanzo_adelante", 0) ;
+ t3.datos_finales.add ("robot.avanzo_atras", 0) ;
+ t3.datos_finales.add ("robot.avanzo_derecha", 1) ;
+ t3.datos_finales.add ("robot.avanzo_izquierda", 0) ;
+
+
+ CTeoria t4("Eludir.1", "derecha", 1, 1) ;
+ t4.datos_iniciales.add ("robot.sensor_adelante", 1) ;
+ t4.datos_iniciales.add ("robot.sensor_atras", ANY) ;
+ t4.datos_iniciales.add ("robot.sensor_derecha", 0) ;
+ t4.datos_iniciales.add ("robot.sensor_izquierda", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_adelante", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_atras", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_derecha", ANY) ;
+ t4.datos_iniciales.add ("robot.avanzo_izquierda", ANY) ;
+ t4.datos_finales.add ("robot.sensor_adelante", 0) ;
+ t4.datos_finales.add ("robot.sensor_atras", ANY) ;
+ t4.datos_finales.add ("robot.sensor_derecha", ANY) ;
+ t4.datos_finales.add ("robot.sensor_izquierda", ANY) ;
+ t4.datos_finales.add ("robot.avanzo_adelante", 0) ;
+ t4.datos_finales.add ("robot.avanzo_atras", ANY) ;
+ t4.datos_finales.add ("robot.avanzo_derecha", 1) ;
+ t4.datos_finales.add ("robot.avanzo_izquierda", ANY) ;
+
+
+ a.teorias.add(t1.nombre, &t1) ;
+ a.teorias.add(t2.nombre, &t2) ;
+ a.teorias.add(t3.nombre, &t3) ;
+ a.teorias.add(t4.nombre, &t4) ;
+#ifdef DEBUG
+ std::cout << "Agrega teoria: " << t1 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t1.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t1.datos_finales << "\n";
+ std::cout << "Agrega teoria: " << t2 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t2.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t2.datos_finales << "\n";
+ std::cout << "Agrega teoria: " << t3 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t3.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t3.datos_finales << "\n";
+ std::cout << "Agrega teoria: " << t4 << "\n";
+ std::cout << "\tdatos_iniciales:\n" << t4.datos_iniciales << "\n";
+ std::cout << "\tdatos_finales:\n" << t4.datos_finales << "\n";
+#endif // DEBUG
+