diff --git a/Makefile b/Makefile index 43e1b35..4344aae 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: aliendefender -# Generated by qmake (2.01a) (Qt 4.5.2) on: ?? ????. 7 13:03:43 2009 +# Generated by qmake (2.01a) (Qt 4.5.2) on: ?? ????. 12 14:04:38 2009 # Project: aliendefender.pro # Template: app # Command: /usr/bin/qmake -Wall -spec ../../share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug -o Makefile aliendefender.pro diff --git a/aliendefender b/aliendefender index 324a92d..ef5a6f8 100755 Binary files a/aliendefender and b/aliendefender differ diff --git a/aliendefender.pro.user b/aliendefender.pro.user index 4f8309b..29cde28 100644 --- a/aliendefender.pro.user +++ b/aliendefender.pro.user @@ -98,7 +98,7 @@ ANT_HOME=/usr/share/ant CONFIG_PROTECT_MASK=/etc/gentoo-release /etc/sandbox.d /etc/env.d/java/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/revdep-rebuild CVS_RSH=ssh - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-AeC9SnkuDH,guid=58c439d9d488d5b7b47be9744aa39c4d + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-OomOx141X7,guid=4e8fac1ae1f40787aeb1f16e4aa53a4f DESKTOP_SESSION=gnome DESKTOP_STARTUP_ID= DISPLAY=:0.0 @@ -109,7 +109,7 @@ GDM_LANG=ru_RU.UTF-8 GDM_XSERVER_LOCATION=local GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_SOCKET=/tmp/keyring-ngsecP/socket + GNOME_KEYRING_SOCKET=/tmp/keyring-qB4w8J/socket GTK_RC_FILES=/etc/gtk/gtkrc:/home/andrey/.gtkrc-1.2-gnome2 HOME=/home/andrey INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.19.1/info:/usr/share/gcc-data/i486-pc-linux-gnu/4.1.2/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.3/info @@ -128,18 +128,18 @@ PWD=/home/andrey QMAKESPEC=linux-g++ QTDIR=/usr - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/9926,unix/buull-eeePC:/tmp/.ICE-unix/9926 + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/5720,unix/buull-eeePC:/tmp/.ICE-unix/5720 SHELL=/bin/bash SHLVL=0 - SSH_AGENT_PID=9952 - SSH_AUTH_SOCK=/tmp/keyring-ngsecP/socket.ssh + SSH_AGENT_PID=5745 + SSH_AUTH_SOCK=/tmp/keyring-qB4w8J/socket.ssh USER=andrey USERNAME=andrey - WINDOWPATH=7 + WINDOWPATH=7:7 XAUTHORITY=/home/andrey/.Xauthority XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_DIRS=/usr/local/share:/usr/share:/usr/share/gdm - XDG_SESSION_COOKIE=998ded06c94c2e848fb0b05949c4e51c-1252236364.946962-291284020 + XDG_SESSION_COOKIE=998ded06c94c2e848fb0b05949c4e51c-1252342350.758829-1556553659 XSESSION=icewm @@ -167,7 +167,7 @@ ANT_HOME=/usr/share/ant CONFIG_PROTECT_MASK=/etc/gentoo-release /etc/sandbox.d /etc/env.d/java/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/revdep-rebuild CVS_RSH=ssh - DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-AeC9SnkuDH,guid=58c439d9d488d5b7b47be9744aa39c4d + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-OomOx141X7,guid=4e8fac1ae1f40787aeb1f16e4aa53a4f DESKTOP_SESSION=gnome DESKTOP_STARTUP_ID= DISPLAY=:0.0 @@ -178,7 +178,7 @@ GDM_LANG=ru_RU.UTF-8 GDM_XSERVER_LOCATION=local GNOME_DESKTOP_SESSION_ID=this-is-deprecated - GNOME_KEYRING_SOCKET=/tmp/keyring-ngsecP/socket + GNOME_KEYRING_SOCKET=/tmp/keyring-qB4w8J/socket GTK_RC_FILES=/etc/gtk/gtkrc:/home/andrey/.gtkrc-1.2-gnome2 HOME=/home/andrey INFOPATH=/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.19.1/info:/usr/share/gcc-data/i486-pc-linux-gnu/4.1.2/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.3/info @@ -197,18 +197,18 @@ PWD=/home/andrey QMAKESPEC=linux-g++ QTDIR=/usr - SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/9926,unix/buull-eeePC:/tmp/.ICE-unix/9926 + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/5720,unix/buull-eeePC:/tmp/.ICE-unix/5720 SHELL=/bin/bash SHLVL=0 - SSH_AGENT_PID=9952 - SSH_AUTH_SOCK=/tmp/keyring-ngsecP/socket.ssh + SSH_AGENT_PID=5745 + SSH_AUTH_SOCK=/tmp/keyring-qB4w8J/socket.ssh USER=andrey USERNAME=andrey - WINDOWPATH=7 + WINDOWPATH=7:7 XAUTHORITY=/home/andrey/.Xauthority XDG_CONFIG_DIRS=/etc/xdg XDG_DATA_DIRS=/usr/local/share:/usr/share:/usr/share/gdm - XDG_SESSION_COOKIE=998ded06c94c2e848fb0b05949c4e51c-1252236364.946962-291284020 + XDG_SESSION_COOKIE=998ded06c94c2e848fb0b05949c4e51c-1252342350.758829-1556553659 XSESSION=icewm diff --git a/aliens.cpp b/aliens.cpp index ed628a7..a880253 100644 --- a/aliens.cpp +++ b/aliens.cpp @@ -90,7 +90,14 @@ bool Aliens::AddAlien() for (int i = 0; i < fw; i++) { for (int j = 0; j < fh; j++) TmpCells[i][j] = Cells[i][j]; } - return (CreatePath(&curAliens[curAliens.size()-1])); + if (CreatePath(&curAliens[curAliens.size()-1])) { + curAliens[curAliens.size()-1].Position.pnt.setX( + curAliens[curAliens.size()-1].path[0].x()*cellsize); + curAliens[curAliens.size()-1].Position.pnt.setY( + curAliens[curAliens.size()-1].path[0].y()*cellsize); + return true; + } + return false; } @@ -118,8 +125,6 @@ bool Aliens::CreatePath(Alien * al) al->path = tmpPnt; } tmpPnt.clear(); - al->Position.pnt.setX(al->path[0].x()*cellsize); - al->Position.pnt.setY(al->path[0].y()*cellsize); return true; } return false; @@ -128,22 +133,24 @@ bool Aliens::CreatePath(Alien * al) void Aliens::updateAliens() { - qDebug("========="); + qDebug("*********************"); //qDebug() << curAliens[0].path; for (int i = 0; i < curAliens.size(); i++) updateAlienPos(&curAliens[i]); + qDebug("*********************"); } void Aliens::updateAlienPos(Alien * al) { float arctg = 0; - float px,py; + float px,py,dk; float dx,dy,fdx,fdy; //qDebug() << cellsize; px = al->path[al->PathIndex].x() - al->path[al->PathIndex - 1].x(); py = al->path[al->PathIndex].y() - al->path[al->PathIndex - 1].y(); - dx = al->Position.pnt.x() - al->path[al->PathIndex].x() * (cellsize); - dy = al->Position.pnt.y() - al->path[al->PathIndex].y() * (cellsize); + dx = al->Position.pnt.x() - al->path[al->PathIndex].x() * cellsize; + dy = al->Position.pnt.y() - al->path[al->PathIndex].y() * cellsize; + dk = cellsize / sqrtf(px * px + py * py); qDebug() << dx << ";" << dy; qDebug() << px << ";" << py; //qDebug() << al->path;//[al->PathIndex]; @@ -162,7 +169,7 @@ void Aliens::updateAlienPos(Alien * al) if (fdy < 0) al->Position.angle = 180 + al->Position.angle; //qDebug() << al->Position.angle; qDebug() << al->Position.pnt; - if (qAbs(dx) <= al->Speed && qAbs(dy) <= al->Speed) { + if (qAbs(dx) <= al->Speed * dk && qAbs(dy) <= al->Speed * dk) { qDebug("next"); al->Position.pnt.setX(al->path[al->PathIndex].x() * cellsize); al->Position.pnt.setY(al->path[al->PathIndex].y() * cellsize); @@ -170,17 +177,17 @@ void Aliens::updateAlienPos(Alien * al) } else { qDebug("go"); - al->Position.pnt.setX(al->Position.pnt.x()+px * al->Speed * cellsize); - al->Position.pnt.setY(al->Position.pnt.y()+py * al->Speed * cellsize); + al->Position.pnt.setX(al->Position.pnt.x()+px * al->Speed * dk); + al->Position.pnt.setY(al->Position.pnt.y()+py * al->Speed * dk); } qDebug() << al->Position.pnt; al->PicIndex++; - qDebug() << "PicIndex" << al->PicIndex; - qDebug() << "PicType" << al->PicType; - qDebug() << AliensPixmaps[al->PicType].size(); + //qDebug() << "PicIndex" << al->PicIndex; + //qDebug() << "PicType" << al->PicType; + //qDebug() << AliensPixmaps[al->PicType].size(); if (al->PicIndex >= AliensPixmaps[al->PicType].size()) al->PicIndex = 0; if (al->PathIndex >= al->path.size()) { - qDebug() << "run agan"; + //qDebug() << "run agan"; al->PathIndex = 1; al->Position.pnt.setX(al->path.value(0).x()*cellsize); al->Position.pnt.setY(al->path.value(0).y()*cellsize); @@ -202,24 +209,41 @@ void Aliens::updateAlienPos(Alien * al) bool Aliens::recreatePath() { QVector tmpPath; - bool trace; + QPointF tmppnt; + //bool trace; for (int i = 0; i < fw; i++) for (int j = 0; j < fh; j++) TmpCells[i][j] = Cells[i][j]; for (int i = 0; i < curAliens.size(); i++) { + qDebug() << "##############"; qDebug() << "Alinen N" << i; + qDebug() << curAliens[i].Position.pnt; + qDebug() << curAliens[i].PathIndex; + if (curAliens[i].Position.pnt.x() - curAliens[i].path[curAliens[i].PathIndex].x()*cellsize < cellsize/2 + && curAliens[i].Position.pnt.y() - curAliens[i].path[curAliens[i].PathIndex].y()*cellsize < cellsize/2) + qDebug() << "Yes!!"; + else qDebug() << "NO!!"; + tmppnt = curAliens[i].Position.pnt; curAliens[i].Position.pnt.setX(curAliens[i].path[curAliens[i].PathIndex - 1].x() * cellsize); curAliens[i].Position.pnt.setY(curAliens[i].path[curAliens[i].PathIndex - 1].y() * cellsize); curAliens[i].PathIndex = 1; + qDebug() << curAliens[i].Position.pnt; tmpPath = curAliens[i].path; curAliens[i].path.clear(); - trace = CreatePath(&curAliens[i]); - if (!trace) { + //trace = CreatePath(&curAliens[i]); + if (!CreatePath(&curAliens[i])) { curAliens[i].path = tmpPath; + curAliens[i].Position.pnt = tmppnt; tmpPath.clear(); + //trace = false; + qDebug() << "##############"; return false; } + curAliens[i].Position.pnt = tmppnt; + qDebug() << curAliens[i].Position.pnt; + qDebug() << "==============="; } - qDebug() << trace; + tmpPath.clear(); + qDebug() << "Re-create path sucsess!"; return true; } diff --git a/aliens.o b/aliens.o index 9a85114..b67def2 100644 Binary files a/aliens.o and b/aliens.o differ diff --git a/moc_mainwindow.cpp b/moc_mainwindow.cpp index 493b98e..b97e2a3 100644 --- a/moc_mainwindow.cpp +++ b/moc_mainwindow.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Meta object code from reading C++ file 'mainwindow.h' ** -** Created: Mon Sep 7 13:03:55 2009 +** Created: Sat Sep 12 14:04:46 2009 ** by: The Qt Meta Object Compiler version 61 (Qt 4.5.2) ** ** WARNING! All changes made in this file will be lost! diff --git a/moc_udpsender.cpp b/moc_udpsender.cpp index 27a3107..773bc6e 100644 --- a/moc_udpsender.cpp +++ b/moc_udpsender.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Meta object code from reading C++ file 'udpsender.h' ** -** Created: Thu Sep 3 23:47:54 2009 +** Created: Sat Sep 12 14:04:47 2009 ** by: The Qt Meta Object Compiler version 61 (Qt 4.5.2) ** ** WARNING! All changes made in this file will be lost! diff --git a/qrc_res.cpp b/qrc_res.cpp index a8dbcb8..cc4658b 100644 --- a/qrc_res.cpp +++ b/qrc_res.cpp @@ -1,7 +1,7 @@ /**************************************************************************** ** Resource object code ** -** Created: Mon Sep 7 13:03:55 2009 +** Created: Sat Sep 12 14:04:47 2009 ** by: The Resource Compiler for Qt version 4.5.2 ** ** WARNING! All changes made in this file will be lost! diff --git a/ui_mainwindow.h b/ui_mainwindow.h index 6b00e7b..961acba 100644 --- a/ui_mainwindow.h +++ b/ui_mainwindow.h @@ -1,67 +1,67 @@ -/******************************************************************************** -** Form generated from reading ui file 'mainwindow.ui' -** -** Created: Sun 6. Sep 19:03:05 2009 -** by: Qt User Interface Compiler version 4.5.2 -** -** WARNING! All changes made in this file will be lost when recompiling ui file! -********************************************************************************/ - -#ifndef UI_MAINWINDOW_H -#define UI_MAINWINDOW_H - -#include -#include -#include -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE - -class Ui_MainWindow -{ -public: - QWidget *widget; - QWidget *paintWidget; - - void setupUi(QMainWindow *MainWindow) - { - if (MainWindow->objectName().isEmpty()) - MainWindow->setObjectName(QString::fromUtf8("MainWindow")); - MainWindow->resize(800, 400); - QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - sizePolicy.setHorizontalStretch(0); - sizePolicy.setVerticalStretch(0); - sizePolicy.setHeightForWidth(MainWindow->sizePolicy().hasHeightForWidth()); - MainWindow->setSizePolicy(sizePolicy); - MainWindow->setMinimumSize(QSize(800, 400)); - MainWindow->setBaseSize(QSize(800, 400)); - widget = new QWidget(MainWindow); - widget->setObjectName(QString::fromUtf8("widget")); - paintWidget = new QWidget(widget); - paintWidget->setObjectName(QString::fromUtf8("paintWidget")); - paintWidget->setGeometry(QRect(40, 20, 361, 181)); - MainWindow->setCentralWidget(widget); - - retranslateUi(MainWindow); - - QMetaObject::connectSlotsByName(MainWindow); - } // setupUi - - void retranslateUi(QMainWindow *MainWindow) - { - MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8)); - Q_UNUSED(MainWindow); - } // retranslateUi - -}; - -namespace Ui { - class MainWindow: public Ui_MainWindow {}; -} // namespace Ui - -QT_END_NAMESPACE - -#endif // UI_MAINWINDOW_H +/******************************************************************************** +** Form generated from reading ui file 'mainwindow.ui' +** +** Created: Sat Sep 12 14:04:38 2009 +** by: Qt User Interface Compiler version 4.5.2 +** +** WARNING! All changes made in this file will be lost when recompiling ui file! +********************************************************************************/ + +#ifndef UI_MAINWINDOW_H +#define UI_MAINWINDOW_H + +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_MainWindow +{ +public: + QWidget *widget; + QWidget *paintWidget; + + void setupUi(QMainWindow *MainWindow) + { + if (MainWindow->objectName().isEmpty()) + MainWindow->setObjectName(QString::fromUtf8("MainWindow")); + MainWindow->resize(800, 400); + QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + sizePolicy.setHorizontalStretch(0); + sizePolicy.setVerticalStretch(0); + sizePolicy.setHeightForWidth(MainWindow->sizePolicy().hasHeightForWidth()); + MainWindow->setSizePolicy(sizePolicy); + MainWindow->setMinimumSize(QSize(800, 400)); + MainWindow->setBaseSize(QSize(800, 400)); + widget = new QWidget(MainWindow); + widget->setObjectName(QString::fromUtf8("widget")); + paintWidget = new QWidget(widget); + paintWidget->setObjectName(QString::fromUtf8("paintWidget")); + paintWidget->setGeometry(QRect(40, 20, 361, 181)); + MainWindow->setCentralWidget(widget); + + retranslateUi(MainWindow); + + QMetaObject::connectSlotsByName(MainWindow); + } // setupUi + + void retranslateUi(QMainWindow *MainWindow) + { + MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8)); + Q_UNUSED(MainWindow); + } // retranslateUi + +}; + +namespace Ui { + class MainWindow: public Ui_MainWindow {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_MAINWINDOW_H