Asteroid::Asteroid() : m_StartPosition(getRandomPosition()) , m_Velocity(getRandomVelocity()) , m_RotationSpeed(getRandomRotationSpeed()) , m_Speed(getRandomSpeed()) , m_Type(getRandomType()) , m_HasBeenStruck(false) { setupSprite(); setupShape(); }
Asteroid::Asteroid(const glm::vec2& position, AsteroidType::Type type) : m_StartPosition(position) , m_Velocity(getRandomVelocity() * SUB_ASTEROID_VELOCITY_FACTOR) , m_RotationSpeed(getRandomRotationSpeed() * SUB_ASTEROID_ROTATION_SPEED_FACTOR) , m_Speed(getRandomSpeed() * SUB_ASTEROID_SPEED_FACTOR) , m_Type(type) , m_HasBeenStruck(false) { setupSprite(); setupShape(); }
Particle::Particle(int numberOfApsDeployed, int maxSpeed) { //qsrand((uint)QTime::currentTime().msec()); // asignar el valor unico del identificador del individuo particleId = Simulation::getNewParticleId(); // se deben crear los 33 parametros // C1,Min1,Max1,AP1,C2,Min2,Max2,AP2,...,C11,Min11,Max11,AP11 // base de datos sqlite //QString database("/home/antonio/Copy/2014/pgcomp/ia/gridCells/gridCells/test_18.1.db"); //QString database("/home/antonio/desarrollo/iaa/git/omocac/test_18.1.db"); QString database("test_18.1.db"); // tipo de experimento para extraer las muestras: full -> full scanning QString experiment("full"); Scan scan(database.toStdString(),experiment.toStdString()); scan.init(); //Scan::ScanResults results = scan.execute(11, 10, 30); Scan::ScanResults results; std::cout << results.size() << " results: " << std::endl; int randomChannel = 0; double minChannelTime = 0; double maxChannelTime = 0; for (int i=0; i<11; i++) { randomChannel = getRandomChannel(); parametersList.append(randomChannel); minChannelTime = getRandomMinChannelTime(); maxChannelTime = getRandomMaxChannelTime(); parametersList.append(minChannelTime); parametersList.append(maxChannelTime); //parametersList.append(getAPNumberOnChannel(numberOfApsDeployed, randomChannel)); //qDebug("**channel: %d, min: %f, max: %f",randomChannel, minChannelTime, maxChannelTime); results = scan.execute(randomChannel, minChannelTime, maxChannelTime); //qDebug("**numero de APs encontrados en el canal %d: %d",randomChannel, results.size()); //std::cout << " numero de APs encontrados en el canal: " << randomChannel << ": " << results.size() << std::endl; //qDebug("**scan.execute(%d, %f, %f)=%d",randomChannel, minChannelTime, maxChannelTime, results.size()); parametersList.append(results.size()); wonMatchesCounter = 0; } // lista de velocidades por parametro // ... for (int i=0; i<44; i++) { velocitityList.append(getRandomSpeed(maxSpeed)); } // calcular el valor de desempeno para el individuo calculatePerformanceValue(); // calcular el valor de desempeno para la descubierta //setPerformanceDiscovery(getRandomMaxChannelTime()); calculateDiscoveryValue(); // calcular el valor de desempeno para la latencia //setPerformanceLatency(getRandomMaxChannelTime()); calculateLatencyValue(); // inicializar el diccionario de canales utilizados en el vuelo en falso for (int i=1; i<=11;i++) { channelsUsedForFly[i]=false; } }