Beispiel #1
0
GameScene::GameScene    (DNDGame* game  ) :

    DNDScene(game, L"GameScene", PBSize(800, 480))
{

}
Beispiel #2
0
/**
 * @fn SeanceDlg::SeanceDlg(QWidget *parent, Seance *seance)
 * @brief Constructeur paramétré
 *
 * Ce constructeur pemet de définir l'organisation des widgets
 * de l'onglet Manuel et de créer les slots permettant de
 * modifier les valeurs des paramètres de la séance.
 *
 * @param parent[in] Pointeur sur le widget parent
 * @param seance[in] Pointeur sur l'instance de la classe Seance
 */
SeanceDlg::SeanceDlg(QWidget *parent, Seance *seance) : QWidget(parent), pSeance(seance)
{
    QSize LESize(70, 50),
          PBSize(60, 50);

    QFont LEFont("MS Shell Dlg 2", 28),
          GBFont("Arial", 11),
          PBSeanceFont("Arial", 11, 75),
          PBPlusFont("MS Shell Dlg 2", 18),
          PBMoinsFont("MS Shell Dlg 2", 26);

    params = new QSettings(QApplication::applicationDirPath() + "/seance.ini", QSettings::IniFormat);

    GBPv = new QGroupBox("PETITE VITESSE");
    GBPv->setFont(GBFont);

        LEPv = new QLineEdit(params->value("seance/PV", 5).toString());
        LEPv->setMaximumSize(LESize);
        LEPv->setFont(LEFont);
        LEPv->setAlignment(Qt::AlignHCenter);
        LEPv->setReadOnly(true);

        PBPvPlus = new QPushButton("+");
        PBPvPlus->setFont(PBPlusFont);
        PBPvPlus->setMaximumSize(PBSize);
        PBPvPlus->setCursor(Qt::PointingHandCursor);

        PBPvMoins = new QPushButton("-");
        PBPvMoins->setFont(PBMoinsFont);
        PBPvMoins->setMaximumSize(PBSize);
        PBPvMoins->setCursor(Qt::PointingHandCursor);

        GLPv = new QGridLayout(GBPv);
        GLPv->addWidget(LEPv, 0, 0, 2, 1);
        GLPv->addWidget(PBPvPlus, 0, 1);
        GLPv->addWidget(PBPvMoins, 1, 1);
        GBPv->setLayout(GLPv);

    GBGv = new QGroupBox("GRANDE VITESSE");
    GBGv->setFont(GBFont);

        LEGv = new QLineEdit(params->value("seance/GV", 5).toString());
        LEGv->setMaximumSize(LESize);
        LEGv->setFont(LEFont);
        LEGv->setAlignment(Qt::AlignHCenter);
        LEGv->setReadOnly(true);

        PBGvPlus = new QPushButton("+");
        PBGvPlus->setFont(PBPlusFont);
        PBGvPlus->setMaximumSize(PBSize);
        PBGvPlus->setCursor(Qt::PointingHandCursor);

        PBGvMoins = new QPushButton("-");
        PBGvMoins->setFont(PBMoinsFont);
        PBGvMoins->setMaximumSize(PBSize);
        PBGvMoins->setCursor(Qt::PointingHandCursor);

        GLGv = new QGridLayout(GBGv);
        GLGv->addWidget(LEGv, 0, 0, 2, 1);
        GLGv->addWidget(PBGvPlus, 0, 1);
        GLGv->addWidget(PBGvMoins, 1, 1);
        GBGv->setLayout(GLGv);

    GBTempsPeche = new QGroupBox("TEMPS DE PECHE");
    GBTempsPeche->setFont(GBFont);

        LETempsPeche = new QLineEdit(params->value("seance/TempsPeche", 60).toString());
        LETempsPeche->setMaximumSize(LESize);
        LETempsPeche->setFont(LEFont);
        LETempsPeche->setAlignment(Qt::AlignHCenter);
        LETempsPeche->setReadOnly(true);

        PBTempsPechePlus = new QPushButton("+");
        PBTempsPechePlus->setFont(PBPlusFont);
        PBTempsPechePlus->setMaximumSize(PBSize);
        PBTempsPechePlus->setCursor(Qt::PointingHandCursor);

        PBTempsPecheMoins = new QPushButton("-");
        PBTempsPecheMoins->setFont(PBMoinsFont);
        PBTempsPecheMoins->setMaximumSize(PBSize);
        PBTempsPecheMoins->setCursor(Qt::PointingHandCursor);

        LBTempsPeche = new QLabel("MINUTES");

        vboxTempsPeche = new QVBoxLayout;
        vboxTempsPeche->addWidget(LETempsPeche);
        vboxTempsPeche->addWidget(LBTempsPeche);

        GLTempsPeche = new QGridLayout(GBTempsPeche);
        GLTempsPeche->addLayout(vboxTempsPeche, 0, 0, 2, 1, Qt::AlignVCenter);
        GLTempsPeche->addWidget(PBTempsPechePlus, 0, 1);
        GLTempsPeche->addWidget(PBTempsPecheMoins, 1, 1);
        GBTempsPeche->setLayout(GLTempsPeche);

    GBTempsVidange = new QGroupBox("TEMPS DE VIDANGE");
    GBTempsVidange->setFont(GBFont);

        LETempsVidange = new QLineEdit(params->value("seance/TempsVidange", 10).toString());
        LETempsVidange->setMaximumSize(LESize);
        LETempsVidange->setFont(LEFont);
        LETempsVidange->setAlignment(Qt::AlignHCenter);
        LETempsVidange->setReadOnly(true);

        PBTempsVidangePlus = new QPushButton("+");
        PBTempsVidangePlus->setFont(PBPlusFont);
        PBTempsVidangePlus->setMaximumSize(PBSize);
        PBTempsVidangePlus->setCursor(Qt::PointingHandCursor);

        PBTempsVidangeMoins = new QPushButton("-");
        PBTempsVidangeMoins->setFont(PBMoinsFont);
        PBTempsVidangeMoins->setMaximumSize(PBSize);
        PBTempsVidangeMoins->setCursor(Qt::PointingHandCursor);

        LBTempsVidange = new QLabel("SECS");
        LBTempsVidange->setAlignment(Qt::AlignCenter);

        vboxTempsVidange = new QVBoxLayout;
        vboxTempsVidange->addWidget(LETempsVidange);
        vboxTempsVidange->addWidget(LBTempsVidange);

        GLTempsVidange = new QGridLayout(GBTempsVidange);
        GLTempsVidange->addLayout(vboxTempsVidange, 0, 0, 2, 1, Qt::AlignVCenter);
        GLTempsVidange->addWidget(PBTempsVidangePlus, 0, 1);
        GLTempsVidange->addWidget(PBTempsVidangeMoins, 1, 1);
        GBTempsVidange->setLayout(GLTempsVidange);

    GBNombreCycles = new QGroupBox("NOMBRE DE CYCLES");
    GBNombreCycles->setFont(GBFont);

        LENombreCycles = new QLineEdit(params->value("seance/NbCycles", 10).toString());
        LENombreCycles->setMaximumSize(LESize);
        LENombreCycles->setFont(LEFont);
        LENombreCycles->setAlignment(Qt::AlignHCenter);
        LENombreCycles->setReadOnly(true);

        PBNombreCyclesPlus = new QPushButton("+");
        PBNombreCyclesPlus->setFont(PBPlusFont);
        PBNombreCyclesPlus->setMaximumSize(PBSize);
        PBNombreCyclesPlus->setCursor(Qt::PointingHandCursor);

        PBNombreCyclesMoins = new QPushButton("-");
        PBNombreCyclesMoins->setFont(PBMoinsFont);
        PBNombreCyclesMoins->setMaximumSize(PBSize);
        PBNombreCyclesMoins->setCursor(Qt::PointingHandCursor);

        GLNombreCycles = new QGridLayout(GBNombreCycles);
        GLNombreCycles->addWidget(LENombreCycles, 0, 0, 2, 1);
        GLNombreCycles->addWidget(PBNombreCyclesPlus, 0, 1);
        GLNombreCycles->addWidget(PBNombreCyclesMoins, 1, 1);
        GBNombreCycles->setLayout(GLNombreCycles);

    GBPeriodicite = new QGroupBox("PERIODICITE");
    GBPeriodicite->setFont(GBFont);

        LEPeriodicite = new QLineEdit(params->value("seance/Periodicite", 10).toString());
        LEPeriodicite->setMaximumSize(LESize);
        LEPeriodicite->setFont(LEFont);
        LEPeriodicite->setAlignment(Qt::AlignHCenter);
        LEPeriodicite->setReadOnly(true);

        PBPeriodicitePlus = new QPushButton("+");
        PBPeriodicitePlus->setFont(PBPlusFont);
        PBPeriodicitePlus->setMaximumSize(PBSize);
        PBPeriodicitePlus->setCursor(Qt::PointingHandCursor);

        PBPeriodiciteMoins = new QPushButton("-");
        PBPeriodiciteMoins->setFont(PBMoinsFont);
        PBPeriodiciteMoins->setMaximumSize(PBSize);
        PBPeriodiciteMoins->setCursor(Qt::PointingHandCursor);

        GLPeriodicite = new QGridLayout(GBPeriodicite);
        GLPeriodicite->addWidget(LEPeriodicite, 0, 0, 2, 1);
        GLPeriodicite->addWidget(PBPeriodicitePlus, 0, 1);
        GLPeriodicite->addWidget(PBPeriodiciteMoins, 1, 1);
        GBPeriodicite->setLayout(GLPeriodicite);

    PBSeanceEnregistrer = new QPushButton("ENREGISTRER");
    PBSeanceEnregistrer->setMinimumHeight(50);
    PBSeanceEnregistrer->setFont(PBSeanceFont);
    PBSeanceEnregistrer->setStyleSheet("color: rgb(0, 170, 0);");
    PBSeanceEnregistrer->setCursor(Qt::PointingHandCursor);

    PBSeanceLancer = new QPushButton("LANCER");
    PBSeanceLancer->setMinimumHeight(50);
    PBSeanceLancer->setFont(PBSeanceFont);
    PBSeanceLancer->setCursor(Qt::PointingHandCursor);

    PBSeanceArreter = new QPushButton("ARRETER");
    PBSeanceArreter->setMinimumHeight(50);
    PBSeanceArreter->setFont(PBSeanceFont);
    PBSeanceArreter->setStyleSheet("color: rgb(255, 0, 0);");
    PBSeanceArreter->setCursor(Qt::PointingHandCursor);

    hbox = new QHBoxLayout;
    hbox->addWidget(PBSeanceEnregistrer);
    hbox->addWidget(PBSeanceLancer);
    hbox->addWidget(PBSeanceArreter);

    GLMain = new QGridLayout;
    GLMain->addWidget(GBPv, 0, 0);
    GLMain->addWidget(GBGv, 0, 1);
    GLMain->addWidget(GBTempsPeche, 0, 2);
    GLMain->addWidget(GBTempsVidange, 1, 0);
    GLMain->addWidget(GBNombreCycles, 1, 1);
    GLMain->addWidget(GBPeriodicite, 1, 2);

    vbox = new QVBoxLayout(this);
    vbox->addLayout(GLMain);
    vbox->addLayout(hbox);

    setLayout(vbox);

    // Signaux & slots
    QObject::connect(PBPvPlus, SIGNAL(clicked()), this, SLOT(augmenterPV()));
    QObject::connect(PBPvMoins, SIGNAL(clicked()), this, SLOT(diminuerPV()));

    QObject::connect(PBGvPlus, SIGNAL(clicked()), this, SLOT(augmenterGV()));
    QObject::connect(PBGvMoins, SIGNAL(clicked()), this, SLOT(diminuerGV()));

    QObject::connect(PBTempsPechePlus, SIGNAL(clicked()), this, SLOT(augmenterTempsPeche()));
    QObject::connect(PBTempsPecheMoins, SIGNAL(clicked()), this, SLOT(diminuerTempsPeche()));

    QObject::connect(PBTempsVidangePlus, SIGNAL(clicked()), this, SLOT(augmenterTempsVidange()));
    QObject::connect(PBTempsVidangeMoins, SIGNAL(clicked()), this, SLOT(diminuerTempsVidange()));

    QObject::connect(PBNombreCyclesPlus, SIGNAL(clicked()), this, SLOT(augmenterNombreCycles()));
    QObject::connect(PBNombreCyclesMoins, SIGNAL(clicked()), this, SLOT(diminuerNombreCycles()));

    QObject::connect(PBPeriodicitePlus, SIGNAL(clicked()), this, SLOT(augmenterPeriodicite()));
    QObject::connect(PBPeriodiciteMoins, SIGNAL(clicked()), this, SLOT(diminuerPeriodicite()));

    QObject::connect(PBSeanceEnregistrer, SIGNAL(clicked()), this, SLOT(enregistrerParametres()));
}
Beispiel #3
0
void GameScene::Setup   (void           )
{
    auto background_texture     = LOAD_TEXTURE(GetContentManager()              ,
                                               L"background"                    ,
                                               L"assets\\game\\platform.png"    );

    // =====

    auto sprite                 = new DNDLayerSprites(L"root", GetRenderer());
    {
        sprite->SetLocked(true);

        auto background = new DNDEntity(L"background", PBSize(800, 480));
        {
            background->SetLocked(true);

            // uh lah?
            background->AddModel(L"default", new DNDModelSprite(background_texture));
        }
        background->Add(sprite);

        auto trainLeft = new DNDNode(L"train_left"      , DNDNodeSizingRule::None, PBSize(150, 480));
        {
            auto entity = trainLeft;
            auto trans  = entity->GetTransform();

            trans.SetLocation(PBPoint2(250, 0));

            entity->SetTransform(trans);

            auto train = new Train(L"train", true);
            {
                auto entity = train;
                auto trans  = entity->GetTransform();

                trans.SetLocation(PBPoint2(75, 0));

                entity->SetTransform(trans);
            }
            train->Add(trainLeft);
        }
        trainLeft->Add(sprite);

        auto trainRight = new DNDNode(L"train_right"    , DNDNodeSizingRule::None, PBSize(150, 480));
        {
            auto entity = trainRight;
            auto trans  = entity->GetTransform();

            trans.SetLocation(PBPoint2(400, 0));

            entity->SetTransform(trans);

            auto train = new Train(L"train", false);
            {
                auto entity = train;
                auto trans  = entity->GetTransform();

                trans.SetLocation(PBPoint2(75, 480));

                entity->SetTransform(trans);
            }
            train->Add(trainRight);
        }
        trainRight->Add(sprite);
    }
    sprite->Add(this);
}