Exemple #1
0
void BCBoard::setCellSize(qreal size)
{
    if (m_cellSize == size)
        return;
    m_cellSize = size;
    emit cellSizeChanged(m_cellSize);
    update();
}
void DColorPicker::setCellSize(int cellSize)
{
    if (m_cellSize == cellSize)
        return;

    m_cellSize = cellSize;
    resize();

    emit cellSizeChanged(cellSize);
}
Exemple #3
0
void BCBoard::init()
{
    foreach (const QList<BCItem *> &cells, m_cells)
        qDeleteAll(cells);
    m_cells.clear();

    qDeleteAll(m_enemyTanks);
    m_enemyTanks.clear();

    delete m_falcon;
    delete m_playerTank;

    const int size = m_boardSize * m_cellSize + 1;
    setImplicitWidth(size);
    setImplicitHeight(size);
    for (int row = 0; row < m_boardSize * 2; ++row) {
        QList<BCItem *> items;
        for (int column = 0; column < m_boardSize * 2; ++column) {
            BCGroud *cell = new BCGroud(this);
            connect(this, SIGNAL(cellSizeChanged(qreal)), cell, SLOT(setSize(qreal)));
            cell->setPosition(row, column);
            cell->setSize(obsticaleSize());
            items << cell;
        }
        m_cells << items;
    }

    m_playerTank = new BCPlayerTank(this);
    m_playerTank->setSize(m_cellSize);
    m_playerTank->setPosition(12, 4);

    m_falcon = new BCFalcon(this);
    m_falcon->setSize(m_cellSize);
    m_falcon->setPosition(12, 6);

    QList<BattleCity::TankType> tanks;
    tanks << BattleCity::Basic << BattleCity::Basic
          << BattleCity::Fast << BattleCity::Fast
          << BattleCity::Basic << BattleCity::Basic
          << BattleCity::Power << BattleCity::Power
          << BattleCity::Fast << BattleCity::Fast
          << BattleCity::Power << BattleCity::Power
          << BattleCity::Basic << BattleCity::Basic
          << BattleCity::Fast << BattleCity::Fast
          << BattleCity::Power << BattleCity::Power
          << BattleCity::Armor << BattleCity::Armor;

    for (quint8 i = 0; i < enemyTanksCount(); ++i) {
        BCEnemyTank *tank = createEnemyTank(tanks[i], this);
        tank->setSize(m_cellSize);
        tank->hide();
        if (i % 3 == 1) {
            tank->setPosition(0, 6);
        } else if (i % 3 == 2) {
            tank->setPosition(0, 12);
        }
        m_enemyTanks << tank;
    }

    m_enemyTanks[5]->setBonus(true);
    m_enemyTanks[11]->setBonus(true);
    m_enemyTanks[17]->setBonus(true);
}