void Element::draw(QPainter &painter, Images &images) const { switch (_type) { case Element::MINE_S: case Element::MINE_L: case Element::MINE_M: case Element::MINE_S_ON: case Element::MINE_L_ON: case Element::MINE_M_ON: case Element::MINE_EXPLO: painter.drawImage(_center, images.getImage(_type)); break; case Element::SHIP_1: case Element::SHIP_2: case Element::SHIP_3: case Element::SHIP_4: /* Draw shield */ if (shielded()) { DEBUG("Element::draw() Shield", false); painter.drawImage(QRect(QPoint(_center.x() - 20, _center.y() - 20),QSize(40,40)), images.getImage(Element::SHIELD, _angle)); } painter.drawImage(QRect(QPoint(_imageCenter .x(), _imageCenter.y()), QSize(32,32)) , images.getImage(_type, _angle)); break; case Element::SHOT: if(playSound()) QSound::play("sound/shot.wav"); DEBUG("Type : " << _type, false); painter.drawImage(QRect(QPoint(_center.x() - 10, _center.y() - 10), QSize(20, 20)), images.getImage(_type)); break; default: break; } }
void PlayerInfos::draw(QPainter &painter, Images &images) const { painter.setPen(_color); painter.setBrush(_brush); painter.drawText(_position, _pseudo); painter.drawText(_position.x(), _position.y() + 15, _scoreText); /* Draw lives */ for (quint32 i = 0; i < _lives; ++i) { painter.drawImage (_position.x() + i * 24, _position.y() + 25, images.getImage(Element::LIVE)); } }