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