Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <SFML/Graphics.hpp>
- #include <SFML/Window.hpp>
- using namespace std;
- int width = 800, height = 600;
- int main()
- {
- sf::RenderWindow window(sf::VideoMode(width, height), "In Development");
- window.setFramerateLimit(70);
- window.setVerticalSyncEnabled(true);
- sf::RectangleShape player;
- player.setFillColor(sf::Color::Cyan);
- player.setSize(sf::Vector2f(40, 40));
- player.setPosition(width / 2, height / 2);
- sf::RectangleShape bigBlock;
- bigBlock.setSize(sf::Vector2f(100, 100));
- bigBlock.setFillColor(sf::Color::Black);
- bigBlock.setPosition((width / 2) - 300, height / 2);
- int direction = 0;
- sf::Event event;
- while (window.isOpen())
- {
- while (window.pollEvent(event))
- {
- if (event.type == sf::Event::Closed)
- window.close();
- else if (event.type == sf::Event::KeyPressed)
- {
- if (event.key.code == sf::Keyboard::Right)
- {
- player.move(5, 0);
- direction = 1;
- }
- else if (event.key.code == sf::Keyboard::Left)
- {
- player.move(-5, 0);
- direction = 2;
- }
- else if (event.key.code == sf::Keyboard::Up)
- {
- player.move(0, -5);
- direction = 3;
- }
- else if (event.key.code == sf::Keyboard::Down)
- {
- player.move(0, 5);
- direction = 4;
- }
- }
- }
- sf::FloatRect player_boundingBox = player.getGlobalBounds();
- if (player_boundingBox.intersects(bigBlock.getGlobalBounds()))
- {
- if (direction == 1)
- player.setPosition(bigBlock.getPosition().x - 40, player.getPosition().y);
- else if(direction == 2)
- player.setPosition(bigBlock.getPosition().x + 100, player.getPosition().y);
- else if(direction == 3)
- player.setPosition(player.getPosition().x, bigBlock.getPosition().y + 100);
- else if(direction == 4)
- player.setPosition(player.getPosition().x, bigBlock.getPosition().y - 40);
- }
- window.clear(sf::Color::White); //Clear
- window.draw(bigBlock);
- window.draw(player);
- window.display(); //Display
- }
- int pause; cin >> pause; //Pause the program
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement