Пример #1
0
void gameInit(void) {
	centerPlayer();
	killRocks();
	killBullets();
	killEnemies();
	killExplosions();
}
Пример #2
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    timer = new QTimer();
    ui->glWidget->setMainWindow(this);

    /// Collision interpretation modes.
    ui->optionCollisionCombo->clear();
    ui->optionCollisionCombo->addItem(tr("All collisions"));
    ui->optionCollisionCombo->addItem(tr("First collision"));
    ui->optionCollisionCombo->setCurrentIndex(0);

    /// Character shapes display options.
    ui->optionShowPlayerSolidCombo->clear();
    ui->optionShowPlayerSolidCombo->addItem(tr("Hide"));
    ui->optionShowPlayerSolidCombo->addItem(tr("Wireframe"));
    ui->optionShowPlayerSolidCombo->addItem(tr("Fill"));
    ui->optionShowPlayerSolidCombo->setCurrentIndex(0);

    /// Object shapes display options.
    ui->optionShowObjectSolidCombo->clear();
    ui->optionShowObjectSolidCombo->addItem(tr("Wireframe"));
    ui->optionShowObjectSolidCombo->addItem(tr("Fill"));
    ui->optionShowObjectSolidCombo->setCurrentIndex(0);

    /// Character shapes for physical model.
    ui->optionPlayerShapeCombo->clear();
    ui->optionPlayerShapeCombo->addItem(tr("Point"));
    ui->optionPlayerShapeCombo->addItem(tr("Line segment"));
    ui->optionPlayerShapeCombo->addItem(tr("Triangle"));
    ui->optionPlayerShapeCombo->setCurrentIndex(1);

    /// Application logic criterias.
    ui->optionCriteriaCombo->clear();
    ui->optionCriteriaCombo->addItem(tr("Consider all objects"));
    ui->optionCriteriaCombo->addItem(tr("Consider other than green objects"));
    ui->optionCriteriaCombo->addItem(tr("Consider green objects only"));
    ui->optionCriteriaCombo->setCurrentIndex(0);

    /// connections - comboboxes
    connect(ui->optionCollisionCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(collisionModeChanged()));
    connect(ui->optionCriteriaCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(collisionModeChanged()));
    connect(ui->optionShowPlayerSolidCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(optionsFromGui()));
    connect(ui->optionShowObjectSolidCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(optionsFromGui()));
    connect(ui->optionPlayerShapeCombo,SIGNAL(currentIndexChanged(int)), this, SLOT(collisionMeshChanged()));

    /// connections - buttons
    connect(ui->optionVectorCheck,SIGNAL(clicked()), this, SLOT(optionsFromGui()));
    connect(ui->optionPlaneCheck,SIGNAL(clicked()), this, SLOT(optionsFromGui()));
    connect(ui->playerPosCenterButton,SIGNAL(clicked()), this, SLOT(centerPlayer()));

    /// connections - edits
    connect(ui->playerPosXEdit,SIGNAL(textChanged(QString)), this, SLOT(playerPosFromGui()));
    connect(ui->playerPosYEdit,SIGNAL(textChanged(QString)), this, SLOT(playerPosFromGui()));
    connect(ui->playerPosZEdit,SIGNAL(textChanged(QString)), this, SLOT(playerPosFromGui()));
    connect(ui->playerPosRadEdit,SIGNAL(valueChanged(double)), this, SLOT(playerPosFromGui()));
    connect(ui->optionVectorLengthEdit,SIGNAL(valueChanged(double)), this, SLOT(playerPosFromGui()));
    connect(ui->optionVectorBackEdit,SIGNAL(valueChanged(double)), this, SLOT(playerPosFromGui()));

    /// connections - menu actions
    connect(ui->actionExit,SIGNAL(triggered()), this, SLOT(close()));
    connect(ui->actionAbout,SIGNAL(triggered()), this, SLOT(about()));
    connect(ui->actionAboutQt,SIGNAL(triggered()), qApp, SLOT(aboutQt()));
    connect(ui->actionLoad,SIGNAL(triggered()), this, SLOT(loadSituation()));
    connect(ui->actionSave,SIGNAL(triggered()), this, SLOT(saveSituation()));
    connect(ui->actionCaptureSituation,SIGNAL(triggered()), this, SLOT(captureSituation()));
    connect(ui->actionPlaySequence,SIGNAL(triggered()), this, SLOT(playSequence()));
    connect(ui->actionToFirstSituation,SIGNAL(triggered()), this, SLOT(toFirstSituation()));
    connect(ui->actionNextSituation,SIGNAL(triggered()), this, SLOT(nextSituation()));
    connect(ui->actionPreviousSituation,SIGNAL(triggered()), this, SLOT(previousSituation()));

    /// connections - timer timeout
    connect(timer, SIGNAL(timeout()), this, SLOT(sequenceTimeout()));

    /// connections - from glWidget
    connect(ui->glWidget, SIGNAL(playerPosChanged()), this, SLOT(playerPosToGui()));
    connect(ui->glWidget, SIGNAL(glInitialized()), this, SLOT(collisionModeChanged()));

    ui->collisionTree->header()->resizeSections(QHeaderView::ResizeToContents);
    optionsFromGui();
}