vladkomarr

Untitled

Oct 12th, 2014
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "enemy.h"
  2.  
  3. std::vector<enemy*> enemy::guards;
  4. sf::Sprite* enemy::enemySprite;
  5.  
  6.  
  7. enemy::enemy(float x, float y) {
  8.         this->coordX = x;
  9.         this->coordY = y;
  10.         this->speed = 60;
  11.         this->direction = ( int(this->coordX) % 2) ? LEFT : RIGHT;
  12.         this->xleft = this->coordX - this->range;
  13.         this->xright = this->coordX + this->range;
  14. }
  15.  
  16. sf::Sprite& enemy::getSprite() {
  17.     return *enemySprite;
  18. }
  19.  
  20. void enemy::move() {
  21.         switch(this->direction) {
  22.         case LEFT:
  23.             dx = -1;
  24.             break;
  25.         case RIGHT:
  26.             dx = 1;
  27.             break;
  28.         }
  29. }
  30.  
  31. void enemy::update(float time) {
  32.     if(this->coordX + dx*speed*time < this->xleft || this->coordX + dx*speed*time > this->xright) {
  33.         this->direction = (this->direction == LEFT) ? RIGHT : LEFT;
  34.         this->dx *= -1;
  35.     }
  36.     this->coordX += dx*speed*time;
  37.     this->dx = 0;
  38. }
  39.  
  40. bool enemy::loadFromFile(char filepath[32]) {
  41.     FILE* file;
  42.     int x, y;
  43.     if(file = std::fopen(filepath, "r")) {
  44.         while(!std::feof(file)) {
  45.             std::fscanf(file, "%i %i", &x,&y);
  46.             enemy *guard = new enemy(x, y);
  47.             guards.push_back(guard);
  48.         }
  49.         return true;
  50.     }
  51.     else
  52.         return false;
  53. }
  54.  
  55. void enemy::pushSprite() {
  56.     sf::Texture *enemyTexture = new sf::Texture;
  57.     enemyTexture->loadFromFile("src/guard.png");
  58.     enemySprite = new sf::Sprite;
  59.     enemySprite->setTexture(*enemyTexture);
  60. }
Advertisement
Add Comment
Please, Sign In to add comment