its just a test, wait a week...
This commit is contained in:
134
mainwindow.cpp
134
mainwindow.cpp
@@ -3,108 +3,106 @@
|
||||
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent), ui(new Ui::MainWindow)
|
||||
: QMainWindow(parent), ui(new Ui::MainWindow)
|
||||
{
|
||||
qDebug() << "Load START!";
|
||||
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;
|
||||
QTimer *timer = new QTimer(this);
|
||||
adp = new adpainter(this->width(),this->height(),cellsize);
|
||||
adp->clear();
|
||||
adp->drawgrid();
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(ADrender()));
|
||||
aliens = new Aliens(destx, desty, this->width() / cellsize ,this->height() / cellsize, cellsize);
|
||||
if (!aliens->AddAlien()) qDebug() << "Error Loading";
|
||||
this->setGeometry(100,100,this->width(),this->height());
|
||||
//qDebug() << "QT version" << qVersion();
|
||||
timer->start(50);
|
||||
qDebug() << "Load DONE!";
|
||||
qDebug() << "Load START!";
|
||||
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;
|
||||
timer = new QTimer(this);
|
||||
adp = new adpainter(this->width(),this->height(),cellsize);
|
||||
adp->clear();
|
||||
adp->drawgrid();
|
||||
connect(timer, SIGNAL(timeout()), this, SLOT(ADrender()));
|
||||
GameMain = new game(this->size(),QPoint(0,this->height()/2),QPoint(this->width()-cellsize,this->height()/2), cellsize);
|
||||
aliens = new Aliens(GameMain->data);
|
||||
aliens->AddAlien();
|
||||
this->setGeometry(100,100,this->width(),this->height());
|
||||
//qDebug() << "QT version" << qVersion();
|
||||
//AnimAlien = 0;
|
||||
timer->start(50);
|
||||
qDebug() << "Load DONE!";
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::ADrender()
|
||||
{
|
||||
//aliens->AddAlien();
|
||||
aliens->updateAliens();
|
||||
adp->drawAliens(&aliens->curAliens[0], &aliens->AliensPixmaps[0]);
|
||||
this->repaint();
|
||||
adp->drawAliens(aliens->curAliens[0].path, &aliens->curAliens[0].Position);
|
||||
this->repaint();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::paintEvent(QPaintEvent*)
|
||||
{
|
||||
QPainter painter;
|
||||
painter.begin(this);
|
||||
painter.drawPixmap(0,0,*adp->getPixmap());
|
||||
painter.end();
|
||||
QPainter painter;
|
||||
painter.begin(this);
|
||||
painter.drawPixmap(0,0,*adp->getPixmap());
|
||||
painter.end();
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::mouseMoveEvent ( QMouseEvent * event )
|
||||
{
|
||||
if (mousebt == 1) ClearCell(event->x(),event->y());
|
||||
else SetCell(event->x(),event->y());
|
||||
if (mousebt == 1) ClearCell(event->x(),event->y());
|
||||
else SetCell(event->x(),event->y());
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::mousePressEvent ( QMouseEvent * event )
|
||||
{
|
||||
if (event->button() == Qt::RightButton) {
|
||||
ClearCell(event->x(),event->y());
|
||||
mousebt = 1;
|
||||
} else {
|
||||
SetCell(event->x(),event->y());
|
||||
mousebt = 0;
|
||||
}
|
||||
if (event->button() == Qt::RightButton) {
|
||||
ClearCell(event->x(),event->y());
|
||||
mousebt = 1;
|
||||
} else {
|
||||
SetCell(event->x(),event->y());
|
||||
mousebt = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::SetCell(int x, int y)
|
||||
{
|
||||
QPoint cp;
|
||||
QRect wdrect(0, 0, (this->width() / cellsize) * cellsize, (this->height() / cellsize) * cellsize);
|
||||
if (wdrect.contains(x,y)) {
|
||||
cp.setX((int) x / cellsize);
|
||||
cp.setY((int) y / cellsize);
|
||||
//qDebug() << "click: " << cp.x() << ";" << cp.y();
|
||||
aliens->Cells[cp.x()][cp.y()] = - 1;
|
||||
adp->drawcell(cp);
|
||||
//aliens->recreatePath();
|
||||
//adp->AnimAlien=0;
|
||||
//aliens->curAliens[aliens->CurWave].Position.pnt = aliens->curAliens[aliens->CurWave-1].path[adp->StepAlien];
|
||||
if (!aliens->recreatePath()) {
|
||||
aliens->Cells[cp.x()][cp.y()] = 0;
|
||||
adp->clearcell(cp);
|
||||
qDebug() << "DONT CLOSE THE PATH";
|
||||
}
|
||||
}
|
||||
QPoint cp;
|
||||
QRect wdrect(0, 0, (this->width() / cellsize) * cellsize, (this->height() / cellsize) * cellsize);
|
||||
if (wdrect.contains(x,y)) {
|
||||
cp.setX((int) x / cellsize);
|
||||
cp.setY((int) y / cellsize);
|
||||
//qDebug() << "click: " << cp.x() << ";" << cp.y();
|
||||
GameMain->data->Cells[cp.x()][cp.y()] = - 1;
|
||||
adp->drawcell(cp);
|
||||
//aliens->clearAliens();
|
||||
//adp->StepAlien=0;
|
||||
//adp->AnimAlien=0;
|
||||
if (!aliens->CreatePath(&(aliens->curAliens[0]))) ClearCell(x,y);
|
||||
else adp->StepAlien=0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::ClearCell(int x, int y)
|
||||
{
|
||||
QPoint cp;
|
||||
QRect wdrect(0, 0, (this->width() / cellsize) * cellsize, (this->height() / cellsize) * cellsize);
|
||||
if (wdrect.contains(x,y)) {
|
||||
cp.setX((int) x / cellsize);
|
||||
cp.setY((int) y / cellsize);
|
||||
//qDebug() << "click: " << cp.x() << ";" << cp.y();
|
||||
aliens->Cells[cp.x()][cp.y()] = 0;
|
||||
adp->clearcell(cp);
|
||||
aliens->recreatePath();
|
||||
//aliens->clearAliens();
|
||||
//aliens->AddAlien();
|
||||
}
|
||||
QPoint cp;
|
||||
QRect wdrect(0, 0, (this->width() / cellsize) * cellsize, (this->height() / cellsize) * cellsize);
|
||||
if (wdrect.contains(x,y)) {
|
||||
cp.setX((int) x / cellsize);
|
||||
cp.setY((int) y / cellsize);
|
||||
//qDebug() << "click: " << cp.x() << ";" << cp.y();
|
||||
GameMain->data->Cells[cp.x()][cp.y()] = 0;
|
||||
adp->clearcell(cp);
|
||||
//aliens->clearAliens();
|
||||
//aliens->AddAlien();
|
||||
aliens->CreatePath(&(aliens->curAliens[0]));
|
||||
adp->StepAlien=0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
delete aliens;
|
||||
delete adp;
|
||||
delete ui;
|
||||
delete aliens;
|
||||
delete adp;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user