please ignore my bad coding practice i cant for the life of me figure out how classes in C work nevermind in visual studio as before this i only coded in java in eclipse XD
but here is my messy code
Код: Выделить всё
#include
#include
#include
#include
#include
class Bullet;
class Enemy;
int WINDOW_WIDTH = 600;
int WINDOW_HEIGHT = 600;
float PLAYER_SPEED = 0.22f;
float BULLET_SPEED = 0.2f;
float ENEMY_SPEED = 0.01f;
int MAX_ENEMIES = 2;
int Kills = 0;
int score = 0;
int Lives = 8;
int currentFrame = 1;
int swap = 0;
enum GameState {
Pre,
Running,
Lost
};
sf::Texture zombieFrame;
sf::Texture zombieFrame2;
std::vector bullets;
std::vector enemies;
class Player {
public:
Player(sf::Texture& texture);
void update();
void draw(sf::RenderWindow& window);
sf::Vector2f getPosition();
sf::FloatRect getBounds();
void setPosition(const sf::Vector2f& position);
private:
sf::Sprite sprite;
};
class Bullet {
public:
Bullet(sf::Texture& texture, sf::Vector2f position);
void update();
void draw(sf::RenderWindow& window);
sf::Vector2f getPosition();
sf::FloatRect getBounds();
private:
sf::Sprite sprite;
};
class Enemy {
public:
Enemy(sf::Texture& texture, sf::Vector2f position);
void update();
void draw(sf::RenderWindow& window);
sf::Vector2f getPosition();
sf::FloatRect getBounds();
private:
sf::Sprite sprite;
sf::Texture texture;
};
Player::Player(sf::Texture& texture) {
sprite.setTexture(texture);
}
void Player::update() {
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) {
sprite.move(0, -PLAYER_SPEED);
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) {
sprite.move(0, PLAYER_SPEED);
}
}
void Player::draw(sf::RenderWindow& window) {
window.draw(sprite);
}
void Player::setPosition(const sf::Vector2f& position) {
sprite.setPosition(position);
}
sf::Vector2f Player::getPosition() {
return sprite.getPosition();
}
sf::FloatRect Player::getBounds() {
return sprite.getGlobalBounds();
}
Bullet::Bullet(sf::Texture& texture, sf::Vector2f position) {
sprite.setTexture(texture);
sprite.setPosition(position);
}
void Bullet::update() {
sprite.move(BULLET_SPEED, 0);
}
void Bullet::draw(sf::RenderWindow& window) {
window.draw(sprite);
}
sf::Vector2f Bullet::getPosition() {
return sprite.getPosition();
}
sf::FloatRect Bullet::getBounds() {
return sprite.getGlobalBounds();
}
Enemy::Enemy(sf::Texture& texture, sf::Vector2f position) {
sprite.setTexture(texture);
sprite.setPosition(position);
}
void initializeTextures() {
zombieFrame.loadFromFile("zombie.png", sf::IntRect(75, 15, 30, 70));
zombieFrame2.loadFromFile("zombie.png", sf::IntRect(75, 80, 30, 70));
}
void Enemy::update() {
sprite.move(-ENEMY_SPEED, 0);
swap++;
if (swap == 2000) {
if (currentFrame == 1) {
sprite.setTexture(zombieFrame);
currentFrame = 2;
}
else {
sprite.setTexture(zombieFrame2);
currentFrame = 1;
}
std::cout
Источник: [url]https://stackoverflow.com/questions/78133205/its-saying-i-have-an-undeclared-identifier-at-lines-195-and-305-but-they-are-dec[/url]