refactor
This commit is contained in:
@@ -3,8 +3,6 @@
|
||||
|
||||
#include "Enemy.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
enum class DirectionA {
|
||||
Up,
|
||||
Down,
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define LOTOSTATEK_BEAM_H
|
||||
|
||||
#include <SFML/Graphics.hpp>
|
||||
#include "Position.h"
|
||||
|
||||
class Beam {
|
||||
public:
|
||||
|
||||
@@ -2,14 +2,11 @@
|
||||
#define LOTOSTATEK_BULLET_H
|
||||
|
||||
#include "Projectile.h"
|
||||
#include "SFML/Graphics/Texture.hpp"
|
||||
|
||||
class Bullet : public Projectile {
|
||||
public:
|
||||
Bullet(float x, float y, sf::Texture &texture) : Projectile(x,y, texture) {};
|
||||
void update() override;
|
||||
private:
|
||||
float directionY;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
#define LOTOSTATEK_HEART_HPP
|
||||
|
||||
#include "SFML/Graphics/Texture.hpp"
|
||||
#include "SFML/Graphics/Sprite.hpp"
|
||||
#include "ObjectItem.hpp"
|
||||
|
||||
class Heart : public ObjectItem {
|
||||
public:
|
||||
Heart(float x, float y, sf::Texture &texture);
|
||||
void update();
|
||||
void update() override;
|
||||
};
|
||||
|
||||
#endif //LOTOSTATEK_HEART_HPP
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
class Meteor : public ObjectItem {
|
||||
public:
|
||||
Meteor(float x, float y, sf::Texture &texture);
|
||||
Meteor(float x, float y, sf::Texture &texture_);
|
||||
void update();
|
||||
};
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
bool getStatus();
|
||||
virtual void update() = 0;
|
||||
protected:
|
||||
sf::Texture texture;
|
||||
sf::Texture texture_;
|
||||
sf::Sprite sprite;
|
||||
Position position;
|
||||
float rotationSpeed;
|
||||
|
||||
@@ -33,8 +33,6 @@ public:
|
||||
bool isShooting() const;
|
||||
const Beam* getBeam() const;
|
||||
void setPlanszaHeight(float height, float width);
|
||||
void setMapBounds(float width, float height);
|
||||
|
||||
|
||||
private:
|
||||
float planszaHeight = 800.f;
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
#include "../headers/Bullet.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <ostream>
|
||||
|
||||
void Bullet::update() {
|
||||
//std::cout << "Start update: speed = " << speed << ", position.y = " << position.y << std::endl;
|
||||
sprite.move(0.0f, speed);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Meteor::Meteor(float x, float y, sf::Texture &texture) : ObjectItem(x, y, texture) {
|
||||
outOfBounds = false;
|
||||
texture = texture;
|
||||
texture_ = texture;
|
||||
sprite.setTexture(texture);
|
||||
sprite.setOrigin(sprite.getLocalBounds().width / 2, sprite.getLocalBounds().height / 2); // wycentrowanie sprite
|
||||
sprite.setPosition(x, y);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include "../headers/ObjectItem.hpp"
|
||||
|
||||
ObjectItem::ObjectItem(float x, float y, sf::Texture &texture) {
|
||||
Position position_;
|
||||
position_.x = x;
|
||||
position_.y = y;
|
||||
Position position_ = {0,0};
|
||||
position_.x = static_cast<int>(x);
|
||||
position_.y = static_cast<int>(y);
|
||||
position = position_;
|
||||
this->texture = texture;
|
||||
this->texture_ = texture;
|
||||
}
|
||||
|
||||
bool ObjectItem::getStatus() {
|
||||
|
||||
@@ -140,7 +140,7 @@ void Plansza::update() {
|
||||
window->draw(rocket.getSprite());
|
||||
}
|
||||
|
||||
// Sprawdzenie czy meteory i pociski są poza granicami ekranu
|
||||
// Sprawdzenie, czy meteory i pociski są poza granicami ekranu
|
||||
update_meteors();
|
||||
update_hearts();
|
||||
ship->updateBullets();
|
||||
@@ -406,7 +406,7 @@ void Plansza::update() {
|
||||
if (playerBulletIt->getSprite().getGlobalBounds().intersects(it->getSprite().getGlobalBounds())) {
|
||||
// Usuń pocisk Bombera i pocisk gracza
|
||||
it = bomberEnemy.getBullets().erase(it);
|
||||
playerBulletIt = ship->getBullets().erase(playerBulletIt);
|
||||
ship->getBullets().erase(playerBulletIt);
|
||||
bulletDestroyed = true;
|
||||
break;
|
||||
} else {
|
||||
@@ -420,7 +420,7 @@ void Plansza::update() {
|
||||
if (rocketIt->getSprite().getGlobalBounds().intersects(it->getSprite().getGlobalBounds())) {
|
||||
// Usuń pocisk Bombera i rakietę gracza
|
||||
it = bomberEnemy.getBullets().erase(it);
|
||||
rocketIt = ship->getRockets().erase(rocketIt);
|
||||
ship->getRockets().erase(rocketIt);
|
||||
bulletDestroyed = true;
|
||||
break;
|
||||
} else {
|
||||
@@ -474,7 +474,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto bulletIt = ship->getBullets().begin(); bulletIt != ship->getBullets().end();) {
|
||||
if (enemyIt->getSprite().getGlobalBounds().intersects(bulletIt->getSprite().getGlobalBounds())) {
|
||||
bulletIt = ship->getBullets().erase(bulletIt);
|
||||
ship->getBullets().erase(bulletIt);
|
||||
enemyIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -493,7 +493,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto bulletIt = ship->getBullets().begin(); bulletIt != ship->getBullets().end();) {
|
||||
if (advancedIt->getSprite().getGlobalBounds().intersects(bulletIt->getSprite().getGlobalBounds())) {
|
||||
bulletIt = ship->getBullets().erase(bulletIt);
|
||||
ship->getBullets().erase(bulletIt);
|
||||
advancedIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -512,7 +512,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto bulletIt = ship->getBullets().begin(); bulletIt != ship->getBullets().end();) {
|
||||
if (bomberIt->getSprite().getGlobalBounds().intersects(bulletIt->getSprite().getGlobalBounds())) {
|
||||
bulletIt = ship->getBullets().erase(bulletIt);
|
||||
ship->getBullets().erase(bulletIt);
|
||||
bomberIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -531,7 +531,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto bulletIt = ship->getBullets().begin(); bulletIt != ship->getBullets().end();) {
|
||||
if (kamikadzeIt->getSprite().getGlobalBounds().intersects(bulletIt->getSprite().getGlobalBounds())) {
|
||||
bulletIt = ship->getBullets().erase(bulletIt);
|
||||
ship->getBullets().erase(bulletIt);
|
||||
kamikadzeIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -550,7 +550,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto bulletIt = ship->getBullets().begin(); bulletIt != ship->getBullets().end();) {
|
||||
if (wiazkowiecIt->getSprite().getGlobalBounds().intersects(bulletIt->getSprite().getGlobalBounds())) {
|
||||
bulletIt = ship->getBullets().erase(bulletIt);
|
||||
ship->getBullets().erase(bulletIt);
|
||||
wiazkowiecIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -572,7 +572,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) {
|
||||
if (enemyIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) {
|
||||
rocketIt = ship->getRockets().erase(rocketIt);
|
||||
ship->getRockets().erase(rocketIt);
|
||||
enemyIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -591,7 +591,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) {
|
||||
if (advancedIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) {
|
||||
rocketIt = ship->getRockets().erase(rocketIt);
|
||||
ship->getRockets().erase(rocketIt);
|
||||
advancedIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -610,7 +610,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) {
|
||||
if (bomberIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) {
|
||||
rocketIt = ship->getRockets().erase(rocketIt);
|
||||
ship->getRockets().erase(rocketIt);
|
||||
bomberIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -629,7 +629,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) {
|
||||
if (kamikadzeIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) {
|
||||
rocketIt = ship->getRockets().erase(rocketIt);
|
||||
ship->getRockets().erase(rocketIt);
|
||||
kamikadzeIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -648,7 +648,7 @@ void Plansza::update() {
|
||||
bool hit = false;
|
||||
for (auto rocketIt = ship->getRockets().begin(); rocketIt != ship->getRockets().end();) {
|
||||
if (wiazkowiecIt->getSprite().getGlobalBounds().intersects(rocketIt->getSprite().getGlobalBounds())) {
|
||||
rocketIt = ship->getRockets().erase(rocketIt);
|
||||
ship->getRockets().erase(rocketIt);
|
||||
wiazkowiecIt->takeDamage();
|
||||
hit = true;
|
||||
break;
|
||||
@@ -687,6 +687,8 @@ void Plansza::update() {
|
||||
heartStats[1].setTexture(heartTexture);
|
||||
heartStats[2].setTexture(heartTexture);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -698,7 +700,7 @@ void Plansza::update() {
|
||||
|
||||
|
||||
void Plansza::update_meteors() {
|
||||
// usuwanie meteorów które wyleciały poza ekran
|
||||
// usuwanie meteorów, które wyleciały poza ekran
|
||||
for (auto &meteor: meteors) {
|
||||
if (meteor.getStatus()) {
|
||||
meteors.erase(meteors.begin());
|
||||
@@ -787,7 +789,7 @@ void Plansza::spawn_wiazkowiec() {
|
||||
|
||||
|
||||
void Plansza::update_hearts() {
|
||||
// usuwanie serduszek które wyleciały poza ekran
|
||||
// usuwanie serduszek, które wyleciały poza ekran
|
||||
for (auto& heart : hearts) {
|
||||
if(heart.getStatus()) {
|
||||
hearts.erase(hearts.begin());
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
#include <utility>
|
||||
|
||||
#include "../headers/Player.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <SFML/Graphics/Font.hpp>
|
||||
#include <SFML/Graphics/RenderWindow.hpp>
|
||||
#include <SFML/Graphics/Text.hpp>
|
||||
|
||||
#include "../headers/Plansza.h"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
void Rocket::update() {
|
||||
sprite.move(0.0f, speed);
|
||||
position.y += int(speed);
|
||||
position.y += static_cast<int>(speed);
|
||||
if(position.y < -100) {
|
||||
outOfBounds = true;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
#include "../headers/Plansza.h"
|
||||
|
||||
|
||||
Wiazkowiec::Wiazkowiec(int x, int y, const sf::Texture& texture) : Actor(x, y, texture), beam(new Beam(0, 0, 50.f, 50.f)) {
|
||||
Wiazkowiec::Wiazkowiec(int x, int y, const sf::Texture &texture) : Actor(x, y, texture),
|
||||
beam(new Beam(0, 0, 50.f, 50.f)) {
|
||||
actorSprite.setTexture(texture);
|
||||
hp = 2; // 2 punkty życia
|
||||
firerate = 5000; // Strzela co 10
|
||||
@@ -48,7 +49,7 @@ void Wiazkowiec::spawnBeam() {
|
||||
break;
|
||||
}
|
||||
|
||||
// beam = Beam(beamX, beamY, beamWidth, beamHeight, sf::Color::Red);
|
||||
// beam = Beam(beamX, beamY, beamWidth, beamHeight, sf::Color::Red);
|
||||
beam->setVisible(true);
|
||||
|
||||
shooting = true;
|
||||
@@ -65,9 +66,8 @@ void Wiazkowiec::shoot() {
|
||||
|
||||
void Wiazkowiec::setRandomDirection() {
|
||||
// Losowanie kierunku: 0 = Up, 1 = Down, 2 = Left, 3 = Right
|
||||
int directionIndex = std::rand() % 4;
|
||||
|
||||
switch (directionIndex) {
|
||||
switch (std::rand() % 4) {
|
||||
case 0:
|
||||
direction = DirectionW::Up;
|
||||
break;
|
||||
@@ -80,6 +80,8 @@ void Wiazkowiec::setRandomDirection() {
|
||||
case 3:
|
||||
direction = DirectionW::Right;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,7 +157,8 @@ void Wiazkowiec::update() {
|
||||
break;
|
||||
}
|
||||
|
||||
if (shootClock.getElapsedTime().asSeconds() >= 3.0f) { // Co 3 sekundy
|
||||
if (shootClock.getElapsedTime().asSeconds() >= 3.0f) {
|
||||
// Co 3 sekundy
|
||||
shoot();
|
||||
shootClock.restart();
|
||||
}
|
||||
@@ -163,7 +166,7 @@ void Wiazkowiec::update() {
|
||||
}
|
||||
|
||||
// Ustawianie widoczności wiązki podczas renderowania
|
||||
void Wiazkowiec::render(sf::RenderWindow& window) {
|
||||
void Wiazkowiec::render(sf::RenderWindow &window) {
|
||||
if (beam->isVisible()) {
|
||||
beam->render(window);
|
||||
}
|
||||
@@ -184,6 +187,6 @@ bool Wiazkowiec::isShooting() const {
|
||||
return shooting;
|
||||
}
|
||||
|
||||
const Beam* Wiazkowiec::getBeam() const {
|
||||
const Beam *Wiazkowiec::getBeam() const {
|
||||
return beam;
|
||||
}
|
||||
Reference in New Issue
Block a user