diff --git a/vikto_dev/Textures/devil.png b/vikto_dev/Textures/devil.png new file mode 100644 index 0000000000000000000000000000000000000000..a00e4a27d6530564d48ac7edb810145fc371bf4c Binary files /dev/null and b/vikto_dev/Textures/devil.png differ diff --git a/vikto_dev/main.cpp b/vikto_dev/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..52dbe16ec7ada9104a1bca9223ad4ff2283bbac9 --- /dev/null +++ b/vikto_dev/main.cpp @@ -0,0 +1,111 @@ +#include <SFML/Graphics.hpp> +#include <vector> +#include <iostream> + +int main() +{ + // VARIABLES + sf::Clock movementClock; // delta Time for movement + sf::Clock gameTime; // Total game run time + sf::Clock spawnTime; // delta time for spawning objects + + // WINDOW + sf::RenderWindow window(sf::VideoMode(640, 640), "SFML works!"); + + // TEXTURE AND SPRITE + sf::Texture devTex; + sf::Sprite devSprite; + + if (!devTex.loadFromFile("Textures/devil.png")) { + std::cout << "Image not found" << std::endl; + } + + devSprite.setTexture(devTex); + devSprite.setScale(0.4f, 10.5f); + + // SHAPES + sf::RectangleShape shape(sf::Vector2f(200.f, 50.f)); + shape.setPosition(window.getSize().x / 2 - shape.getSize().x/2, window.getSize().y + shape.getSize().y); // A the center of the window + shape.setFillColor(sf::Color::Green); + // Vector storing all the shapes + std::vector<sf::RectangleShape> shapes; + shapes.push_back(sf::RectangleShape(shape)); + + while (window.isOpen()) + { + sf::Event event; + while (window.pollEvent(event)) + { + if (event.type == sf::Event::Closed) + window.close(); + } + + // UPDATE + // moving the shapes + if (gameTime.getElapsedTime().asSeconds() < 3) + { + if (movementClock.getElapsedTime().asMilliseconds() > 1.f) + { + // FOR MOVING THE SHAPES INSIDE THE VECTOR OF SHAPES + /*for (size_t i = 0; i < shapes.size(); i++) + { + shapes[i].move(0.f, -0.4f * movementClock.getElapsedTime().asMilliseconds()); + if (shapes[i].getPosition().y < 0 - shape.getSize().y) { + shapes.erase(shapes.begin() + i); + } + }*/ + + devSprite.move(0.f, -0.4f * movementClock.getElapsedTime().asMilliseconds()); + movementClock.restart(); + } + } + else + { + if (movementClock.getElapsedTime().asMilliseconds() > 1.f) + { + // FOR MOVING THE SHAPES INSIDE THE VECTOR OF SHAPES + /*for (size_t i = 0; i < shapes.size(); i++) + { + shapes[i].move(0.f, -0.1f * movementClock.getElapsedTime().asMilliseconds()); + if (shapes[i].getPosition().y < 0 - shape.getSize().y) { + shapes.erase(shapes.begin() + i); + } + }*/ + devSprite.move(0.f, -0.1f * movementClock.getElapsedTime().asMilliseconds()); + movementClock.restart(); + } + } + + // FOR SPAWNING SHAPES + /*if (gameTime.getElapsedTime().asSeconds() < 3) + { + if (spawnTime.getElapsedTime().asMilliseconds() > 300.f) { + shapes.push_back(sf::RectangleShape(shape)); + spawnTime.restart(); + } + } + else + { + if (spawnTime.getElapsedTime().asMilliseconds() > 1000.f) { + shapes.push_back(sf::RectangleShape(shape)); + spawnTime.restart(); + } + }*/ + + + // DRAW + window.clear(); + + // FOR DRAWING THE SHAPES INSIDE THE VECTOR OF SHAPES + /*for (size_t i = 0; i < shapes.size(); i++) + { + window.draw(shapes[i]); + }*/ + + window.draw(devSprite); + + window.display(); + } + + return 0; +} \ No newline at end of file