DEM red1 (DEM x, int red_arg) { DEM d; int i; trace_dem ("red1", x); if (red_arg != 0 && red_arg != 1) printf (" ERROR %d ", red_arg); for (i=0; i<nnr; i++) { /* printf ("i=%d\n", i); */ trace_dem ("", no_red[i]); trace_dem ("", x); if (no_red[i] == x) return x; } if (used == NULL && x->_red[red_arg] != NULL) return x->_red[red_arg]; else { d = red2 (x, red_arg); trace_dem ("red1 ", x); trace_dem ("red1 returns", d); if (used == NULL) x->_red[red_arg] = d; return d; } }
int main(int argc, char *argv[]){ ////// start generatora liczb losowych //// srand(time(0) + getpid()); /// /////////////////////////////////////////// //if (argc==1 && strcmp(argv[1],"-d")==0) log4cxx::PropertyConfigurator::configure("../config/log4cxx.properties"); //AI robotAI2(AppConfig::instance().team2[0], TEAM2); VideoServer::instance().update(); Robot red0(AppConfig::instance().team1[0], TEAM1); Robot red1(AppConfig::instance().team1[1], TEAM1); Robot red2(AppConfig::instance().team1[2], TEAM1); Robot red3(AppConfig::instance().team1[3], TEAM1); Robot blue0(AppConfig::instance().team2[0], TEAM2); Robot blue1(AppConfig::instance().team2[1], TEAM2); Robot blue2(AppConfig::instance().team2[2], TEAM2); Robot blue3(AppConfig::instance().team2[3], TEAM2); while(true){ //cout<<"Update\n"; VideoServer::instance().update(); // VideoServer::instance().display(); red0.makeMove(); // red1.makeMove(); // red2.makeMove(); // red3.makeMove(); // // // blue0.makeMove(); // blue1.makeMove(); // blue2.makeMove(); // blue3.makeMove(); /*Vector2d dest(2,2); Vector2d res; std::cout<<"Planning start\n"; clock_t t1 = clock(); for (long i = 0; i < 1000000; i++){ RRT2 rrt2(AppConfig::instance().team1[0]); rrt2.plan(dest, res); } clock_t t2 = (double) clock() - t1; std::cout<<"Time: "<<(double)t2 / CLOCKS_PER_SEC<<std::endl;*/ } cout<<"While is broken\n"; // // RRTTree rrtTree; // // rrtTree.addNode(Vector2d(0,0), 0); // rrtTree.addNode(Vector2d(2,3), rrtTree.getRoot()); // RRTTreeNode * tmp = rrtTree.addNode(Vector2d(1,0), rrtTree.getRoot()); // rrtTree.addNode(Vector2d(2,1), tmp); // rrtTree.addNode(Vector2d(2,2), tmp); // // RRTTreeNode * node = rrtTree.findNearest(Vector2d(3,3)); // std::cout<<"Nearest: \n"; // std::cout<<node->position<<std::endl; /*GameState gameState("../config/models.xml"); gameState.update(); gameState.display(); std::cout<<"Robot r:\n"; Robot r("omni_red0",TEAM_1, &gameState); LOG4CXX_DEBUG(logger, "( ** START ** ) "); LOG4CXX_DEBUG(logger, "Start time: "<< SimControl::getInstance().getSimTime()); while(true){ //update stanu gry if (gameState.update()) // gameState.display(); r.doTest(); // else usleep(100); //w zaleznosci od stanu gry -> decyzje arbitra //gol -> restart //aut -> ustawienie pilki itp //algorytm robota, oceniajacy stan gry i obliczajacy mozliwe posuniecia //dla kazdego z robotow z mojej druzyny - > obliczanie ruchow //ruch robotow przeciwnika }*/ }
void iniciar(int cantidadDeMensajes){ int laCantidadDeDatosPorBridge=cantidadDeDatosPorBridge(cantidadDeMensajes); printf("laCantidadDeDatosPorBridge: %d\n", laCantidadDeDatosPorBridge); LAN red1(1); LAN red2(2); LAN red3(3); LAN red4(4); LAN red5(5); int dirsB1[16]={0,0,0,0, 1,1,1,1, 2,2,2,2, 2,2,2,2}; int dirsB2[16]={2,2,2,2, 2,2,2,2 ,0,0,0,0, 1,1,1,1}; Bridge B1 (1,&red1,&red2,&red5,dirsB1); Bridge B2 (2,&red3,&red4,&red5,dirsB2); B1.start(); B2.start(); //red1 Equipo a(1,&red1); Equipo b(2,&red1); Equipo c(3,&red1); Equipo d(4,&red1); //red2 Equipo e(5,&red2); Equipo f(6,&red2); Equipo g(7,&red2); Equipo h(8,&red2); //red3 Equipo i(9,&red3); Equipo j(10,&red3); Equipo k(11,&red3); Equipo l(12,&red3); //red4 Equipo m(13,&red4); Equipo n(14,&red4); Equipo o(15,&red4); Equipo p(16,&red4); //return; a.start(cantidadDeMensajes); b.start(cantidadDeMensajes); c.start(cantidadDeMensajes); d.start(cantidadDeMensajes); e.start(cantidadDeMensajes); f.start(cantidadDeMensajes); g.start(cantidadDeMensajes); h.start(cantidadDeMensajes); i.start(cantidadDeMensajes); j.start(cantidadDeMensajes); k.start(cantidadDeMensajes); l.start(cantidadDeMensajes); m.start(cantidadDeMensajes); n.start(cantidadDeMensajes); o.start(cantidadDeMensajes); p.start(cantidadDeMensajes); a.wait(); b.wait(); c.wait(); d.wait(); e.wait(); f.wait(); g.wait(); h.wait(); i.wait(); j.wait(); k.wait(); l.wait(); m.wait(); n.wait(); o.wait(); p.wait(); }