/* DISEGNO DELLE NAVICELLE SPAZIALI (solar_system.c) */ GLvoid insertEnemy(){ // FOR PER TUTTI I NEMICI numEnemyDraw=0; // se il numero di polizia è minore di 2 se ne disegna un'altra fuori dalla sfera dello sfondo // questo per evitare che i movimenti (laser, satelliti) siano troppo veloci me=g_camera.getPos(); for(int i=0;i<NUM_ENEMY;i++){ dist=distance(enemy[i].pos,me); if(dist<=DIST_RADAR && enemy[i].life>0){ //if(enemy[i].life>0){ setPosDir(&enemy[i]); // gli passo l'indirizzo di memoria dove sta quella variabile drawEnemy(enemyModel,enemy[i].pos,enemy[i].dir); numEnemyDraw++; //drawShield(enemy[i].pos,radShootEnemy); // sparo dei nemici if(enemy[i].dirCorr && abs(clock()-enemyClock)>=CLOCKS_PER_SEC*1) { newEnemyLaser(i); enemyClock=clock(); glutPostRedisplay(); } } } while (numEnemyDraw<2){ // disegno tante navette fuori dalla sfera dello sfondo extraPos=pointDir(me, g_camera.getUp(), 1200); drawEnemy(enemyModel,extraPos,g_camera.getUp()); numEnemyDraw++; } }
void display(void) { if (!ingame ) { Menu.drawMenu(); } else { //movements handling playerMovement();//player collisons handled inside this function enemyMovement(); //player drawing glPushAttrib(GL_CURRENT_BIT);//keeps players color from changing glColor4f(0.0, 1.0, 0.0,1.0); drawPlayer(); //enemy drawing for (int x=0; x<enemy_size; x++) drawEnemy(enemy[x].getPosition().x, enemy[x].getPosition().y,enemy[x].getRadius()); } glutSwapBuffers();//swap bufferes!!!! Important for animation // glFlush(); }
//-------------------------------------------------------------- void testApp::draw() { ofClear(50,30,30); ofSetColor(150, 100, 120); if ( !isEnemyDead() ) drawEnemy(); else drawDeadEnemy(); }
void drawEnemies(Level *level) { int i = 0; Enemy *currentEnemy; for(i = 0; i < level->enemyCount; i++) { currentEnemy = &(level->enemies[i]); if (currentEnemy->alive) { drawEnemy(currentEnemy->swarmPos.x, currentEnemy->swarmPos.y, currentEnemy->type); } } }
/* * for each enemy, if not dead, calls the draw enemy function using their relevant information */ void present_enemy(Display d) { EnemyGroup enemyList = getEnemyGroup(NULL); for(int i=1; i<=enemyList->numberOfEnemies; ++i) { Enemy e = enemyList->enemyArray[i]; if(!isDead(i)) { drawEnemy(e->x, e->y, e->width, e->height, 2010, 121, e->eType, 15, 200); drawRect(e->x, e->y -20, 0, 0, 80, 10, (double)e->health, (double)e->maxHealth); } } }
void Map::Draw() { _d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, COLOR_GREY, 1.0f, 0); drawRightMenu(); drawMap(); drawEagle(); BulletManager::getInstance()->Draw(); drawIce(); drawPlayer(); drawEnemy(); drawTrees(); drawPowerUp(); EffectManager::getInstance(0)->Draw(); if (_player->getLife() < 0 || _eagle->getEagleStatus() == EAGLE_STATUS::DEAD) { _text->drawText("GAME\nOVER", _posGameOverText, COLOR_RED, 30, DT_CENTER, 0, 2); } }
void drawEnemies() { for (int i=0; i<enemyCount[level]; i++) { if (!enemies[i]->isDead()) { drawEnemy(*enemies[i]); // Ideally we should be able to call increment and pass a level1 object but C++ arrays are silly. //printf("x, y, z %f,%f,%f - enemeypos %f, %f, %f\n", xPos, yPos, zPos, enemies[i]->getX(), enemies[i]->getY(), enemies[i]->getZ()); if (enemies[i]->checkCollission(xPos, yPos, zPos)) { if (sound) PlaySound(L"audio/killEnemy.wav",NULL,SND_FILENAME|SND_ASYNC); printf("\nlives--\n"); lives--; //enemies[i]->reverseDirection(); enemies[i]->kill(); enemiesLeft--; if (lives<0) { dead = true; } } enemies[i]->increment(lowerX, upperX, lowerZ, upperZ); } } }
int main() { srand (time (0)); sf::RenderWindow window (sf::VideoMode(480*0.5, 800*0.5), "Fighters"); window.setFramerateLimit(60); PASS = 1; Things::load (); Sound::load (); Text::load (); Sky sky; Hero hero; Sound::GAME_MUSIC.play (); while (window.isOpen()) { // check all the window's events that were triggered since the last iteration of the loop sf::Event event; while (window.pollEvent(event)) { // "close requested" event: we close the window if (event.type == sf::Event::Closed) window.close(); } // clear the window with black color window.clear( sf::Color::Black ); int test = 0; if ( hero.getRed() < -1 ) test = 1; switch ( test ) { case 1: sky.gameover ( window ); Sound::GAME_MUSIC.play (); break; case 0: if ( hero.getRed() > 0 ) { Game ( hero ); if ( timeNow > TIME-PASS*10 ) { timeNow = 0; sky.addEnemy ( enemy, PASS); } timeNow++; gapNow++; sky.heroGunRunInto ( hero, enemy ); } hero.gunMove (); sky.draw ( window, hero ); drawEnemy ( window ); break; } levelUp (); Text::outText ( window, hero.getRed(), PASS ); // end the current frame window.display(); } return 0; }
int main() { REG_DISPCNT = MODE3 | BG2_ENABLE; pl.y = 80; pl.oldy = pl.y; pl.x = 0; h2.x = 2; h2.oldx = h2.x; h2.y = 0; g.x = 219; for(int i = 0; i < 7; i++) { BAN[i].isbanana = 0; ENEMY[i].isenemy = 0; } while(!KEY_DOWN_NOW(BUTTON_START)) { drawImageSpray(0,0,160,240,bg); } drawRect(0,0,160,240,WHITE); gameon = 1; while(1) { if(gameon == 1) { drawBanana(); drawEnemy(); drawHeart(); drawImageSpray(0,219,20,20,monkeyW); drawHollowRect(0,0,20,239,RED); drawRect(pl.oldy,0,20,20,WHITE); drawImageSpray(pl.y,0,20,20,monkey); pl.oldy= pl.y; h2.oldx = h2.x; if(KEY_DOWN_NOW(BUTTON_UP)) { if(pl.y > 22) { pl.y = pl.y - 2; } } if(KEY_DOWN_NOW(BUTTON_DOWN)) { if(pl.y <= 138) { pl.y = pl.y + 2; } } if(h2.x <= 0) { gameon = 0; gameover(); } //if(h2.x >= 219) //{ // gameon = 0; //} waitForVblank(); colMonLog(); colMonBan(); colMonGoal(); } } }