Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<SFML/Window.hpp>
- #include<SFML/Graphics.hpp>
- #include<iostream>
- #include"Level.h"
- #include"Player.h"
- int main()
- {
- //Creating a level object
- Level level1;
- //Loading the map
- level1.LoadMap();
- Player player;
- //Creating the window
- sf::RenderWindow Window(sf::VideoMode(1400,800, 32), "NHTV Assignment", sf::Style::Close);
- //Setting a framerate limit
- Window.setFramerateLimit(60);
- sf::Clock clock;
- sf::Time deltaTime;
- while(Window.isOpen())
- {
- deltaTime = clock.restart();
- sf::Event event;
- while(Window.pollEvent(event))
- {
- if(event.type == sf::Event::Closed || event.key.code == sf::Keyboard::Escape)
- Window.close();
- if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::L)
- level1.LoadMap();
- if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
- {
- player.upPressed = true;
- }
- if(event.type == sf::Event::KeyReleased && event.key.code == sf::Keyboard::Up)
- {
- player.upPressed = false;
- }
- if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Down)
- {
- player.downPressed = true;
- }
- if(event.type == sf::Event::KeyReleased && event.key.code == sf::Keyboard::Down)
- {
- player.downPressed = false;
- }
- if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Left)
- {
- player.leftPressed = true;
- }
- if(event.type == sf::Event::KeyReleased && event.key.code == sf::Keyboard::Left)
- {
- player.leftPressed = false;
- }
- if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Right)
- {
- player.rightPressed = true;
- }
- if(event.type == sf::Event::KeyReleased && event.key.code == sf::Keyboard::Right)
- {
- player.rightPressed = false;
- }
- if(event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::BackSpace)
- {
- int z, x, y;
- std::cout << "z: "; std::cin >> z;
- std::cout << "x: "; std::cin >> x;
- std::cout << "y: "; std::cin >> y;
- level1.spawnItem(z, x, y);
- }
- }
- //Updating player position
- player.Update();
- //Checking for collision
- for(int i = 0; i < HEIGHT; i++)
- {
- for(int j = 0; j < WIDTH; j++)
- {
- if(level1.level[i][j] == 1)
- {
- std::cout << level1.level[i][j];
- //Bottom, top, left and right position of the tile.
- int bottom, top, left, right;
- bottom = i*32 + 32;
- top = i*32;
- left = j*32;
- right = j*32 + 32;
- if(player.right == left)
- {
- std::cout << "C ";
- player.player.setPosition(left-1, player.player.getPosition().y);
- }
- else if(player.left == right)
- {
- player.player.setPosition(right + 1, player.player.getPosition().y);
- }
- else if(player.top == bottom)
- {
- player.player.setPosition(player.player.getPosition().x, bottom + 1);
- }
- else if(player.bottom == top)
- {
- player.player.setPosition(player.player.getPosition().x, top-1);
- }
- }
- }
- }
- player.Move();
- Window.clear(sf::Color::White);
- level1.DrawMap(Window);
- player.Draw(Window);
- Window.display();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement