e->inicializar() ;
// Inicializo las teorias
- CTeoria t1("Avanzar", "avanzar", 1, 1) ;
+ CTeoria* pt1 = new CTeoria("Avanzar", "avanzar", 1, 1) ;
+ CTeoria& t1 = *pt1;
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_finales.add ("robot.avanzo_derecha", 0) ;
t1.datos_finales.add ("robot.avanzo_izquierda", 0) ;
-
- CTeoria t2("Retroceder", "retroceder", 1, 1) ;
+ CTeoria* pt2 = new CTeoria("Retroceder", "retroceder", 1, 1) ;
+ CTeoria& t2 = *pt2;
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_finales.add ("robot.avanzo_izquierda", 0) ;
- CTeoria t3("Derecha", "derecha", 1, 1) ;
+ CTeoria* pt3 = new CTeoria("Derecha", "derecha", 1, 1) ;
+ CTeoria& t3 = *pt3;
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_finales.add ("robot.avanzo_izquierda", 0) ;
- CTeoria t4("Eludir.1", "derecha", 1, 1) ;
+ CTeoria* pt4 = new CTeoria("Eludir.1", "derecha", 1, 1) ;
+ CTeoria& t4 = *pt4;
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_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) ;
+ a.teorias.add(t1.nombre, pt1) ;
+ a.teorias.add(t2.nombre, pt2) ;
+ a.teorias.add(t3.nombre, pt3) ;
+ a.teorias.add(t4.nombre, pt4) ;
#ifdef DEBUG
std::cout << "Agrega teoria: " << t1 << "\n";
std::cout << "\tdatos_iniciales:\n" << t1.datos_iniciales << "\n";
for (int i = 0; i < 3; ++i)
{
-
- std::cout << "Teorias:\n" << a.teorias << "\n";
-
a.plan();
-
-
while (a.has_next_theory())
{
CTeoria* t = a.get_next_theory();
break;
}
}
-
}
return 0 ;