working on 2players
This commit is contained in:
@@ -8,6 +8,20 @@
|
||||
// Clase bala
|
||||
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:
|
||||
// Constructor
|
||||
Bullet();
|
||||
@@ -16,11 +30,11 @@ public:
|
||||
~Bullet();
|
||||
|
||||
// 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
|
||||
void render();
|
||||
|
||||
|
||||
// Actualiza la posición y estado del objeto
|
||||
Uint8 move();
|
||||
|
||||
@@ -50,31 +64,6 @@ public:
|
||||
|
||||
// Obtiene el circulo de colisión
|
||||
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
|
||||
|
||||
@@ -254,7 +254,7 @@ void Game::initSin()
|
||||
{
|
||||
// Vector con los valores del seno para 360 grados
|
||||
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'
|
||||
@@ -1863,11 +1863,6 @@ void Game::updateBalloonSpeed()
|
||||
// Explosiona un globo. Lo destruye y crea otros dos si es el caso
|
||||
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
|
||||
increaseStageCurrentPower(1);
|
||||
mBalloonsPopped++;
|
||||
@@ -2107,12 +2102,23 @@ void Game::checkBulletBalloonCollision()
|
||||
if (mBalloon[i]->isEnabled() && (!mBalloon[i]->isInvulnerable()) && mBullet[j]->isActive())
|
||||
if (checkCollision(mBalloon[i]->getCollider(), mBullet[j]->getCollider()))
|
||||
{
|
||||
// Otorga los puntos correspondientes al globo
|
||||
mPlayer[0]->incScoreMultiplier();
|
||||
mPlayer[0]->addScore(Uint32(mBalloon[i]->getScore() * mPlayer[0]->getScoreMultiplier()));
|
||||
setScore(mPlayer[0]->getScore());
|
||||
updateHiScore();
|
||||
|
||||
// Explota el globo
|
||||
popBalloon(i);
|
||||
|
||||
// Si no es el modo demo, genera un sonido
|
||||
if (!mDemo.enabled)
|
||||
JA_PlaySound(mSoundBalloon);
|
||||
|
||||
// Destruye la bala
|
||||
mBullet[j]->erase();
|
||||
evaluateAndSetMenace();
|
||||
|
||||
// Suelta el item en caso de que salga uno
|
||||
const Uint8 droppeditem = dropItem();
|
||||
if ((droppeditem != NO_KIND) && !(mDemo.enabled) && !(mDemo.recording))
|
||||
{
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#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
|
||||
|
||||
#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
|
||||
|
||||
#ifdef __APPLE__
|
||||
|
||||
@@ -37,11 +37,13 @@ un tipo asociado diferente a NO_KIND
|
||||
#include "director.h"
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
#include <ctime>
|
||||
|
||||
int main(int argc, char *args[])
|
||||
{
|
||||
// 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
|
||||
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
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user