Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned int width = 500;
- unsigned int height = 500;
- float mouseY;
- float mouseX;
- float distanceX;
- float distanceY;
- int increaser = 0;
- float k_value;
- bool shooting = false;
- int main()
- {
- sf::RenderWindow window(sf::VideoMode(width, height), "In progress");
- window.setFramerateLimit(60);
- sf::RectangleShape player(sf::Vector2f(30, 30));
- player.setFillColor(sf::Color::Magenta);
- player.setOrigin(30 / 2, 30 / 2);
- player.setPosition(width / 2, height / 2);
- sf::RectangleShape projectile(sf::Vector2f(5, 5));
- projectile.setFillColor(sf::Color::Cyan);
- bool gameOver = true;
- sf::Event event;
- while (window.isOpen() && gameOver)
- {
- while (window.pollEvent(event))
- {
- if (event.type == sf::Event::Closed)
- {
- window.close();
- }
- if (event.type == sf::Event::MouseButtonPressed)
- {
- if (event.mouseButton.button == sf::Mouse::Left && shooting == false)
- {
- mouseX = event.mouseButton.x;
- mouseY = event.mouseButton.y;
- cout << "Mouse X: " << mouseX << endl;
- cout << "Mouse Y: " << mouseY << endl;
- distanceX = mouseX - player.getPosition().x;
- distanceY = player.getPosition().y - mouseY;
- cout << "Distance X: " << distanceX << endl;
- cout << "Distance Y: " << distanceY << endl;
- k_value = distanceY / distanceX;
- cout << k_value << endl;
- shooting = true;
- }
- }
- }
- if (shooting)
- {
- increaser += 5;
- if(distanceX > 0)
- projectile.setPosition(player.getPosition().x + increaser, player.getPosition().y - (increaser * k_value));
- else if(distanceX <= 0)
- projectile.setPosition(player.getPosition().x - increaser, player.getPosition().y + (increaser * k_value));
- if (increaser > abs(distanceX))
- {
- shooting = false;
- increaser = 0;
- projectile.setPosition(-10, -10);
- }
- }
- if (sf::Keyboard::isKeyPressed(sf::Keyboard::W))
- player.move(0, -3);
- if (sf::Keyboard::isKeyPressed(sf::Keyboard::A))
- player.move(-3, 0);
- if (sf::Keyboard::isKeyPressed(sf::Keyboard::S))
- player.move(0, 3);
- if (sf::Keyboard::isKeyPressed(sf::Keyboard::D))
- player.move(3, 0);
- window.clear(sf::Color::White); //Clear
- window.draw(player);
- window.draw(projectile);
- window.display(); //Display
- }
- window.draw(projectile);
- window.close();
- int pause; cin >> pause;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement