Laser naprawiono

This commit is contained in:
2025-01-05 18:20:19 +01:00
parent c4c83382c3
commit 6b45443c75
8 changed files with 39 additions and 35 deletions

View File

@@ -3,7 +3,6 @@
#include "../headers/Plansza.h"
AdvancedEnemy::AdvancedEnemy(int x, int y, const sf::Texture& texture, const sf::Texture& bulletTexture) : Actor(x, y, texture) {
actorSprite.setTexture(texture);
enemyBulletTexture = bulletTexture;
hp = 2; // 2 punkty życia
firerate = 2000; // Strzela co 2

View File

@@ -3,6 +3,7 @@
#include <iostream>
Beam::Beam(int x, int y, const sf::Texture& texture) {
beamSprite.setOrigin(beamSprite.getLocalBounds().width/2, beamSprite.getLocalBounds().height/2);
if (texture.getSize().x > 0 && texture.getSize().y > 0) {
beamSprite.setPosition(x, y);
} else {
@@ -15,3 +16,7 @@ sf::Sprite Beam::getSprite() {
return beamSprite;
}
void Beam::setRotation(float angle) {
beamSprite.setRotation(angle);
}

View File

@@ -4,7 +4,6 @@
#include <random>
Bomber::Bomber(int x, int y, const sf::Texture& texture, const sf::Texture& bulletTexture) : Actor(x, y, texture) {
actorSprite.setTexture(texture);
BombaTexture = bulletTexture;
hp = 2; // 2 punkty życia
firerate = 10000; // Strzela co 10

View File

@@ -3,7 +3,6 @@
#include "../headers/Plansza.h"
Enemy::Enemy(int x, int y, const sf::Texture& texture) : Actor(x, y, texture) {
actorSprite.setTexture(texture);
hp = 1; // Przeciwnik ma 1 punkt życia
firerate = 2000; // Strzela co 2
moving_speed = 2.0f; // Prędkość

View File

@@ -7,7 +7,6 @@
Kamikadze::Kamikadze(int x, int y, const sf::Texture& texture) : Actor(x, y, texture) {
actorSprite.setTexture(texture);
hp = 3; // 3 punkty życia
moving_speed = 2.0f; // Prędkość
}

View File

@@ -111,13 +111,13 @@ void Plansza::update() {
ship->update(); // migotanie statku
update_score(); // naliczanie punktów
// Sprawnowanie wszystkich rodzajów wrogów
// spawn_meteor();
// spawn_hearts();
// spawn_enemy();
// spawn_advanced_enemy();
// spawn_meteor();
// spawn_hearts();
// spawn_enemy();
// spawn_advanced_enemy();
spawn_wiazkowiec();
// spawn_bomber();
// spawn_kamikadze();
// spawn_bomber();
// spawn_kamikadze();
// utrzymanie meteorów i pocisków w ruchu
for (auto &meteor: meteors) {

View File

@@ -9,7 +9,6 @@ Wiazkowiec::Wiazkowiec(int x, int y, const sf::Texture &texture, sf::RenderWindo
beam(nullptr)
{
window_ptr = window;
actorSprite.setTexture(texture);
try {
beamTexture.loadFromFile("../assets/img/wiazka/laser.png");
@@ -34,19 +33,22 @@ void Wiazkowiec::spawnBeam() {
switch (direction) {
case DirectionW::Up: {
beam = new Beam(beamX, beamY - beamTexture.getSize().y, beamTexture);
beam = new Beam(beamX, beamY, beamTexture);
beam->setRotation(180);
break;
}
case DirectionW::Down: {
beam = new Beam(beamX, beamY + actorSprite.getGlobalBounds().height, beamTexture);
beam = new Beam(beamX, beamY, beamTexture);
break;
}
case DirectionW::Left: {
beam = new Beam(beamX - beamTexture.getSize().x, beamY, beamTexture);
beam = new Beam(beamX, beamY, beamTexture);
beam->setRotation(90);
break;
}
case DirectionW::Right: {
beam = new Beam(beamX + actorSprite.getGlobalBounds().width, beamY, beamTexture);
beam = new Beam(beamX, beamY, beamTexture);
beam->setRotation(270);
break;
}
default:
@@ -61,27 +63,26 @@ void Wiazkowiec::spawnBeam() {
void Wiazkowiec::shoot() {
if (!shooting) {
spawnBeam();
std::cout << "Wiazkowiec shot a beam!" << std::endl;
switch (direction) {
case DirectionW::Up: {
std::cout << "Direction is up" << std::endl;
break;
}
case DirectionW::Down: {
std::cout << "Direction is down" << std::endl;
break;
}
case DirectionW::Left: {
std::cout << "Direction is left" << std::endl;
break;
}
case DirectionW::Right: {
std::cout << "Direction is right" << std::endl;
break;
}
default:
break;
}
switch (direction) {
case DirectionW::Up: {
std::cout << "Direction is up" << std::endl;
break;
}
case DirectionW::Down: {
std::cout << "Direction is down" << std::endl;
break;
}
case DirectionW::Left: {
std::cout << "Direction is left" << std::endl;
break;
}
case DirectionW::Right: {
std::cout << "Direction is right" << std::endl;
break;
}
default:
break;
}
}