int main(int argc, char** argv) { QApplication AutoTM(argc, argv); QApplication::setOrganizationName("Fakel"); QApplication::setApplicationName("AutoTM"); QApplication::setApplicationVersion("1.0"); QTextCodec::setCodecForLocale(QTextCodec::codecForName("cp1251")); QTextCodec::setCodecForTr(QTextCodec::codecForName("cp1251")); Menu menu; QDeclarativeView view(QUrl::fromLocalFile("view/qml/MainWindow.qml")); view.setWindowTitle(QObject::tr("AutoTm v.1.0.")); QObject* main = (QObject*) view.rootObject(); QObject* mainMenu = main->findChild<QObject*>("menu"); QObject::connect(mainMenu->findChild<QObject*>("quit"), SIGNAL(buttonClick()), &menu, SLOT(clickedExit())); QObject::connect(mainMenu->findChild<QObject*>("getFilesDir"), SIGNAL(buttonClick()), &menu, SLOT(clickedFiles())); QObject::connect(mainMenu->findChild<QObject*>("getReportDir"),SIGNAL(buttonClick()), &menu, SLOT(clickedReport())); QObject::connect(mainMenu->findChild<QObject*>("start"), SIGNAL(buttonClick()), &menu, SLOT(clickedStart())); view.show(); return AutoTM.exec(); }
/** Default constructor */ MainWindow::MainWindow() : QWidget() { /** constructor() that has in input file for scores */ ifstream fin; fin.open("scores.txt"); if(fin.fail()) { cout << "Could not find the scores file" << endl; } else { string temp; int temp2; getline(fin,temp,'|'); fin >> temp2; while(fin.good()) { scorenames.push_back(temp); scores.push_back(temp2); getline(fin,temp,'|'); fin >> temp2; } } /** Set the Pixmaps */ ez=new QPixmap("ezreal.png"); *ez=ez->scaled(75,75,Qt::KeepAspectRatioByExpanding); melee=new QPixmap("meleeminion.png"); *melee=melee->scaled(50,50,Qt::KeepAspectRatioByExpanding); caster=new QPixmap("casterminion.png"); *caster=caster->scaled(45,45,Qt::KeepAspectRatioByExpanding); siege=new QPixmap("siegeminion.png"); *siege=siege->scaled(65,65,Qt::KeepAspectRatioByExpanding); basic=new QPixmap("basicattack.gif"); *basic=basic->scaled(10,10,Qt::KeepAspectRatioByExpanding); mystic=new QPixmap("basicattack.gif"); *mystic=mystic->scaled(30,30,Qt::KeepAspectRatioByExpanding); trueshot=new QPixmap("trueshot.png"); *trueshot=trueshot->scaled(75,75,Qt::KeepAspectRatioByExpanding); heal=new QPixmap("heal.png"); *heal=heal->scaled(50,50,Qt::KeepAspectRatioByExpanding); clarity=new QPixmap("clarity.png"); *clarity=clarity->scaled(50,50,Qt::KeepAspectRatioByExpanding); ignite=new QPixmap("ignite.png"); *ignite=ignite->scaled(50,50,Qt::KeepAspectRatioByExpanding); energy=new QPixmap("energybolt.gif"); *energy=energy->scaled(50,50,Qt::KeepAspectRatioByExpanding); cannon=new QPixmap("cannonshot.png"); *cannon=cannon->scaled(55,55,Qt::KeepAspectRatioByExpanding); /** color is the default color set for spacers and background of widgets*/ color.setRgb(240,240,240,255); /** MainWidget which holds everything */ mainwidget= new QWidget; mainwidget->setFixedSize(1200,800); /** Main Layout for MainWindow */ mainLayout = new QVBoxLayout; mainwidget->setLayout(mainLayout); /** TITLE above row1*/ row0 = new QHBoxLayout; /** IconObject used to display QPixmap */ hold_spacer0 = new IconObject; /** Used to hold a space */ spacer0 = new QPixmap(100,64); spacer0->fill(color); /** IconObject used to display QPixmap */ hold_title = new IconObject; /** Ability display icon */ title = new QPixmap("title.png"); /** IconObject used to display QPixmap */ hold_spacer01 = new IconObject; /** Used to hold a space */ spacer01 = new QPixmap(100,64); spacer01->fill(color); // set pixmaps hold_spacer0->setPixmap(*spacer0); hold_title->setPixmap(title->scaled(700,40,Qt::KeepAspectRatioByExpanding)); hold_spacer0->setPixmap(*spacer01); //add to layout row0 row0->addWidget(hold_spacer0); row0->addWidget(hold_title); row0->addWidget(hold_spacer01); mainLayout->addLayout(row0); /** Horizontal box for row 1*/ row1= new QHBoxLayout; /** Button which initiates/restarts game*/ start= new QPushButton("Start"); /** Button which pauses/continues game*/ pause = new QPushButton("Pause"); /** quits the game*/ quit = new QPushButton("Quit"); /** Score display*/ name = new QTextEdit("Name"); name->setMaximumHeight(30); name->setMaximumWidth(200); /** level display*/ level = new QLabel("LEVEL: 00"); /** score display*/ score = new QLabel("SCORE: 00"); row1->addWidget(start); row1->addWidget(pause); row1->addWidget(quit); row1->addWidget(name); row1->addWidget(level); row1->addWidget(score); mainLayout->addLayout(row1); /** Horizontal box for row 2*/ row2 = new QHBoxLayout; /** Scene which holds monsters, player and powerups*/ scene = new QGraphicsScene; /** View which holds gameplay*/ view = new GameWindow(scene); row2->addWidget(view); mainLayout->addLayout(row2); /** Horizontal box for row 3*/ row3 = new QHBoxLayout; //left /** IconObject used to display QPixmap */ hold_basicattackicon = new IconObject; /** Ability display icon */ basicattackicon = new QPixmap("basicattack.gif"); /** IconObject used to display QPixmap */ hold_mysticshoticon = new IconObject; /** Ability display icon */ mysticshoticon = new QPixmap("basicattack.gif"); //mysticshoticon->scaledToHeight(64,Qt::FastTransformation); /** IconObject used to display QPixmap */ hold_trueshoticon = new IconObject; /** Ability display icon */ trueshoticon = new QPixmap("trueshot.png"); /** IconObject used to display QPixmap */ hold_spacer1 = new IconObject; /** Used to hold a space */ spacer1 = new QPixmap(400,64); spacer1->fill(color); //midleft /** IconObject used to display QPixmap */ hold_heart = new IconObject; /** Heart Icon */ heart = new QPixmap("heart.gif"); /** Health display */ health = new QLabel("200"); health->setMaximumHeight(25); /** IconObject used to display QPixmap */ hold_spacer2 = new IconObject; /** Used to hold a space */ spacer2 = new QPixmap(64,64); spacer2->fill(color); //midright /** IconObject used to display QPixmap */ hold_potion = new IconObject; /** Mana Icon */ potion = new QPixmap("mana.gif"); /** Mana display */ mana= new QLabel("50"); mana->setMaximumHeight(25); /*Add the Pixmaps to the IconObjects*/ hold_basicattackicon->setPixmap(basicattackicon->scaledToHeight(10)); hold_mysticshoticon->setPixmap(mysticshoticon->scaledToHeight(20)); hold_trueshoticon->setPixmap(trueshoticon->scaled(40,60,Qt::KeepAspectRatioByExpanding)); hold_spacer1->setPixmap(*spacer1); hold_heart->setPixmap(*heart); hold_spacer2->setPixmap(*spacer2); hold_potion->setPixmap(*potion); /* Add IconObjects to row3 */ row3->addWidget(hold_basicattackicon); row3->addWidget(hold_mysticshoticon); row3->addWidget(hold_trueshoticon); row3->addWidget(hold_spacer1); row3->addWidget(hold_heart); row3->addWidget(health); row3->addWidget(hold_spacer2); row3->addWidget(hold_potion); row3->addWidget(mana); /* Add layout to main widget*/ mainLayout->addLayout(row3); // set player //objects.push_back( //set bool variables trueshotfiring = false; inGame = false; gamePaused = false; playerAlive = false; up = false; down = false; left = false; right = false; grabbedignite=false; lostgame=false; //set counters /** Level identifies which level the game is at */ levelff=1; /** Leftclickcounter determines how many times left click is pressed */ leftclickcounter=0; /** Leftclickholdcounter determines how long left click is pressed */ leftclickholdcounter=0; /** Spawn counter for a meleeminoin */ spawnmelee=0; /** Spawn counter for a Siegeminion*/ spawnsiege=0; /** Spawn counter for a Casterminion*/ spawncaster=0; /** Ez can not be hurt immediately at next clock *giving the player time to move out of the way*/ ezhurt=0; /** Points scored*/ points=0; /** Icon spawning at 200*/ iconspawn=0; // set timer timer = new QTimer(this);// timer->start(val) later on in show() //connections connect(start,SIGNAL(clicked()),this,SLOT(clickedStart())); connect(pause,SIGNAL(clicked()),this,SLOT(clickedPause())); connect(view,SIGNAL(leftButtonClicked()),this,SLOT(leftClick())); connect(view,SIGNAL(rightButtonClicked()),this,SLOT(rightClick())); connect(view,SIGNAL(leftButtonHoldStart()),this,SLOT(leftHoldstart())); connect(view,SIGNAL(leftButtonHoldCancel()),this,SLOT(leftHoldcancel())); connect(view,SIGNAL(uparrow()),this,SLOT(moveup())); connect(view,SIGNAL(downarrow()),this,SLOT(movedown())); connect(view,SIGNAL(leftarrow()),this,SLOT(moveleft())); connect(view,SIGNAL(rightarrow()),this,SLOT(moveright())); connect(timer,SIGNAL(timeout()),this,SLOT(handleTimer())); connect(quit,SIGNAL(clicked()),this,SLOT(clickedQuit())); }