global restruct finish 2 of 3
This commit is contained in:
@@ -9,29 +9,30 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
ui->setupUi(this);
|
||||
//sndr = new UdpSender("127.0.0.1",10101);
|
||||
//sndr->connectSend("hellow");
|
||||
cellsize = 16;
|
||||
destx = this->width() / cellsize;
|
||||
desty = this->height() / cellsize / 2;
|
||||
int cellsize = 16;
|
||||
timer = new QTimer(this);
|
||||
adp = new adpainter(this->width(),this->height(),cellsize);
|
||||
adp->clear();
|
||||
adp->drawgrid();
|
||||
//adp = new adpainter(this->width(),this->height(),cellsize);
|
||||
//adp->clear();
|
||||
//adp->drawgrid();
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(ADrender()));
|
||||
GameMain = new games(this->size(),QPoint(0,this->height()/2),QPoint(this->width()-cellsize,this->height()/2), cellsize);
|
||||
aliens = new Aliens(GameMain);
|
||||
aliens->AddAlien();
|
||||
maliens = new Aliens(GameMain);
|
||||
maliens->AddAlien();
|
||||
mmap = new map(GameMain);
|
||||
mmap->clear();
|
||||
mmap->drawgrid();
|
||||
mtowers = new towers(GameMain);
|
||||
this->setGeometry(100,100,this->width(),this->height());
|
||||
//qDebug() << "QT version" << qVersion();
|
||||
//AnimAlien = 0;
|
||||
timer->start(50);
|
||||
qDebug() << "Load DONE!";
|
||||
mousebt = 0;
|
||||
qDebug() << "Load DONE!";
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::ADrender()
|
||||
{
|
||||
adp->drawAlien(aliens->alienAt(0));
|
||||
//adp->drawAlien(aliens->alienAt(0));
|
||||
maliens->drawAliens();
|
||||
this->repaint();
|
||||
}
|
||||
|
||||
@@ -40,7 +41,7 @@ void MainWindow::paintEvent(QPaintEvent*)
|
||||
{
|
||||
QPainter painter;
|
||||
painter.begin(this);
|
||||
painter.drawPixmap(0,0,*adp->getPixmap());
|
||||
painter.drawPixmap(0,0,*GameMain->buff);
|
||||
painter.end();
|
||||
}
|
||||
|
||||
@@ -70,19 +71,18 @@ void MainWindow::mousePressEvent (QMouseEvent *event)
|
||||
|
||||
void MainWindow::SetCell(QPoint pos)
|
||||
{
|
||||
bool trace = false;
|
||||
QPoint cp;
|
||||
QRect wdrect(0, 0, (this->width() / cellsize) * cellsize, (this->height() / cellsize) * cellsize);
|
||||
QRect wdrect(0, 0, (this->width()/GameMain->cellsize)*GameMain->cellsize,
|
||||
(this->height()/GameMain->cellsize)*GameMain->cellsize);
|
||||
if (wdrect.contains(pos)) {
|
||||
cp.setX(pos.x()/cellsize);
|
||||
cp.setY(pos.y()/cellsize);
|
||||
//qDebug() << "click: " << cp.x() << ";" << cp.y();
|
||||
cp.setX(pos.x()/GameMain->cellsize);
|
||||
cp.setY(pos.y()/GameMain->cellsize);
|
||||
mtowers->drawcell(cp);
|
||||
if (GameMain->Cells[cp.x()][cp.y()] == 1) trace = true;
|
||||
GameMain->Cells[cp.x()][cp.y()] = - 1;
|
||||
adp->drawcell(cp);
|
||||
//aliens->clearAliens();
|
||||
//adp->StepAlien=0;
|
||||
//adp->AnimAlien=0;
|
||||
if (!aliens->alienAt(0)->RecreatePath()) ClearCell(pos);
|
||||
else adp->StepAlien=0;
|
||||
if (trace)
|
||||
if (!maliens->retrace()) ClearCell(pos);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,17 +90,14 @@ void MainWindow::SetCell(QPoint pos)
|
||||
void MainWindow::ClearCell(QPoint pos)
|
||||
{
|
||||
QPoint cp;
|
||||
QRect wdrect(0, 0, (this->width() / cellsize) * cellsize, (this->height() / cellsize) * cellsize);
|
||||
QRect wdrect(0, 0, (this->width()/GameMain->cellsize)*GameMain->cellsize,
|
||||
(this->height()/GameMain->cellsize)*GameMain->cellsize);
|
||||
if (wdrect.contains(pos)) {
|
||||
cp.setX(pos.x()/cellsize);
|
||||
cp.setY(pos.y()/cellsize);
|
||||
//qDebug() << "click: " << cp.x() << ";" << cp.y();
|
||||
cp.setX(pos.x()/GameMain->cellsize);
|
||||
cp.setY(pos.y()/GameMain->cellsize);
|
||||
GameMain->Cells[cp.x()][cp.y()] = 0;
|
||||
adp->clearcell(cp);
|
||||
//aliens->clearAliens();
|
||||
//aliens->AddAlien();
|
||||
aliens->alienAt(0)->RecreatePath();
|
||||
adp->StepAlien=0;
|
||||
mtowers->clearcell(cp);
|
||||
maliens->retrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,8 +106,11 @@ void MainWindow::keyPressEvent(QKeyEvent * e)
|
||||
{
|
||||
qDebug() << e->key();
|
||||
switch(e->key()) {
|
||||
case 69:
|
||||
aliens->AddAlien();
|
||||
case 65:
|
||||
maliens->AddAlien();
|
||||
break;
|
||||
case 68:
|
||||
if (maliens->size() > 0) maliens->DelAlien(maliens->size()-1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -119,6 +119,9 @@ void MainWindow::keyPressEvent(QKeyEvent * e)
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
delete aliens;
|
||||
delete adp;
|
||||
delete mtowers;
|
||||
delete mmap;
|
||||
delete maliens;
|
||||
delete GameMain;
|
||||
//delete adp;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user