working on 2players
This commit is contained in:
@@ -8,6 +8,20 @@
|
|||||||
// Clase bala
|
// Clase bala
|
||||||
class Bullet
|
class Bullet
|
||||||
{
|
{
|
||||||
|
private:
|
||||||
|
int mPosX; // Posición en el eje X
|
||||||
|
int mPosY; // Posición en el eje Y
|
||||||
|
Uint8 mWidth; // Ancho del objeto
|
||||||
|
Uint8 mHeight; // Alto del objeto
|
||||||
|
int mVelX; // Velocidad en el eje X
|
||||||
|
int mVelY; // Velocidad en el eje Y
|
||||||
|
int mKind; // Tipo de objeto
|
||||||
|
Sprite *mSprite; // Sprite con los graficos y métodos de pintado
|
||||||
|
circle_t mCollider; // Circulo de colisión del objeto
|
||||||
|
|
||||||
|
// Alinea el circulo de colisión con el objeto
|
||||||
|
void shiftColliders();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Bullet();
|
Bullet();
|
||||||
@@ -16,11 +30,11 @@ public:
|
|||||||
~Bullet();
|
~Bullet();
|
||||||
|
|
||||||
// Iniciador
|
// Iniciador
|
||||||
void init(int x, int y, int kind, bool poweredUp, LTexture* texture, SDL_Renderer *renderer);
|
void init(int x, int y, int kind, bool poweredUp, LTexture *texture, SDL_Renderer *renderer);
|
||||||
|
|
||||||
// Pinta el objeto en pantalla
|
// Pinta el objeto en pantalla
|
||||||
void render();
|
void render();
|
||||||
|
|
||||||
// Actualiza la posición y estado del objeto
|
// Actualiza la posición y estado del objeto
|
||||||
Uint8 move();
|
Uint8 move();
|
||||||
|
|
||||||
@@ -50,31 +64,6 @@ public:
|
|||||||
|
|
||||||
// Obtiene el circulo de colisión
|
// Obtiene el circulo de colisión
|
||||||
circle_t &getCollider();
|
circle_t &getCollider();
|
||||||
|
|
||||||
private:
|
|
||||||
// Posición X/Y del objeto
|
|
||||||
int mPosX;
|
|
||||||
int mPosY;
|
|
||||||
|
|
||||||
// Alto y ancho el objeto
|
|
||||||
Uint8 mWidth;
|
|
||||||
Uint8 mHeight;
|
|
||||||
|
|
||||||
// Velocidad del objeto
|
|
||||||
int mVelX;
|
|
||||||
int mVelY;
|
|
||||||
|
|
||||||
// Tipo de objeto
|
|
||||||
int mKind;
|
|
||||||
|
|
||||||
// Sprite con los graficos y métodos de pintado
|
|
||||||
Sprite *mSprite;
|
|
||||||
|
|
||||||
// Balloon's collision circle
|
|
||||||
circle_t mCollider;
|
|
||||||
|
|
||||||
// Alinea el circulo de colisión con el objeto
|
|
||||||
void shiftColliders();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ void Game::initSin()
|
|||||||
{
|
{
|
||||||
// Vector con los valores del seno para 360 grados
|
// Vector con los valores del seno para 360 grados
|
||||||
for (int i = 0; i < 360; i++)
|
for (int i = 0; i < 360; i++)
|
||||||
mSin[i] = sin((float)i * 3.14f / 180.0f);
|
mSin[i] = SDL_sinf((float)i * 3.14f / 180.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inicializa las variables necesarias para la sección 'Game'
|
// Inicializa las variables necesarias para la sección 'Game'
|
||||||
@@ -1863,11 +1863,6 @@ void Game::updateBalloonSpeed()
|
|||||||
// Explosiona un globo. Lo destruye y crea otros dos si es el caso
|
// Explosiona un globo. Lo destruye y crea otros dos si es el caso
|
||||||
void Game::popBalloon(Uint8 index)
|
void Game::popBalloon(Uint8 index)
|
||||||
{
|
{
|
||||||
// Otorga los puntos correspondientes al globo
|
|
||||||
mPlayer[0]->addScore(Uint32(mBalloon[index]->getScore() * mPlayer[0]->getScoreMultiplier()));
|
|
||||||
setScore(mPlayer[0]->getScore());
|
|
||||||
updateHiScore();
|
|
||||||
|
|
||||||
// Aumenta el poder de la fase
|
// Aumenta el poder de la fase
|
||||||
increaseStageCurrentPower(1);
|
increaseStageCurrentPower(1);
|
||||||
mBalloonsPopped++;
|
mBalloonsPopped++;
|
||||||
@@ -2107,12 +2102,23 @@ void Game::checkBulletBalloonCollision()
|
|||||||
if (mBalloon[i]->isEnabled() && (!mBalloon[i]->isInvulnerable()) && mBullet[j]->isActive())
|
if (mBalloon[i]->isEnabled() && (!mBalloon[i]->isInvulnerable()) && mBullet[j]->isActive())
|
||||||
if (checkCollision(mBalloon[i]->getCollider(), mBullet[j]->getCollider()))
|
if (checkCollision(mBalloon[i]->getCollider(), mBullet[j]->getCollider()))
|
||||||
{
|
{
|
||||||
|
// Otorga los puntos correspondientes al globo
|
||||||
mPlayer[0]->incScoreMultiplier();
|
mPlayer[0]->incScoreMultiplier();
|
||||||
|
mPlayer[0]->addScore(Uint32(mBalloon[i]->getScore() * mPlayer[0]->getScoreMultiplier()));
|
||||||
|
setScore(mPlayer[0]->getScore());
|
||||||
|
updateHiScore();
|
||||||
|
|
||||||
|
// Explota el globo
|
||||||
popBalloon(i);
|
popBalloon(i);
|
||||||
|
|
||||||
|
// Si no es el modo demo, genera un sonido
|
||||||
if (!mDemo.enabled)
|
if (!mDemo.enabled)
|
||||||
JA_PlaySound(mSoundBalloon);
|
JA_PlaySound(mSoundBalloon);
|
||||||
|
|
||||||
|
// Destruye la bala
|
||||||
mBullet[j]->erase();
|
mBullet[j]->erase();
|
||||||
evaluateAndSetMenace();
|
|
||||||
|
// Suelta el item en caso de que salga uno
|
||||||
const Uint8 droppeditem = dropItem();
|
const Uint8 droppeditem = dropItem();
|
||||||
if ((droppeditem != NO_KIND) && !(mDemo.enabled) && !(mDemo.recording))
|
if ((droppeditem != NO_KIND) && !(mDemo.enabled) && !(mDemo.recording))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#ifdef _WIN64
|
#ifdef _WIN64
|
||||||
#include "C:\mingw_dev_lib\include\SDL2\SDL.h"
|
#include "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++\SDL2\SDL.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include "C:\mingw_dev_lib\include\SDL2\SDL.h"
|
#include "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0\include\c++\SDL2\SDL.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
|
|||||||
@@ -37,11 +37,13 @@ un tipo asociado diferente a NO_KIND
|
|||||||
#include "director.h"
|
#include "director.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <ctime>
|
||||||
|
|
||||||
int main(int argc, char *args[])
|
int main(int argc, char *args[])
|
||||||
{
|
{
|
||||||
// Inicia el generador de numeros aleatorios
|
// Inicia el generador de numeros aleatorios
|
||||||
srand(time(nullptr));
|
//srand(time(nullptr));
|
||||||
|
std::srand(static_cast<unsigned int>(std::time(nullptr)));
|
||||||
|
|
||||||
// Crea el objeto mDirector
|
// Crea el objeto mDirector
|
||||||
Director *mDirector = new Director(args[0]);
|
Director *mDirector = new Director(args[0]);
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ void Title::init(bool demo, Uint8 subsection)
|
|||||||
// Inicializa los valores del vector con los valores del seno
|
// Inicializa los valores del vector con los valores del seno
|
||||||
for (int i = 0; i < 360; i++)
|
for (int i = 0; i < 360; i++)
|
||||||
{
|
{
|
||||||
mSin[i] = sin((float)i * 3.14f / 180.0f);
|
mSin[i] = SDL_sinf((float)i * 3.14f / 180.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inicializa los objetos de menu
|
// Inicializa los objetos de menu
|
||||||
|
|||||||
Reference in New Issue
Block a user