Renombradas las variables de bullet.cpp
This commit is contained in:
@@ -328,7 +328,7 @@ void Balloon::render()
|
|||||||
{
|
{
|
||||||
mSprite->render();
|
mSprite->render();
|
||||||
|
|
||||||
if (mKind == POWER_BALL)
|
if (mKind == POWER_BALL and !mPopping)
|
||||||
{
|
{
|
||||||
Sprite *sp = new Sprite(mSprite->getRect(), mSprite->getTexture(), mSprite->getRenderer());
|
Sprite *sp = new Sprite(mSprite->getRect(), mSprite->getTexture(), mSprite->getRenderer());
|
||||||
sp->setSpriteClip(370, 148, 37, 37);
|
sp->setSpriteClip(370, 148, 37, 37);
|
||||||
|
|||||||
@@ -4,70 +4,70 @@
|
|||||||
// Constructor
|
// Constructor
|
||||||
Bullet::Bullet(int x, int y, int kind, bool poweredUp, int owner, LTexture *texture, SDL_Renderer *renderer)
|
Bullet::Bullet(int x, int y, int kind, bool poweredUp, int owner, LTexture *texture, SDL_Renderer *renderer)
|
||||||
{
|
{
|
||||||
mSprite = new Sprite({x, y, 10, 10}, texture, renderer);
|
sprite = new Sprite({x, y, 10, 10}, texture, renderer);
|
||||||
|
|
||||||
// Posición inicial del objeto
|
// Posición inicial del objeto
|
||||||
mPosX = x;
|
posX = x;
|
||||||
mPosY = y;
|
posY = y;
|
||||||
|
|
||||||
// Alto y ancho del objeto
|
// Alto y ancho del objeto
|
||||||
mWidth = 10;
|
width = 10;
|
||||||
mHeight = 10;
|
height = 10;
|
||||||
|
|
||||||
// Velocidad inicial en el eje Y
|
// Velocidad inicial en el eje Y
|
||||||
mVelY = -3;
|
velY = -3;
|
||||||
|
|
||||||
// Tipo de bala
|
// Tipo de bala
|
||||||
mKind = kind;
|
this->kind = kind;
|
||||||
|
|
||||||
// Identificador del dueño del objeto
|
// Identificador del dueño del objeto
|
||||||
mOwner = owner;
|
this->owner = owner;
|
||||||
|
|
||||||
// Valores especificos según el tipo
|
// Valores especificos según el tipo
|
||||||
switch (kind)
|
switch (kind)
|
||||||
{
|
{
|
||||||
case BULLET_UP:
|
case BULLET_UP:
|
||||||
// Establece la velocidad inicial
|
// Establece la velocidad inicial
|
||||||
mVelX = 0;
|
velX = 0;
|
||||||
|
|
||||||
// Rectangulo con los gráficos del objeto
|
// Rectangulo con los gráficos del objeto
|
||||||
if (!poweredUp)
|
if (!poweredUp)
|
||||||
{
|
{
|
||||||
mSprite->setSpriteClip(0 * mWidth, 0, mSprite->getWidth(), mSprite->getHeight());
|
sprite->setSpriteClip(0 * width, 0, sprite->getWidth(), sprite->getHeight());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mSprite->setSpriteClip((0 + 3) * mWidth, 0, mSprite->getWidth(), mSprite->getHeight());
|
sprite->setSpriteClip((0 + 3) * width, 0, sprite->getWidth(), sprite->getHeight());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BULLET_LEFT:
|
case BULLET_LEFT:
|
||||||
// Establece la velocidad inicial
|
// Establece la velocidad inicial
|
||||||
mVelX = -2;
|
velX = -2;
|
||||||
|
|
||||||
// Rectangulo con los gráficos del objeto
|
// Rectangulo con los gráficos del objeto
|
||||||
if (!poweredUp)
|
if (!poweredUp)
|
||||||
{
|
{
|
||||||
mSprite->setSpriteClip(1 * mWidth, 0, mSprite->getWidth(), mSprite->getHeight());
|
sprite->setSpriteClip(1 * width, 0, sprite->getWidth(), sprite->getHeight());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mSprite->setSpriteClip((1 + 3) * mWidth, 0, mSprite->getWidth(), mSprite->getHeight());
|
sprite->setSpriteClip((1 + 3) * width, 0, sprite->getWidth(), sprite->getHeight());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BULLET_RIGHT:
|
case BULLET_RIGHT:
|
||||||
// Establece la velocidad inicial
|
// Establece la velocidad inicial
|
||||||
mVelX = 2;
|
velX = 2;
|
||||||
|
|
||||||
// Rectangulo con los gráficos del objeto
|
// Rectangulo con los gráficos del objeto
|
||||||
if (!poweredUp)
|
if (!poweredUp)
|
||||||
{
|
{
|
||||||
mSprite->setSpriteClip(2 * mWidth, 0, mSprite->getWidth(), mSprite->getHeight());
|
sprite->setSpriteClip(2 * width, 0, sprite->getWidth(), sprite->getHeight());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mSprite->setSpriteClip((2 + 3) * mWidth, 0, mSprite->getWidth(), mSprite->getHeight());
|
sprite->setSpriteClip((2 + 3) * width, 0, sprite->getWidth(), sprite->getHeight());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ Bullet::Bullet(int x, int y, int kind, bool poweredUp, int owner, LTexture *text
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Establece el tamaño del circulo de colisión
|
// Establece el tamaño del circulo de colisión
|
||||||
mCollider.r = mWidth / 2;
|
collider.r = width / 2;
|
||||||
|
|
||||||
// Alinea el circulo de colisión con el objeto
|
// Alinea el circulo de colisión con el objeto
|
||||||
shiftColliders();
|
shiftColliders();
|
||||||
@@ -85,13 +85,13 @@ Bullet::Bullet(int x, int y, int kind, bool poweredUp, int owner, LTexture *text
|
|||||||
// Destructor
|
// Destructor
|
||||||
Bullet::~Bullet()
|
Bullet::~Bullet()
|
||||||
{
|
{
|
||||||
delete mSprite;
|
delete sprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pinta el objeto en pantalla
|
// Pinta el objeto en pantalla
|
||||||
void Bullet::render()
|
void Bullet::render()
|
||||||
{
|
{
|
||||||
mSprite->render();
|
sprite->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza la posición y estado del objeto en horizontal
|
// Actualiza la posición y estado del objeto en horizontal
|
||||||
@@ -101,34 +101,34 @@ Uint8 Bullet::move()
|
|||||||
Uint8 msg = BULLET_MOVE_OK;
|
Uint8 msg = BULLET_MOVE_OK;
|
||||||
|
|
||||||
// Mueve el objeto a su nueva posición
|
// Mueve el objeto a su nueva posición
|
||||||
mPosX += mVelX;
|
posX += velX;
|
||||||
|
|
||||||
// Si el objeto se sale del area de juego por los laterales
|
// Si el objeto se sale del area de juego por los laterales
|
||||||
if ((mPosX < PLAY_AREA_LEFT) || (mPosX + mWidth > PLAY_AREA_RIGHT))
|
if ((posX < PLAY_AREA_LEFT) || (posX + width > PLAY_AREA_RIGHT))
|
||||||
{
|
{
|
||||||
// Se deshabilita
|
// Se deshabilita
|
||||||
mKind = NO_KIND;
|
kind = NO_KIND;
|
||||||
|
|
||||||
// Mensaje de salida
|
// Mensaje de salida
|
||||||
msg = BULLET_MOVE_OUT;
|
msg = BULLET_MOVE_OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mueve el objeto a su nueva posición en vertical
|
// Mueve el objeto a su nueva posición en vertical
|
||||||
mPosY += int(mVelY);
|
posY += int(velY);
|
||||||
|
|
||||||
// Si el objeto se sale del area de juego por la parte superior o inferior
|
// Si el objeto se sale del area de juego por la parte superior o inferior
|
||||||
if ((mPosY < PLAY_AREA_TOP) || (mPosY + mHeight > PLAY_AREA_BOTTOM))
|
if ((posY < PLAY_AREA_TOP) || (posY + height > PLAY_AREA_BOTTOM))
|
||||||
{
|
{
|
||||||
// Se deshabilita
|
// Se deshabilita
|
||||||
mKind = NO_KIND;
|
kind = NO_KIND;
|
||||||
|
|
||||||
// Mensaje de salida
|
// Mensaje de salida
|
||||||
msg = BULLET_MOVE_OUT;
|
msg = BULLET_MOVE_OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza la posición del sprite
|
// Actualiza la posición del sprite
|
||||||
mSprite->setPosX(mPosX);
|
sprite->setPosX(posX);
|
||||||
mSprite->setPosY(mPosY);
|
sprite->setPosY(posY);
|
||||||
|
|
||||||
// Alinea el circulo de colisión con el objeto
|
// Alinea el circulo de colisión con el objeto
|
||||||
shiftColliders();
|
shiftColliders();
|
||||||
@@ -136,10 +136,10 @@ Uint8 Bullet::move()
|
|||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba si el objeto está activo
|
// Comprueba si el objeto está habilitado
|
||||||
bool Bullet::isActive()
|
bool Bullet::isEnabled()
|
||||||
{
|
{
|
||||||
if (mKind == NO_KIND)
|
if (kind == NO_KIND)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -149,63 +149,63 @@ bool Bullet::isActive()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Desactiva el objeto
|
// Deshabilita el objeto
|
||||||
void Bullet::deactivate()
|
void Bullet::disable()
|
||||||
{
|
{
|
||||||
mKind = NO_KIND;
|
kind = NO_KIND;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene el valor de la variable
|
// Obtiene el valor de la variable
|
||||||
int Bullet::getPosX()
|
int Bullet::getPosX()
|
||||||
{
|
{
|
||||||
return mPosX;
|
return posX;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene el valor de la variable
|
// Obtiene el valor de la variable
|
||||||
int Bullet::getPosY()
|
int Bullet::getPosY()
|
||||||
{
|
{
|
||||||
return mPosY;
|
return posY;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void Bullet::setPosX(int x)
|
void Bullet::setPosX(int x)
|
||||||
{
|
{
|
||||||
mPosX = x;
|
posX = x;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void Bullet::setPosY(int y)
|
void Bullet::setPosY(int y)
|
||||||
{
|
{
|
||||||
mPosY = y;
|
posY = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene el valor de la variable
|
// Obtiene el valor de la variable
|
||||||
int Bullet::getVelY()
|
int Bullet::getVelY()
|
||||||
{
|
{
|
||||||
return mVelY;
|
return velY;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene el valor de la variable
|
// Obtiene el valor de la variable
|
||||||
int Bullet::getKind()
|
int Bullet::getKind()
|
||||||
{
|
{
|
||||||
return mKind;
|
return kind;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene el valor de la variable
|
// Obtiene el valor de la variable
|
||||||
int Bullet::getOwner()
|
int Bullet::getOwner()
|
||||||
{
|
{
|
||||||
return mOwner;
|
return owner;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene el circulo de colisión
|
// Obtiene el circulo de colisión
|
||||||
circle_t &Bullet::getCollider()
|
circle_t &Bullet::getCollider()
|
||||||
{
|
{
|
||||||
return mCollider;
|
return collider;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Alinea el circulo de colisión con el objeto
|
// Alinea el circulo de colisión con el objeto
|
||||||
void Bullet::shiftColliders()
|
void Bullet::shiftColliders()
|
||||||
{
|
{
|
||||||
mCollider.x = mPosX + mCollider.r;
|
collider.x = posX + collider.r;
|
||||||
mCollider.y = mPosY + mCollider.r;
|
collider.y = posY + collider.r;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,16 +20,19 @@
|
|||||||
class Bullet
|
class Bullet
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
int mPosX; // Posición en el eje X
|
// Objetos
|
||||||
int mPosY; // Posición en el eje Y
|
Sprite *sprite; // Sprite con los graficos y métodos de pintado
|
||||||
Uint8 mWidth; // Ancho del objeto
|
|
||||||
Uint8 mHeight; // Alto del objeto
|
// Variables
|
||||||
int mVelX; // Velocidad en el eje X
|
int posX; // Posición en el eje X
|
||||||
int mVelY; // Velocidad en el eje Y
|
int posY; // Posición en el eje Y
|
||||||
int mKind; // Tipo de objeto
|
Uint8 width; // Ancho del objeto
|
||||||
int mOwner; // Identificador del dueño del objeto
|
Uint8 height; // Alto del objeto
|
||||||
Sprite *mSprite; // Sprite con los graficos y métodos de pintado
|
int velX; // Velocidad en el eje X
|
||||||
circle_t mCollider; // Circulo de colisión del objeto
|
int velY; // Velocidad en el eje Y
|
||||||
|
int kind; // Tipo de objeto
|
||||||
|
int owner; // Identificador del dueño del objeto
|
||||||
|
circle_t collider; // Circulo de colisión del objeto
|
||||||
|
|
||||||
// Alinea el circulo de colisión con el objeto
|
// Alinea el circulo de colisión con el objeto
|
||||||
void shiftColliders();
|
void shiftColliders();
|
||||||
@@ -47,11 +50,11 @@ public:
|
|||||||
// Actualiza la posición y estado del objeto
|
// Actualiza la posición y estado del objeto
|
||||||
Uint8 move();
|
Uint8 move();
|
||||||
|
|
||||||
// Comprueba si el objeto está activo
|
// Comprueba si el objeto está habilitado
|
||||||
bool isActive();
|
bool isEnabled();
|
||||||
|
|
||||||
// Desactiva el objeto
|
// Deshabilita el objeto
|
||||||
void deactivate();
|
void disable();
|
||||||
|
|
||||||
// Obtiene el valor de la variable
|
// Obtiene el valor de la variable
|
||||||
int getPosX();
|
int getPosX();
|
||||||
|
|||||||
@@ -2187,7 +2187,7 @@ void Game::checkBulletBalloonCollision()
|
|||||||
{
|
{
|
||||||
for (auto balloon : balloons)
|
for (auto balloon : balloons)
|
||||||
{
|
{
|
||||||
if (balloon->isEnabled() && (!balloon->isInvulnerable()) && bullet->isActive())
|
if (balloon->isEnabled() && (!balloon->isInvulnerable()) && bullet->isEnabled())
|
||||||
{
|
{
|
||||||
if (checkCollision(balloon->getCollider(), bullet->getCollider()))
|
if (checkCollision(balloon->getCollider(), bullet->getCollider()))
|
||||||
{
|
{
|
||||||
@@ -2206,8 +2206,8 @@ void Game::checkBulletBalloonCollision()
|
|||||||
JA_PlaySound(mSoundBalloon);
|
JA_PlaySound(mSoundBalloon);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Desactiva la bala
|
// Deshabilita la bala
|
||||||
bullet->deactivate();
|
bullet->disable();
|
||||||
|
|
||||||
// Suelta el item en caso de que salga uno
|
// Suelta el item en caso de que salga uno
|
||||||
const Uint8 droppeditem = dropItem();
|
const Uint8 droppeditem = dropItem();
|
||||||
@@ -2237,7 +2237,7 @@ void Game::moveBullets()
|
|||||||
{
|
{
|
||||||
for (auto bullet : bullets)
|
for (auto bullet : bullets)
|
||||||
{
|
{
|
||||||
if (bullet->isActive())
|
if (bullet->isEnabled())
|
||||||
{
|
{
|
||||||
if (bullet->move() == BULLET_MOVE_OUT)
|
if (bullet->move() == BULLET_MOVE_OUT)
|
||||||
{
|
{
|
||||||
@@ -2252,7 +2252,7 @@ void Game::renderBullets()
|
|||||||
{
|
{
|
||||||
for (auto bullet : bullets)
|
for (auto bullet : bullets)
|
||||||
{
|
{
|
||||||
if (bullet->isActive())
|
if (bullet->isEnabled())
|
||||||
{
|
{
|
||||||
bullet->render();
|
bullet->render();
|
||||||
}
|
}
|
||||||
@@ -2273,7 +2273,7 @@ void Game::freeBullets()
|
|||||||
{
|
{
|
||||||
for (int i = bullets.size() - 1; i >= 0; --i)
|
for (int i = bullets.size() - 1; i >= 0; --i)
|
||||||
{
|
{
|
||||||
if (bullets.at(i)->isActive() == false)
|
if (bullets.at(i)->isEnabled() == false)
|
||||||
{
|
{
|
||||||
delete bullets.at(i);
|
delete bullets.at(i);
|
||||||
bullets.erase(bullets.begin() + i);
|
bullets.erase(bullets.begin() + i);
|
||||||
|
|||||||
2
todo.txt
2
todo.txt
@@ -2,7 +2,7 @@ los items se quedan pegados en el techo
|
|||||||
la maquina de cafe no toca el suelo
|
la maquina de cafe no toca el suelo
|
||||||
las bolas verdes nacen naranja al explotarlas
|
las bolas verdes nacen naranja al explotarlas
|
||||||
falta el aura de superguerrero al pillar la maquina de cafe
|
falta el aura de superguerrero al pillar la maquina de cafe
|
||||||
la powerball deja la mascara al explotarlas
|
x la powerball deja la mascara al explotarlas
|
||||||
los menus de pausa y game over falta poner bien los textos
|
los menus de pausa y game over falta poner bien los textos
|
||||||
cuando continuas la partida sigues muerto
|
cuando continuas la partida sigues muerto
|
||||||
poder elegir el personaje para jugar
|
poder elegir el personaje para jugar
|
||||||
|
|||||||
Reference in New Issue
Block a user