Esempio n. 1
0
/* 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++;
	}
}
Esempio n. 2
0
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();
}
Esempio n. 3
0
//--------------------------------------------------------------
void testApp::draw()
{
	ofClear(50,30,30);
	ofSetColor(150, 100, 120);
	if ( !isEnemyDead() )
		drawEnemy();	
	else
		drawDeadEnemy();
}
Esempio n. 4
0
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); 
		}
	}
}
Esempio n. 5
0
/*
* 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);
        }
    }
}
Esempio n. 6
0
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);
        }
    }
}
Esempio n. 8
0
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;
}
Esempio n. 9
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();
	}
	}
}