daily pastebin goal
31%
SHARE
TWEET

Untitled

a guest Mar 23rd, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <SFML\Graphics.hpp>
  2. #include <SFML\Audio.hpp>
  3. #include <Windows.h>
  4. #include <iostream>
  5. #include <string>
  6. #include <conio.h>
  7. #include <thread>
  8. #include <time.h>
  9.  
  10.  
  11.  
  12.  
  13. struct animation_right {
  14.     int iterator{ 0 };
  15.     int iterator2{ 0 };
  16.     int iterator3{ 0 };
  17.     int iterator4{ 0 };
  18.     void move_down(sf::Sprite &sprite) {
  19.         iterator2 = 0;
  20.         iterator3 = 0;
  21.         iterator4 = 0;
  22.         if (iterator > 3) {
  23.             iterator = 0;
  24.         }
  25.         if (iterator == 0) {
  26.             sprite.setTextureRect(sf::IntRect(0, 0, 30, 43));
  27.         }
  28.         if (iterator == 1) {
  29.             sprite.setTextureRect(sf::IntRect(32, 0, 30, 43));
  30.         }
  31.         if (iterator == 2) {
  32.             sprite.setTextureRect(sf::IntRect(64, 0, 30, 43));
  33.         }
  34.         if (iterator == 3) {
  35.             sprite.setTextureRect(sf::IntRect(96, 0, 30, 43));
  36.         }
  37.         ++iterator;
  38.     }
  39.     void move_left(sf::Sprite &sprite) {
  40.         iterator = 0;
  41.         iterator3 = 0;
  42.         iterator4 = 0;
  43.         if (iterator2 > 3) {
  44.             iterator2 = 0;
  45.         }
  46.         if (iterator2 == 0) {
  47.             sprite.setTextureRect(sf::IntRect(0, 49, 30, 43));
  48.         }
  49.         if (iterator2 == 1) {
  50.             sprite.setTextureRect(sf::IntRect(32, 49, 30, 43));
  51.         }
  52.         if (iterator2 == 2) {
  53.             sprite.setTextureRect(sf::IntRect(64, 49, 30, 43));
  54.         }
  55.         if (iterator2 == 3) {
  56.             sprite.setTextureRect(sf::IntRect(96, 49, 30, 43));
  57.         }
  58.         ++iterator2;
  59.     }
  60.  
  61.     void move_right(sf::Sprite &sprite) {
  62.         iterator = 0;
  63.         iterator2 = 0;
  64.         iterator4 = 0;
  65.         if (iterator3 > 3) {
  66.             iterator3 = 0;
  67.         }
  68.         if (iterator3 == 0) {
  69.             sprite.setTextureRect(sf::IntRect(0, 98, 30, 45));
  70.         }
  71.         if (iterator3 == 1) {
  72.             sprite.setTextureRect(sf::IntRect(32, 98, 30, 45));
  73.         }
  74.         if (iterator3 == 2) {
  75.             sprite.setTextureRect(sf::IntRect(64, 98, 30, 45));
  76.         }
  77.         if (iterator3 == 3) {
  78.             sprite.setTextureRect(sf::IntRect(96, 98, 30, 45));
  79.         }
  80.         ++iterator3;
  81.     }
  82.  
  83.     void move_up(sf::Sprite &sprite) {
  84.         iterator = 0;
  85.         iterator2 = 0;
  86.         iterator3 = 0;
  87.         if (iterator4 > 3) {
  88.             iterator4 = 0;
  89.         }
  90.         if (iterator4 == 0) {
  91.             sprite.setTextureRect(sf::IntRect(0, 147, 30, 45));
  92.         }
  93.         if (iterator4 == 1) {
  94.             sprite.setTextureRect(sf::IntRect(32, 147, 30, 45));
  95.         }
  96.         if (iterator4 == 2) {
  97.             sprite.setTextureRect(sf::IntRect(64, 147, 30, 45));
  98.         }
  99.         if (iterator4 == 3) {
  100.             sprite.setTextureRect(sf::IntRect(96, 147, 30, 45));
  101.         }
  102.         ++iterator4;
  103.     }
  104. };
  105.  
  106.  
  107. void npc_movement(sf::Sprite &sprite, animation_right &animation) {
  108.     int random = rand() % 100 + 1;
  109.     if (random == 1) {
  110.         sprite.move(sf::Vector2f(-4, 0));
  111.         animation.move_left(sprite);
  112.         animation.move_left(sprite);
  113.     }
  114.     if (random == 2) {
  115.         sprite.move(sf::Vector2f(4, 0));
  116.         animation.move_right(sprite);
  117.         animation.move_right(sprite);
  118.     }
  119.     if (random == 3) {
  120.         sprite.move(sf::Vector2f(0, 4));
  121.         animation.move_down(sprite);
  122.         animation.move_down(sprite);
  123.     }
  124.     if (random == 4) {
  125.         sprite.move(sf::Vector2f(0, -4));
  126.         animation.move_up(sprite);
  127.         animation.move_up(sprite);
  128.     }
  129. }
  130.  
  131. int main() {
  132.     srand(unsigned(NULL));
  133.     sf::RenderWindow window(sf::VideoMode(595, 595), "Game Learn", sf::Style::Close | sf::Style::Titlebar | sf::Style::Resize);
  134.  
  135.  
  136.     sf::Texture texture;
  137.     if (!texture.loadFromFile("Character3.png")) {
  138.         std::cout << "Load Failed" << std::endl;
  139.         system("pause");
  140.     }
  141.     sf::Texture texture2;
  142.     if (!texture2.loadFromFile("Character2.png")) {
  143.         std::cout << "Load Failed" << std::endl;
  144.         system("pause");
  145.     }
  146.  
  147.     sf::Texture map1;
  148.     if (!map1.loadFromFile("NaUX7.png")) {
  149.         std::cout << "Load Failed" << std::endl;
  150.         system("pause");
  151.     }
  152.     ///////////////////////////
  153.     sf::Sprite map;
  154.     map.setTexture(map1);
  155.     ///////////////////////////////////
  156.     sf::Sprite sprite;
  157.     sprite.setTexture(texture);
  158.     ///////////////////////////////////
  159.     sf::Sprite sprite2;
  160.     sprite2.setTexture(texture2);
  161.  
  162.     sprite2.move(sf::Vector2f(50, 40));
  163.  
  164.     animation_right animation1;
  165.     sprite.setTextureRect(sf::IntRect(0, 0, 30, 43));
  166.     sprite2.setTextureRect(sf::IntRect(0, 0, 30, 43));
  167.  
  168.     int x{ 0 }, y{ 0 };
  169.  
  170.     while (window.isOpen()) {
  171.         sf::Event evnt;
  172.         npc_movement(sprite2, animation1);
  173.         while (window.pollEvent(evnt)) {
  174.  
  175.             if (evnt.type == evnt.Closed) {
  176.                 window.close();
  177.             }
  178.  
  179.             if (GetAsyncKeyState(VK_LEFT))
  180.             {
  181.                 if (x >= 0) {
  182.                     x -= 4;
  183.                     std::cout << "CORD: X:"<< x << " Y:" << y << std::endl;
  184.                     sprite.move(sf::Vector2f(-4, 0));
  185.                 }
  186.                 animation1.move_left(sprite);
  187.             }
  188.             else if (GetAsyncKeyState(VK_RIGHT))
  189.             {
  190.                 if (x <= 564) {
  191.                     x += 4;
  192.                     std::cout << "CORD: X:" << x << " Y:" << y << std::endl;
  193.                     sprite.move(sf::Vector2f(4, 0));
  194.                 }
  195.                 animation1.move_right(sprite);
  196.             }
  197.             else if (GetAsyncKeyState(VK_DOWN)) {
  198.                 if (y <= 552) {
  199.                     y += 4;
  200.                     std::cout << "CORD: X:" << x << " Y:" << y << std::endl;
  201.                     sprite.move(sf::Vector2f(0, 4));
  202.                 }
  203.                 animation1.move_down(sprite);
  204.             }
  205.             else if (GetAsyncKeyState(VK_UP)) {
  206.                 if (y >= 0) {
  207.                     y -= 4;
  208.                     std::cout << "CORD: X:" << x << " Y:" << y << std::endl;
  209.                     sprite.move(sf::Vector2f(0, -4));
  210.                 }
  211.                 animation1.move_up(sprite);
  212.             }
  213.  
  214.         }
  215.  
  216.  
  217.         window.clear();
  218.         window.draw(map);
  219.         window.draw(sprite);
  220.         window.draw(sprite2);
  221.  
  222.  
  223.         window.display();
  224.         Sleep(50);
  225.     }
  226.  
  227.  
  228.     system("pause");
  229.     return 0;
  230. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top