Merge remote-tracking branch 'origin/serduszka'

# Conflicts:
#	CMakeLists.txt
#	headers/Actor.h
#	headers/Plansza.h
#	headers/Player.h
#	sources/Plansza.cpp
#	sources/Player.cpp
This commit is contained in:
2024-12-13 19:48:39 +01:00
10 changed files with 242 additions and 10 deletions

View File

@@ -1,3 +1,5 @@
#include <utility>
#include "../headers/Player.h"
#include <iostream>
@@ -19,6 +21,9 @@ Player* Player::getInstance(int x, int y, const sf::Texture& texture) {
void Player::loadTexture() {
bulletTexture.loadFromFile("../assets/img/bullets/bullet_pink.png");
rocketTexture.loadFromFile("../assets/img/rockets/Rocket_111.png");
hp = 3;
damageDealClock.restart();
originalColor = actorSprite.getColor();
}
void Player::shoot() {
@@ -79,6 +84,27 @@ bool Player::isAlive() const {
return health > 0;
}
void Player::onHit() {
dealDamage();
isBlinking = true;
}
void Player::update() {
if (isBlinking) {
auto elapsed = damageDealClock.getElapsedTime().asMilliseconds();
if (elapsed < 1000) { // miganie przez 1 sekundę
if ((elapsed / 100) % 2 == 0) {
actorSprite.setColor(sf::Color(255, 255, 255, 128)); // półprzeźroczysty
} else {
actorSprite.setColor(originalColor); // oryginalny kolor
}
} else {
isBlinking = false;
actorSprite.setColor(originalColor); // przywróć oryginalny kolor
}
}
}
void Player::setFirerate(unsigned int firerate) {
this->firerate = firerate;
}