this version without bugs
This commit is contained in:
29
aliens.cpp
29
aliens.cpp
@@ -26,6 +26,13 @@ void Aliens::clearAliens()
|
||||
|
||||
bool Aliens::retrace()
|
||||
{
|
||||
for (int i = 0; i < game->size.width(); i++)
|
||||
{
|
||||
for (int j = 0; j < game->size.height(); j++)
|
||||
{
|
||||
if (game->Cells[i][j] == 5) game->Cells[i][j]=0;
|
||||
}
|
||||
}
|
||||
if (!testAlien->RecreatePath()) return false;
|
||||
for (int i=0; i < curAliens.size(); i ++)
|
||||
if (!curAliens.at(i)->RecreatePath()) return false;
|
||||
@@ -55,10 +62,16 @@ int Aliens::loadPixmaps()
|
||||
|
||||
void Aliens::drawAliens()
|
||||
{
|
||||
for (int i=0; i < curAliens.size(); i ++)
|
||||
int n=0;
|
||||
while (n < curAliens.size())
|
||||
{
|
||||
if (!curAliens.at(i)->update()) DelAlien(i);
|
||||
else if (curAliens.at(i)->indexPix() >= AlienPix.size()) curAliens.at(i)->resetIndexPic();
|
||||
if (!curAliens.at(n)->update()) DelAlien(n);
|
||||
else
|
||||
{
|
||||
if (curAliens.at(n)->indexPix() >= AlienPix.size())
|
||||
curAliens.at(n)->resetIndexPic();
|
||||
n++;
|
||||
}
|
||||
}
|
||||
QPainter painter(game->buff);
|
||||
QPen pen(QColor(80,200,100));
|
||||
@@ -68,15 +81,17 @@ void Aliens::drawAliens()
|
||||
painter.drawPixmap(0,0,*game->background);
|
||||
for (int i=0; i < curAliens.size(); i ++)
|
||||
{
|
||||
for (int j = 0; j < curAliens.at(i)->path.size(); j++)
|
||||
/*for (int j = 0; j < curAliens.at(i)->path.size(); j++)
|
||||
painter.drawEllipse(curAliens.at(i)->path.at(j).x()*game->cellsize +4,
|
||||
curAliens.at(i)->path.at(j).y()*game->cellsize +4,
|
||||
game->cellsize - 8,
|
||||
game->cellsize - 8);
|
||||
game->cellsize - 8);*/
|
||||
painter.save();
|
||||
painter.translate(curAliens.at(i)->Pos().x()+game->cellsize/2, curAliens.at(i)->Pos().y()+game->cellsize/2);
|
||||
painter.translate(curAliens.at(i)->Pos().x()+game->cellsize/2,
|
||||
curAliens.at(i)->Pos().y()+game->cellsize/2);
|
||||
painter.rotate(curAliens.at(i)->Angl());
|
||||
painter.drawPixmap(-game->cellsize, -game->cellsize, game->cellsize*2, game->cellsize*2,
|
||||
painter.drawPixmap(-game->cellsize, -game->cellsize,
|
||||
game->cellsize*2, game->cellsize*2,
|
||||
AlienPix[curAliens.at(i)->indexPix()]);
|
||||
painter.restore();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user