Esempio n. 1
0
void Pong::drawScores(int s1, int s2)
{
   CL_FontDescription scoreFont_desc;
   scoreFont_desc.set_typeface_name("Verdana");
   scoreFont_desc.set_height(80);
   CL_Font_System scoreFont(app->getGC(), scoreFont_desc);

   TGString txt = TGString(s1) + " : " + s2;
   CL_Size scoreSize = scoreFont.get_text_size(app->getGC(), txt);
   CL_Pointf scoreLeftPos((Application::x_res - scoreSize.width) / 2, scoreSize.height);
   scoreFont.draw_text(app->getGC(), scoreLeftPos, txt, CL_Colorf::black);
}
Esempio n. 2
0
void Bakoom::paintEvent(QPaintEvent *event)
{
	QPainter painter(this);

    if(gameOver_)
	{
        QFont font("Arial", 10, QFont::DemiBold);
        int text_x = 0; int text_y = windowHeight/4;
        painter.setFont(font);
        painter.setPen(Qt::white);
        painter.drawText(text_x,text_y,windowWidth,16,Qt::AlignCenter,"You were eaten alive by the Bruins :-(");
        text_y += 70;
        painter.drawText(text_x,text_y,windowWidth,16,Qt::AlignCenter,"Final score: " + QString::number(score));
        text_y += 70;
        painter.drawText(text_x,text_y,windowWidth,16,Qt::AlignCenter,"Press [R] to Restart");
        text_y += 70;
        painter.drawText(text_x,text_y,windowWidth,16,Qt::AlignCenter,"(You keep your stuff)");
	}
	else
    {
        QRect healthRect, powerRect;
        QFont scoreFont("Arial", 8, QFont::Normal);
        QFont noAmmo("Arial",16, QFont::Normal);
        // draw scenery
        for(int i = 0; i < scenery_.size(); i++)
            painter.drawImage(scenery_.at(i)->getRect(), scenery_.at(i)->getImage());
        // draw enemies and enemy health
        for(int i = 0; i < enemies_.size(); i++)
		{
            painter.drawImage(enemies_.at(i)->getRect(), enemies_.at(i)->getImage());
                healthRect.setX(enemies_.at(i)->getRect().x());
                healthRect.setY(enemies_.at(i)->getRect().y()-15);
                healthRect.setWidth(enemies_.at(i)->getRect().width());
				healthRect.setHeight(8);
			painter.setBrush(Qt::NoBrush);
            painter.setPen(enemies_.at(i)->getHealthBarBorderColor());
			painter.drawRect(healthRect);
                healthRect.setWidth(enemies_.at(i)->getRect().width()*enemies_.at(i)->getHealth()/enemies_.at(i)->getMaxHealth());
            painter.setBrush(enemies_.at(i)->getHealthBarColor());
			painter.setPen(Qt::NoPen);
			painter.drawRect(healthRect);
		}
        // draw medipaks
        for(int i = 0; i < medipaks_.size(); i++)
            painter.drawImage(medipaks_.at(i)->getRect(), medipaks_.at(i)->getImage());
        // draw credits
        for(int i = 0; i < credits_.size(); i++)
            painter.drawImage(credits_.at(i)->getRect(), credits_.at(i)->getImage());
        // draw projectiles
        for(int i = 0; i < projectiles_.size(); i++)
            painter.drawImage(projectiles_.at(i)->getRect(), projectiles_.at(i)->getImage());
        // draw player
        painter.drawImage(player_ ->getRect(), player_ ->getImage());
        // draw bubble shield
        if(bubbleShield_->isActivated()) painter.drawImage(QRect(player_ ->getRect().x()-18, player_ ->getRect().y()-25,
            bubbleShield_->getRect().width(), bubbleShield_->getRect().height()), bubbleShield_->getImage());
        // draw score, credits, ammo
        painter.setFont(scoreFont);
        painter.setPen(Qt::white);
        painter.drawText(10,10,200,16,Qt::AlignLeft,"Score: " + QString::number(score));
        painter.setPen(Qt::yellow);
        painter.drawText(10,24,200,16,Qt::AlignLeft,"Credits: " + QString::number(credits));
        if(ammunition_[currentWeapon_] > 0) painter.setPen(Qt::white);
        else painter.setPen(Qt::red);
        painter.drawText(10,38,200,16,Qt::AlignLeft,"Ammo: " + QString::number(ammunition_[currentWeapon_]));
        // draw NO AMMO message
        if(ammunition_[currentWeapon_] <= 0 && clock() % 100 < 50)
        {
            painter.setFont(noAmmo);
            painter.setPen(Qt::red);
            painter.drawText(0,windowHeight/2,windowWidth,30,Qt::AlignCenter,"NO AMMO! SWITCH WEAPONS!");
        }
        // draw player health
            healthRect.setX(windowWidth-206);
			healthRect.setY(10);
			healthRect.setWidth(196);
			healthRect.setHeight(24);
		painter.setBrush(Qt::NoBrush);
        painter.setPen(player_ ->getHealthBarBorderColor());
		painter.drawRect(healthRect);
            healthRect.setWidth(196*player_ ->getHealth()/player_ ->getMaxHealth());
        painter.setBrush(player_ ->getHealthBarColor());
		painter.setPen(Qt::NoPen);
		painter.drawRect(healthRect);
        // draw player power
            powerRect.setX(windowWidth-206);
            powerRect.setY(36);
            powerRect.setWidth(196);
            powerRect.setHeight(8);
        painter.setBrush(Qt::NoBrush);
        painter.setPen(player_ ->getPowerBarBorderColor());
        painter.drawRect(powerRect);
            powerRect.setWidth(196*player_ ->getPower()/player_ ->getMaxPower());
        painter.setBrush(player_ ->getPowerBarColor());
        painter.setPen(Qt::NoPen);
        painter.drawRect(powerRect);
        // draw lower UI
        painter.setBrush(Qt::gray);
        painter.drawRect(0,windowHeight-lowerUIHeight,windowWidth,lowerUIHeight);
        // draw weapon icons
        int icon_x = 10; int icon_y = windowHeight-lowerUIHeight+10;
        int offset = 40;
        painter.drawImage(icon_x,icon_y,QImage(":img/icon_bullet450SMC.png"));
        if(currentWeapon_ == 0) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[1]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_bullet25mm.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 1) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[5]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_redLaser.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 5) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[6]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_yellowLaser.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 6) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[7]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_blueLaser.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 7) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[9]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_hydraMissile.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 9) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[10]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_miniNuke.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 10) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[13]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_plasmaSpike.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 13) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[14]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_plasmaBomb.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 14) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[18]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_teslaCoil.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 18) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
        if(hasItem[19]) painter.drawImage(icon_x,icon_y,QImage(":img/icon_railgun.png"));
        else painter.drawImage(icon_x,icon_y,QImage(":img/icon_locked.png"));
        if(currentWeapon_ == 19) painter.drawImage(icon_x,icon_y,QImage(":img/icon_selection.png"));
        icon_x += offset;
    }
}