Advertisement
Guest User

BikeClassesDemo

a guest
Jul 17th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. // SFML_EMPTY.cpp : This file contains the 'main' function. Program execution begins and ends there.
  2. //
  3.  
  4. #include "pch.h"
  5. #include <iostream>
  6. #include <SFML/Graphics.hpp>
  7. #include <random>
  8. #include <vector>
  9.  
  10. using namespace std;
  11. //####################ENEMY.H######################
  12. class Enemy
  13. {
  14. public:
  15. float timer = 0;
  16. float offset = 0;
  17. sf::RectangleShape rect;
  18. void update();
  19. Enemy();
  20. Enemy(sf::Vector2f, sf::Color, float);
  21. private:
  22. int secret = 0;
  23. };
  24. //###################ENEMY.CPP#######################
  25. void Enemy::update()
  26. {
  27. rect.setPosition(rect.getPosition().x, rect.getPosition().y + cos(timer + offset) / 2);
  28. timer += .003f;
  29. }
  30.  
  31. Enemy::Enemy()
  32. {
  33. rect.setFillColor(sf::Color::Red);
  34. rect.setPosition(sf::Vector2f(400, 600));
  35. rect.setSize(sf::Vector2f(100, 100));
  36. offset = 0;
  37. }
  38.  
  39. Enemy::Enemy(sf::Vector2f pos, sf::Color col, float offset)
  40. {
  41. rect.setFillColor(col);
  42. rect.setPosition(pos);
  43. rect.setSize(sf::Vector2f(100, 100));
  44. this->offset = offset;
  45. }
  46.  
  47. int main()
  48. {
  49.  
  50. std::random_device rd;
  51. //Create array to hold Enemies here
  52. vector<Enemy> enemyVec;
  53. for (int i = 0; i < 10; i++) {
  54. Enemy enem(sf::Vector2f(rd() % 1600, rd() % 1000), sf::Color(rd() % 256, rd() % 256, rd() % 256), rd() % 10);
  55. enemyVec.push_back(enem);
  56. }
  57.  
  58.  
  59. sf::RenderWindow window(sf::VideoMode(1600, 1000), "Object Spawning!");
  60.  
  61. while (window.isOpen()) {
  62. sf::Event event;
  63. while (window.pollEvent(event)) {
  64. if (event.type == sf::Event::KeyPressed) {
  65. if (event.key.code == sf::Keyboard::Space) {
  66. Enemy enem(sf::Vector2f(rd() % 1600, rd() % 1000), sf::Color(rd() % 256, rd() % 256, rd() % 256), rd() % 10);
  67. enemyVec.push_back(enem);
  68. }
  69. }
  70. if (event.type == sf::Event::MouseButtonPressed) {
  71. for (int i = 0; i < enemyVec.size(); i++) {
  72. if (enemyVec[i].rect.getGlobalBounds().contains((sf::Vector2f)sf::Mouse::getPosition(window))) {
  73. enemyVec.erase(enemyVec.begin() + i);
  74. }
  75. }
  76. }
  77.  
  78.  
  79.  
  80. if (event.type == sf::Event::Closed)
  81. window.close();
  82. }
  83.  
  84. window.clear();
  85. //Update and draw Enemies here
  86. for (int i = 0; i < enemyVec.size(); i++) {
  87. enemyVec[i].update();
  88. window.draw(enemyVec[i].rect);
  89. }
  90.  
  91. window.display();
  92. }
  93.  
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement