Afegides implementacions (fora del codi) que ha fet chatGPT de la classe bullet
This commit is contained in:
62
bullet-chatGPT.h
Normal file
62
bullet-chatGPT.h
Normal file
@@ -0,0 +1,62 @@
|
||||
#pragma once
|
||||
|
||||
#include <SDL2/SDL_rect.h> // for SDL_Rect
|
||||
#include <SDL2/SDL_stdinc.h> // for Uint8
|
||||
#include "utils.h" // for circle_t
|
||||
#include <memory> // for std::unique_ptr
|
||||
|
||||
class Sprite;
|
||||
class Texture;
|
||||
|
||||
// Enumeración para los diferentes tipos de balas
|
||||
enum class BulletType {
|
||||
UP,
|
||||
LEFT,
|
||||
RIGHT,
|
||||
NULL_TYPE
|
||||
};
|
||||
|
||||
// Enumeración para los resultados del movimiento de la bala
|
||||
enum class BulletMoveStatus : Uint8 {
|
||||
OK = 0,
|
||||
OUT = 1
|
||||
};
|
||||
|
||||
// Clase Bullet
|
||||
class Bullet
|
||||
{
|
||||
private:
|
||||
std::unique_ptr<Sprite> sprite; // Sprite con los gráficos y métodos de pintado
|
||||
|
||||
int posX; // Posición en el eje X
|
||||
int posY; // Posición en el eje Y
|
||||
Uint8 width; // Ancho del objeto
|
||||
Uint8 height; // Alto del objeto
|
||||
int velX; // Velocidad en el eje X
|
||||
int velY; // Velocidad en el eje Y
|
||||
BulletType kind; // Tipo de objeto
|
||||
int owner; // Identificador del dueño del objeto
|
||||
circle_t collider; // Círculo de colisión del objeto
|
||||
SDL_Rect *playArea; // Rectángulo con la zona de juego
|
||||
|
||||
void shiftColliders(); // Alinea el círculo de colisión con el objeto
|
||||
|
||||
public:
|
||||
Bullet(int x, int y, BulletType kind, bool poweredUp, int owner, SDL_Rect *playArea, Texture *texture);
|
||||
~Bullet() = default;
|
||||
|
||||
void render(); // Pinta el objeto en pantalla
|
||||
BulletMoveStatus move(); // Actualiza la posición y estado del objeto
|
||||
|
||||
bool isEnabled() const; // Comprueba si el objeto está habilitado
|
||||
void disable(); // Deshabilita el objeto
|
||||
|
||||
int getPosX() const;
|
||||
int getPosY() const;
|
||||
void setPosX(int x);
|
||||
void setPosY(int y);
|
||||
int getVelY() const;
|
||||
BulletType getKind() const;
|
||||
int getOwner() const;
|
||||
circle_t& getCollider();
|
||||
};
|
||||
Reference in New Issue
Block a user