void PmpComponentManager::negotiateRole() { LOG4CPLUS_TRACE_METHOD(mLogger, __PRETTY_FUNCTION__ ); genRandomNumber(); mInteractionProtocol->sessionProtocol()->sendNegotiateNumber(mRoleNubmer); }
KDL::JntArray KDLArmKinematicsPlugin::getRandomConfiguration() { KDL::JntArray jnt_array; jnt_array.resize(dimension_); for(unsigned int i=0; i < dimension_; i++) jnt_array(i) = genRandomNumber(joint_min_(i),joint_max_(i)); return jnt_array; }
void SideScroller::Update(float elapsed) { if (state == STATE_TITLE) { return; } else if (state == STATE_GAME) { if (enemySpawnTimer > 0.8f && enemies.size() < 50) { Enemy* tempEnemy = new PewRunner(tex); tempEnemy->y = player->y + 4.0f; tempEnemy->x = player->x + 10.0f; tempEnemy->setScale(2.5f); if (genRandomNumber(0.0f, 1.0f) > 0.93f) { //Grant him knighthood tempEnemy->hp += 30; Weapon* weapon = new Weapon(tex); weapon->changeWeapon(SWORD); tempEnemy->equip(weapon); entities.push_back(weapon); } tempEnemy->setWalkLeft(0.8f); enemies.push_back(tempEnemy); entities.push_back(tempEnemy); enemySpawnTimer = genRandomNumber(0.0f, 0.75f); } for (size_t i = 0; i < entities.size(); i++) { entities[i]->Update(elapsed); } for (size_t i = 0; i < projectiles.size(); i++) { projectiles[i]->Update(elapsed); } enemySpawnTimer += elapsed; } }
Asteroids::Asteroids() { Init(); srand(time(NULL)); done = false; lastFrameTicks = 0.0f; timeLeftOver = 0.0f; gravity_x = 0.0f; gravity_y = 0.0f; bulletIndex = 0; shootTimer = 0.1f; spriteSheetTexture = LoadTexture("sheet.png"); bulletSprite = SheetSprite(spriteSheetTexture, 425.0f / 1024.0f, 468.0f / 1024.0f, 93.0f / 1024.0f, 84.0f / 1024.0f); SheetSprite playerSprite = SheetSprite(spriteSheetTexture, 425.0f / 1024.0f, 468.0f / 1024.0f, 93.0f / 1024.0f, 84.0f / 1024.0f); player = new Player(); player->sprite = playerSprite; player->scale_x = 1.0f; player->scale_y = 1.0f; player->x = 0.0f; player->y = 0.0f; player->friction_x = 3.0f; player->friction_y = 3.0f; entities.push_back(player); SheetSprite asteroidSprite = SheetSprite(spriteSheetTexture, 224.0f / 1024.0f, 664.0f / 1024.0f, 101.0f / 1024.0f, 84.0f / 1024.0f); for (int i = 0; i < 20; i++) { Entity* asteroid = new Entity(); asteroid->sprite = asteroidSprite; float scale = genRandomNumber(0.7f, 1.5f); asteroid->scale_x = scale; asteroid->scale_y = scale; asteroid->x = genRandomNumber(-1.33f, 1.33f); asteroid->y = genRandomNumber(-1.0f, 1.0f); asteroid->rotation = genRandomNumber(-90.0f, 90.0f); asteroid->velocity_x = genRandomNumber(-0.15f, 0.15f); asteroid->velocity_y = genRandomNumber(-0.15f, 0.15f); entities.push_back(asteroid); } ParticleEmitter demoParticles(300); demoParticles.maxLifetime = 1.0f; demoParticles.position = Vector(0.0f, 0.5f, 0.0f); demoParticles.velocity = Vector(0.8f, 0.5f, 0.0f); demoParticles.velocityDeviation = Vector(0.5f, 1.5f, 0.0f); particleEmitters.push_back(demoParticles); gunshot = Mix_LoadWAV("gunshot.wav"); music = Mix_LoadMUS("music.wav"); if (Mix_PlayMusic(music, -1) < 0) { cout << "Error"; } }
void Asteroids::FixedUpdate(float fixedElapsed) { player->scale_y = mapValue(fabs(player->velocity_y), 0.0, 5.0, 1.0, 1.6); player->scale_x = mapValue(fabs(player->velocity_y), 5.0, 0.0, 0.8, 1.0); for (size_t i = 0; i < entities.size(); i++) { entities[i]->FixedUpdate(); if (!entities[i]->isStatic) { entities[i]->velocity_x += gravity_x * FIXED_TIMESTEP; entities[i]->velocity_y += gravity_y * FIXED_TIMESTEP; } entities[i]->velocity_x = lerp(entities[i]->velocity_x, 0.0f, FIXED_TIMESTEP * entities[i]->friction_x); entities[i]->velocity_y = lerp(entities[i]->velocity_y, 0.0f, FIXED_TIMESTEP * entities[i]->friction_y); entities[i]->velocity_x += entities[i]->acceleration_x * FIXED_TIMESTEP; entities[i]->velocity_y += entities[i]->acceleration_y * FIXED_TIMESTEP; if (!entities[i]->isStatic) { for (size_t j = 0; j < entities.size(); j++) { if (checkCollision(entities[i], entities[j])) { Vector distance = Vector(entities[i]->x - entities[j]->x, entities[i]->y - entities[j]->y, 0.0f); float distLength = distance.length(); distance.normalize(); entities[i]->x += distance.x * 0.0001f / pow(distLength, 2); entities[i]->y += distance.y * 0.0001f / pow(distLength, 2); entities[j]->x -= distance.x * 0.0001f / pow(distLength, 2); entities[j]->y -= distance.y * 0.0001f / pow(distLength, 2); } } } entities[i]->y += entities[i]->velocity_y * -cos(entities[i]->rotation) * FIXED_TIMESTEP; entities[i]->x += entities[i]->velocity_x * sin(entities[i]->rotation) * FIXED_TIMESTEP; } for (int i = 1; i < entities.size(); i++) { //enemy gets hit for (int k = 0; k < MAX_BULLETS; k++) { if (bullets[k].visible && checkCollision(entities[i], &bullets[k]) ) { bullets[k].visible = false; ParticleEmitter demoParticles(300); demoParticles.maxLifetime = 1.0f; demoParticles.position = Vector(entities[i]->x, entities[i]->y, 0.0f); demoParticles.velocity = Vector(sin(player->rotation)*bullets[k].velocity_x/2, -cos(player->rotation)*bullets[k].velocity_y/2, 0.0f); demoParticles.velocityDeviation = Vector(0.5f, 1.5f, 0.0f); particleEmitters.push_back(demoParticles); particleEmitters.back().trigger(); if (entities[i]->scale_x < 1.0f) { delete entities[i]; entities.erase(entities.begin() + i); break; } else { entities[i]->scale_x = entities[i]->scale_x * 0.67; entities[i]->scale_y = entities[i]->scale_y * 0.67; entities[i]->rotation = genRandomNumber(-90.0f, 90.0f); } } } } }