tornem al pc d'anit

This commit is contained in:
2025-07-12 09:55:56 +02:00
parent 6082a72392
commit 719c448779
5 changed files with 25 additions and 17 deletions

View File

@@ -648,8 +648,7 @@ void Game::renderBullets()
// Crea un objeto bala
void Game::createBullet(int x, int y, BulletType kind, bool powered_up, int owner)
{
bullets_.emplace_back(
std::make_unique<Bullet>(x, y, kind, powered_up, owner));
bullets_.emplace_back(std::make_unique<Bullet>(x, y, kind, powered_up, owner));
}
// Vacia el vector de balas
@@ -1427,25 +1426,32 @@ void Game::DEMO_handlePlayerInput(const std::shared_ptr<Player> &player, int ind
}
// Maneja el disparo de un jugador, incluyendo la creación de balas y la gestión del tiempo de espera entre disparos.
void Game::handleFireInput(const std::shared_ptr<Player> &player, BulletType bulletType)
void Game::handleFireInput(const std::shared_ptr<Player> &player, BulletType bullet_type)
{
if (player->canFire())
{
switch (bulletType)
SDL_Point bullet = {0, 0};
switch (bullet_type)
{
case BulletType::UP:
player->setInput(InputAction::FIRE_CENTER);
bullet.x = 2 + player->getPosX() + (player->getWidth() - Bullet::WIDTH) / 2;
bullet.y = player->getPosY() - (Bullet::HEIGHT / 2);
break;
case BulletType::LEFT:
player->setInput(InputAction::FIRE_LEFT);
bullet.x = player->getPosX() - (Bullet::WIDTH / 2);
bullet.y = player->getPosY();
break;
case BulletType::RIGHT:
player->setInput(InputAction::FIRE_RIGHT);
bullet.x = player->getPosX() + player->getWidth() - (Bullet::WIDTH / 2);
bullet.y = player->getPosY();
break;
default:
break;
}
createBullet(player->getPosX() + (player->getWidth() / 2) - 6, player->getPosY() + (player->getHeight() / 2), bulletType, player->isPowerUp(), player->getId());
createBullet(bullet.x, bullet.y, bullet_type, player->isPowerUp(), player->getId());
playSound("bullet.wav");
// Establece un tiempo de espera para el próximo disparo.