diff --git a/adpainter.cpp b/adpainter.cpp index c1a12ce..19743cd 100644 --- a/adpainter.cpp +++ b/adpainter.cpp @@ -59,10 +59,10 @@ void adpainter::drawgrid() void adpainter::drawAliens(QVector path, FPVector position) { - float tmpdx,tmpdy,arctg,tmpdx1,tmpdy1; + //float tmpdx,tmpdy,arctg,tmpdx1,tmpdy1; //unsigned char dd[4]; //int gg; - arctg = 0; + //arctg = 0; //qDebug() << path.size(); //QTransform rotated; painter.begin(buff); @@ -75,7 +75,7 @@ void adpainter::drawAliens(QVector path, FPVector position) for (int i = 0; i < path.size(); i++){ painter.drawEllipse(path[i].x() * cellsize +1, path[i].y() * cellsize +1, cellsize - 2, cellsize - 2); } - tmpdx = position->pnt.x() - path[StepAlien].x()*cellsize; + /*tmpdx = position->pnt.x() - path[StepAlien].x()*cellsize; tmpdy = position->pnt.y() - path[StepAlien].y()*cellsize; if (StepAlien + 1 < path.size()) { tmpdx1 = position->pnt.x() - path[StepAlien+1].x()*cellsize; @@ -85,12 +85,12 @@ void adpainter::drawAliens(QVector path, FPVector position) //memcpy(&gg,&arctg,4); position->angle = 180*(-arctg)/3.1415; if (tmpdy1 < 0) position->angle = 180 + position->angle; - if (AlienPix.size() > 0) { - //painter.rotate((arctg/3.1415)*180); - //rotated.rotateRadians(arctg/* + 3.1415/2*/); - //qDebug() << "angle:" << position->angle; - //rotated.reset(); - if (qAbs(tmpdx) < 1 && qAbs(tmpdy) < 1) StepAlien++; + if (AlienPix.size() > 0) {*/ + //painter.rotate((arctg/3.1415)*180); + //rotated.rotateRadians(arctg/* + 3.1415/2*/); + //qDebug() << "angle:" << position->angle; + //rotated.reset(); + /*if (qAbs(tmpdx) < 1 && qAbs(tmpdy) < 1) StepAlien++; else { if (qAbs(tmpdx) <= qAbs(tmpdy)) { if (tmpdy < 0) { @@ -108,24 +108,24 @@ void adpainter::drawAliens(QVector path, FPVector position) } else position->pnt.rx()--; } - } - //painter.save(); - painter.translate(position->pnt.x()+cellsize/2, position->pnt.y()+cellsize/2); - //if (arctg == 0) painter.rotate(90); - //memcpy(dd,&gg,4); - //dd[0]=0xFF; - //qDebug() << "angle:" << position->angle; - //qDebug() << dd[0] << dd[1] << dd[2] << dd[3]; - painter.rotate(position->angle); - //position->pnt.setX(path.at(0).x()); - //position->pnt.setY(path.at(0).y()); - painter.drawPixmap(-cellsize, -cellsize, cellsize*2, cellsize*2, AlienPix.at(AnimAlien)); - AnimAlien++; - //painter.restore(); - if (AnimAlien >= AlienPix.size()) AnimAlien = 0; - if (StepAlien >= path.size()) StepAlien = 0; - //qDebug() << StepAlien; - } + }*/ + //painter.save(); + painter.translate(position->pnt.x()+cellsize/2, position->pnt.y()+cellsize/2); + //if (arctg == 0) painter.rotate(90); + //memcpy(dd,&gg,4); + //dd[0]=0xFF; + //qDebug() << "angle:" << position->angle; + //qDebug() << dd[0] << dd[1] << dd[2] << dd[3]; + painter.rotate(position->angle); + //position->pnt.setX(path.at(0).x()); + //position->pnt.setY(path.at(0).y()); + painter.drawPixmap(-cellsize, -cellsize, cellsize*2, cellsize*2, AlienPix.at(AnimAlien)); + //AnimAlien++; + //painter.restore(); + //if (AnimAlien >= AlienPix.size()) AnimAlien = 0; + //if (StepAlien >= path.size()) StepAlien = 0; + //qDebug() << StepAlien; + //} painter.end(); } diff --git a/alien.cpp b/alien.cpp index 46c20e1..6401b44 100644 --- a/alien.cpp +++ b/alien.cpp @@ -1,11 +1,13 @@ #include "alien.h" +#include + Alien::Alien() { } -bool Alien::CreatePath() +bool Alien::RecreatePath() { for (int i = 0; i < data->size.width(); i++) { @@ -55,7 +57,23 @@ bool Alien::CreatePath() void Alien::update() { - + float tmpdx,tmpdy,arctg,tmpdx1,tmpdy1; + arctg = 0; + tmpdx = position->pnt.x() - path[PathIndex].x()*data->cellsize; + tmpdy = position->pnt.y() - path[PathIndex].y()*data->cellsize; + if (std::sqrt(tmpdx*tmpdx +tmpdy*tmpdy) < Speed*data->cellsize) PathIndex++; + if (PathIndex >= path.size()) PathIndex = path.size()-1; + tmpdx = position->pnt.x() - path[PathIndex].x()*cellsize; + tmpdy = position->pnt.y() - path[PathIndex].y()*cellsize; + arctg = std::atan(tmpdx/tmpdy); + Position.angle = 180.0f*(-arctg)/3.1416f; + if (tmpdy < 0) Position.angle = 180.0f + Position.angle; + Position.pnt.setX(Position.pnt.x() + +Speed*data->cellsize*std::sin(Position.angle)); + Position.pnt.setY(Position.pnt.y() + -Speed*data->cellsize*std::cos(Position.angle)); + PicIndex++; + if (PicIndex >= AlienPix.size()) PicIndex = 0; } @@ -130,6 +148,7 @@ QVector Alien::InvWaveTrace(QPoint finish, int cnt) { QPoint wp, Ppnt; QVector alpath; + if (cnt < 2) return alpath; int Ind, c, xpp, ypp, xnn, ynn; unsigned char chk; Ppnt = wp = finish; diff --git a/alien.h b/alien.h index 4233ebe..d52ef31 100644 --- a/alien.h +++ b/alien.h @@ -8,7 +8,7 @@ class Alien public: Alien(); bool RecreatePath(); - bool testTrace(QPoint start, QPoint finish); + bool testTrace() {return (WaveTrace(data->start,data->finish) > 0);} void setPos(FPVector pos); void update(); FPVector pos() const {return Position;} @@ -29,7 +29,7 @@ private: //int MaxFrame; //float Health; float Speed; - float PicFrame; + //float PicFrame; //float PicI; //float Regeneration; QVector path; diff --git a/aliendefender.pro.user b/aliendefender.pro.user index ea0ce49..2d2d684 100644 --- a/aliendefender.pro.user +++ b/aliendefender.pro.user @@ -1,347 +1,302 @@ - - RunConfiguration0-BaseEnvironmentBase - 2 - RunConfiguration0-CommandLineArguments - + RunConfiguration0-ProFile - wavetrace.pro + wavetrace.pro RunConfiguration0-RunConfiguration.name - aliendefender + aliendefender RunConfiguration0-UseDyldImageSuffix - false + false RunConfiguration0-UseTerminal - false + false RunConfiguration0-UserEnvironmentChanges - + RunConfiguration0-UserSetName - true - - - RunConfiguration0-UserSetWorkingDirectory - false - - - RunConfiguration0-UserWorkingDirectory - + true RunConfiguration0-type - Qt4ProjectManager.Qt4RunConfiguration - - - RunConfiguration1-BaseEnvironmentBase - 2 + Qt4ProjectManager.Qt4RunConfiguration RunConfiguration1-CommandLineArguments - + RunConfiguration1-ProFile - aliendefender.pro + aliendefender.pro RunConfiguration1-RunConfiguration.name - aliendefender + aliendefender RunConfiguration1-UseDyldImageSuffix - false + false RunConfiguration1-UseTerminal - false + false RunConfiguration1-UserEnvironmentChanges - + RunConfiguration1-UserSetName - false - - - RunConfiguration1-UserSetWorkingDirectory - false - - - RunConfiguration1-UserWorkingDirectory - + false RunConfiguration1-type - Qt4ProjectManager.Qt4RunConfiguration + Qt4ProjectManager.Qt4RunConfiguration activeRunConfiguration - 1 + 1 activebuildconfiguration - Debug + Debug buildConfiguration-Debug - - Debug - 0 - 2 - - 2 - /home/andrey/documents/sm11/Alien Defender/ad + + Debug + 0 + + /home/andrey/documents/sm11/Alien Defender/ad buildConfiguration-Release - - Release - 0 - 2 - - 0 + + Release + 0 + buildconfiguration-Debug-buildstep0 - - Debug - - ALLUSERSPROFILE=C:\Documents and Settings\All Users - APPDATA=C:\Documents and Settings\Andrey\Application Data - COMMONPROGRAMFILES=C:\Program Files\Common Files - COMPUTERNAME=COMP - COMSPEC=C:\WINDOWS\system32\cmd.exe - FP_NO_HOST_CHECK=NO - HOMEDRIVE=C: - HOMEPATH=\Documents and Settings\Andrey - INCLUDE=C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include - LIB=C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib - LOGONSERVER=\\COMP - MSDEVDIR=C:\Program Files\Microsoft Visual Studio\Common\MSDev98 - NUMBER_OF_PROCESSORS=2 - OS=Windows_NT - PATH=D:\Qt\2010.01\mingw\bin;D:\Qt\2010.01\qt\bin;C:\Program Files\PC Connectivity Solution\;C:\Program Files\JavaFX\javafx-sdk1.2\bin;C:\Program Files\JavaFX\javafx-sdk1.2\emulator\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\Borland\Delphi7\Bin;C:\Program Files\Borland\Delphi7\Projects\Bpl;C:\Program Files\Git\cmd;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin - PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH - PROCESSOR_ARCHITECTURE=x86 - PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel - PROCESSOR_LEVEL=6 - PROCESSOR_REVISION=1706 - PROGRAMFILES=C:\Program Files - QTDIR=D:/Qt/2010.01/qt - SESSIONNAME=Console - SYSTEMDRIVE=C: - SYSTEMROOT=C:\WINDOWS - TEMP=C:\DOCUME~1\Andrey\LOCALS~1\Temp - TMP=C:\DOCUME~1\Andrey\LOCALS~1\Temp - USERDOMAIN=COMP - USERNAME=Andrey - USERPROFILE=C:\Documents and Settings\Andrey - VS90COMNTOOLS=D:\Programming\Microsoft Visual Studio 9.0\Common7\Tools\ - VXIPNPPATH=C:\Program Files\IVI Foundation\VISA\ - WINDIR=C:\WINDOWS + + Debug + + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-S5Q8zKlbhY,guid=6ef5dd4aeeaf9cb3055a39934b629f00 + DESKTOP_SESSION=gnome + DESKTOP_STARTUP_ID= + DISPLAY=:0.0 + GDMSESSION=gnome + GDM_KEYBOARD_LAYOUT=us + GDM_LANG=ru_RU.UTF-8 + GNOME_DESKTOP_SESSION_ID=this-is-deprecated + GNOME_KEYRING_SOCKET=/tmp/keyring-116Pb7/socket + GTK_MODULES=canberra-gtk-module + GTK_RC_FILES=/etc/gtk/gtkrc:/home/andrey/.gtkrc-1.2-gnome2 + HOME=/home/andrey + LANG=ru_RU.UTF-8 + LD_LIBRARY_PATH=/usr/lib/qtcreator: + LOGNAME=andrey + ORBIT_SOCKETDIR=/tmp/orbit-andrey + PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PWD=/home/andrey + QTDIR=/usr + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1205,unix/buull-eeePC:/tmp/.ICE-unix/1205 + SHELL=/bin/bash + SPEECHD_PORT=7560 + SSH_AGENT_PID=1318 + SSH_AUTH_SOCK=/tmp/keyring-116Pb7/socket.ssh + USER=andrey + USERNAME=andrey + XAUTHORITY=/var/run/gdm/auth-for-andrey-9AQSnh/database + XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ + XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1264754424.556816-274237329 - - C:/aliendefender/aliendefender.pro - -spec - win32-g++ - -r - -Wall + + /home/andrey/projects/aliendefender/aliendefender.pro + -spec + /usr/share/qt4/mkspecs/linux-g++ + -r + CONFIG+=debug + -Wall - d:/qt/2010.01/qt/bin/qmake.exe - true - C:/aliendefender - - - -Wall + /usr/bin/qmake-qt4 + false + /home/andrey/projects/aliendefender + 2 + + -Wall buildconfiguration-Debug-buildstep1 - - Debug - - ALLUSERSPROFILE=C:\Documents and Settings\All Users - APPDATA=C:\Documents and Settings\Andrey\Application Data - COMMONPROGRAMFILES=C:\Program Files\Common Files - COMPUTERNAME=COMP - COMSPEC=C:\WINDOWS\system32\cmd.exe - FP_NO_HOST_CHECK=NO - HOMEDRIVE=C: - HOMEPATH=\Documents and Settings\Andrey - INCLUDE=C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include - LIB=C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib - LOGONSERVER=\\COMP - MSDEVDIR=C:\Program Files\Microsoft Visual Studio\Common\MSDev98 - NUMBER_OF_PROCESSORS=2 - OS=Windows_NT - PATH=D:\Qt\2010.01\mingw\bin;D:\Qt\2010.01\qt\bin;C:\Program Files\PC Connectivity Solution\;C:\Program Files\JavaFX\javafx-sdk1.2\bin;C:\Program Files\JavaFX\javafx-sdk1.2\emulator\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\Borland\Delphi7\Bin;C:\Program Files\Borland\Delphi7\Projects\Bpl;C:\Program Files\Git\cmd;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin - PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH - PROCESSOR_ARCHITECTURE=x86 - PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel - PROCESSOR_LEVEL=6 - PROCESSOR_REVISION=1706 - PROGRAMFILES=C:\Program Files - QTDIR=D:/Qt/2010.01/qt - SESSIONNAME=Console - SYSTEMDRIVE=C: - SYSTEMROOT=C:\WINDOWS - TEMP=C:\DOCUME~1\Andrey\LOCALS~1\Temp - TMP=C:\DOCUME~1\Andrey\LOCALS~1\Temp - USERDOMAIN=COMP - USERNAME=Andrey - USERPROFILE=C:\Documents and Settings\Andrey - VS90COMNTOOLS=D:\Programming\Microsoft Visual Studio 9.0\Common7\Tools\ - VXIPNPPATH=C:\Program Files\IVI Foundation\VISA\ - WINDIR=C:\WINDOWS + + Debug + + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-S5Q8zKlbhY,guid=6ef5dd4aeeaf9cb3055a39934b629f00 + DESKTOP_SESSION=gnome + DESKTOP_STARTUP_ID= + DISPLAY=:0.0 + GDMSESSION=gnome + GDM_KEYBOARD_LAYOUT=us + GDM_LANG=ru_RU.UTF-8 + GNOME_DESKTOP_SESSION_ID=this-is-deprecated + GNOME_KEYRING_SOCKET=/tmp/keyring-116Pb7/socket + GTK_MODULES=canberra-gtk-module + GTK_RC_FILES=/etc/gtk/gtkrc:/home/andrey/.gtkrc-1.2-gnome2 + HOME=/home/andrey + LANG=ru_RU.UTF-8 + LD_LIBRARY_PATH=/usr/lib/qtcreator: + LOGNAME=andrey + ORBIT_SOCKETDIR=/tmp/orbit-andrey + PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PWD=/home/andrey + QTDIR=/usr + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1205,unix/buull-eeePC:/tmp/.ICE-unix/1205 + SHELL=/bin/bash + SPEECHD_PORT=7560 + SSH_AGENT_PID=1318 + SSH_AUTH_SOCK=/tmp/keyring-116Pb7/socket.ssh + USER=andrey + USERNAME=andrey + XAUTHORITY=/var/run/gdm/auth-for-andrey-9AQSnh/database + XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ + XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1264754424.556816-274237329 - false - - -j3 - -w + + -j3 + -w - D:/Qt/2010.01/mingw/bin/mingw32-make.exe - true - C:/aliendefender - - -j3 + /usr/bin/make + true + /home/andrey/projects/aliendefender + + -j3 buildconfiguration-Debug-cleanstep0 - - Debug - - ALLUSERSPROFILE=C:\Documents and Settings\All Users - APPDATA=C:\Documents and Settings\Andrey\Application Data - COMMONPROGRAMFILES=C:\Program Files\Common Files - COMPUTERNAME=COMP - COMSPEC=C:\WINDOWS\system32\cmd.exe - FP_NO_HOST_CHECK=NO - HOMEDRIVE=C: - HOMEPATH=\Documents and Settings\Andrey - INCLUDE=C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include - LIB=C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib - LOGONSERVER=\\COMP - MSDEVDIR=C:\Program Files\Microsoft Visual Studio\Common\MSDev98 - NUMBER_OF_PROCESSORS=2 - OS=Windows_NT - PATH=D:\Qt\2010.01\mingw\bin;D:\Qt\2010.01\qt\bin;C:\Program Files\PC Connectivity Solution\;C:\Program Files\JavaFX\javafx-sdk1.2\bin;C:\Program Files\JavaFX\javafx-sdk1.2\emulator\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\Borland\Delphi7\Bin;C:\Program Files\Borland\Delphi7\Projects\Bpl;C:\Program Files\Git\cmd;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin - PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH - PROCESSOR_ARCHITECTURE=x86 - PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel - PROCESSOR_LEVEL=6 - PROCESSOR_REVISION=1706 - PROGRAMFILES=C:\Program Files - QTDIR=D:/Qt/2010.01/qt - SESSIONNAME=Console - SYSTEMDRIVE=C: - SYSTEMROOT=C:\WINDOWS - TEMP=C:\DOCUME~1\Andrey\LOCALS~1\Temp - TMP=C:\DOCUME~1\Andrey\LOCALS~1\Temp - USERDOMAIN=COMP - USERNAME=Andrey - USERPROFILE=C:\Documents and Settings\Andrey - VS90COMNTOOLS=D:\Programming\Microsoft Visual Studio 9.0\Common7\Tools\ - VXIPNPPATH=C:\Program Files\IVI Foundation\VISA\ - WINDIR=C:\WINDOWS + + Debug + + DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-S5Q8zKlbhY,guid=6ef5dd4aeeaf9cb3055a39934b629f00 + DESKTOP_SESSION=gnome + DESKTOP_STARTUP_ID= + DISPLAY=:0.0 + GDMSESSION=gnome + GDM_KEYBOARD_LAYOUT=us + GDM_LANG=ru_RU.UTF-8 + GNOME_DESKTOP_SESSION_ID=this-is-deprecated + GNOME_KEYRING_SOCKET=/tmp/keyring-116Pb7/socket + GTK_MODULES=canberra-gtk-module + GTK_RC_FILES=/etc/gtk/gtkrc:/home/andrey/.gtkrc-1.2-gnome2 + HOME=/home/andrey + LANG=ru_RU.UTF-8 + LD_LIBRARY_PATH=/usr/lib/qtcreator: + LOGNAME=andrey + ORBIT_SOCKETDIR=/tmp/orbit-andrey + PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games + PWD=/home/andrey + QTDIR=/usr + SESSION_MANAGER=local/buull-eeePC:@/tmp/.ICE-unix/1205,unix/buull-eeePC:/tmp/.ICE-unix/1205 + SHELL=/bin/bash + SPEECHD_PORT=7560 + SSH_AGENT_PID=1318 + SSH_AUTH_SOCK=/tmp/keyring-116Pb7/socket.ssh + USER=andrey + USERNAME=andrey + XAUTHORITY=/var/run/gdm/auth-for-andrey-9AQSnh/database + XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ + XDG_SESSION_COOKIE=f0649decca52f2beb55c9ea74ad1d028-1264754424.556816-274237329 - true - - clean - -w - - D:/Qt/2010.01/mingw/bin/mingw32-make.exe - true - C:/aliendefender - true - - clean + + clean + -w + /usr/bin/make + true + /home/andrey/projects/aliendefender buildconfiguration-Release-buildstep0 - - Release - + + Release + 0 buildconfiguration-Release-buildstep1 - - Release + + Release buildconfiguration-Release-cleanstep0 - - Release + + Release buildconfigurations - - Debug - Release + + Debug + Release buildstep0 - - - + + + buildstep1 - - + + buildsteps - - trolltech.qt4projectmanager.qmake - trolltech.qt4projectmanager.make + + trolltech.qt4projectmanager.qmake + trolltech.qt4projectmanager.make cleanstep0 - - - true + + + true cleansteps - - trolltech.qt4projectmanager.make + + trolltech.qt4projectmanager.make defaultFileEncoding - UTF-8 + UTF-8 project - +