Advertisement
Threonine

Main.cpp

Oct 10th, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.40 KB | None | 0 0
  1. #include <SFML/Graphics.hpp>
  2. #include <iostream>
  3. #include "bois.h"
  4.  
  5.  
  6. int main(){
  7.     sf::RenderWindow window(sf::VideoMode(256, 256), "Super tuiles !", sf::Style::Titlebar | sf::Style::Close);
  8.    
  9.     int tuiles[] =
  10.     {
  11.         0, 0, 0, 0, 0, 0, 0, 0,
  12.         0, 2, 2, 2, 0, 1, 1, 1,
  13.         0, 2, 3, 2, 1, 1, 0, 0,
  14.         0, 2, 2, 2, 0, 1, 0, 0,
  15.         0, 0, 0, 0, 0, 1, 0, 0,
  16.         0, 1, 1, 1, 1, 1, 0, 0,
  17.         0, 1, 0, 0, 0, 0, 0, 0,
  18.         0, 1, 0, 0, 0, 0, 0, 0
  19.     };
  20.    
  21.     sf::Texture textureGeorge;
  22.    
  23.     if(!textureGeorge.loadFromFile("george.png")){
  24.         std::cout << "Erreur de chargement de la texture de George" << std::endl;
  25.         return -1;
  26.     }
  27.    
  28.     //George est le personnage
  29.     sf::Sprite george;
  30.     george.setTexture(textureGeorge);
  31.     george.setTextureRect(sf::IntRect(0, 0, 32, 32));
  32.    
  33.     int pasGeorge = 1;
  34.    
  35.     Bois bois;
  36.    
  37.     //Bois est le terrain sur lequel se balade George
  38.     if(!bois.load("bois.png", sf::Vector2u(32, 32), tuiles, 8, 8)){
  39.         std::cout << "Erreur de chargement de bois" << std::endl;
  40.         return -1;
  41.     }
  42.    
  43.     //Une horloge pour que George soit un peu plus lent
  44.     sf::Clock clock;
  45.    
  46.     while(window.isOpen()){
  47.         sf::Event event;
  48.        
  49.         while(window.pollEvent(event)){
  50.             if(event.type == sf::Event::Closed){
  51.                 window.close();
  52.             }
  53.         }
  54.        
  55.         if(clock.getElapsedTime().asMilliseconds() > 5){
  56.            
  57.             //George vas en haut
  58.             if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)){
  59.                 if(george.getPosition().y - pasGeorge >= 0){
  60.                     george.move(sf::Vector2f(0, -pasGeorge));
  61.                     george.setTextureRect(sf::IntRect(64, 0, 32, 32));
  62.                 }
  63.             }
  64.            
  65.             //George vas en bas
  66.             if(sf::Keyboard::isKeyPressed(sf::Keyboard::Down)){
  67.                 if(george.getPosition().y + pasGeorge <= 224){
  68.                     george.move(sf::Vector2f(0, pasGeorge));
  69.                     george.setTextureRect(sf::IntRect(0, 0, 32, 32));
  70.                 }
  71.             }
  72.            
  73.             //George vas à gauche
  74.             if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left)){
  75.                 if(george.getPosition().x - pasGeorge >= 0){
  76.                     george.move(sf::Vector2f(-pasGeorge, 0));
  77.                     george.setTextureRect(sf::IntRect(32, 0, 32, 32));
  78.                 }
  79.             }
  80.            
  81.             //George vas à droite
  82.             if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right)){
  83.                 if(george.getPosition().x + pasGeorge <= 224){
  84.                     george.move(sf::Vector2f(pasGeorge, 0));
  85.                     george.setTextureRect(sf::IntRect(96, 0, 32, 32));
  86.                 }
  87.             }
  88.            
  89.             clock.restart();
  90.         }
  91.        
  92.         window.clear();
  93.         window.draw(bois);
  94.         window.draw(george);
  95.         window.display();
  96.     }
  97.    
  98.     return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement