Advertisement
Guest User

main

a guest
Dec 6th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.23 KB | None | 0 0
  1. #include <iostream>
  2. #include <sstream>
  3. #include <fstream>
  4. #include <cmath>
  5. #include <SFML/Graphics.hpp>
  6. #include <windows.h>
  7. #include <ctime>
  8. #include <vector>
  9. #include <sstream>
  10. #define M_PI 3.141592654
  11.  
  12. using namespace std;
  13. using namespace sf;
  14.  
  15. float abstrakcja(float a)
  16. {
  17. if(a <0) a *= -1;
  18.  
  19. return a;
  20. }
  21.  
  22. Vector2f FlyToTarget(float x, float y, float xc, float yc, float speed)
  23. {
  24. float xpp;
  25. float ypp;
  26. float resx;
  27. float resy;
  28. xpp = xc - x;
  29. ypp = yc - y;
  30. resx = sqrt(speed/(1+(ypp*ypp/(xpp*xpp))));
  31. resy = abstrakcja(resx*ypp/xpp);
  32. if(xpp < 0) resx *= -1;
  33. if(ypp < 0) resy *= -1;
  34. return Vector2f(resx,resy);
  35. }
  36.  
  37. RenderWindow okno (VideoMode(1280,1024,32), "Dziwna gra");
  38. Event ewent;
  39.  
  40. Font font;
  41.  
  42. #include "naglowki/konwersje.hpp"
  43. #include "naglowki/animation.hpp"
  44. #include "naglowki/asprite.hpp"
  45. #include "naglowki/functions.hpp"
  46. #include "naglowki/functionComplex.hpp"
  47. #include "naglowki/map.hpp"
  48. #include "naglowki/gems.hpp"
  49. #include "naglowki/bullets.hpp"
  50. #include "naglowki/pasek.hpp"
  51. #include "naglowki/player.hpp"
  52. #include "naglowki/enemies.hpp"
  53. #include "naglowki/background.hpp"
  54.  
  55. int main()
  56. {
  57. srand(time(NULL));
  58. okno.setFramerateLimit(60);
  59. font.loadFromFile("arial.ttf");
  60. //-------------------------------------------------------
  61. mapa level("map1.txt");
  62. //-------------------------------------------------------
  63. player gracz(100, 10, 10, 10, &level.ships[0], &level.bullets[1]);
  64. //gracz.wczytajobraz("ship1.png");
  65. gracz.ustawklawisze('w', 'd', 's', 'a');
  66. //-------------------------------------------------------
  67. bground tlo1("bg1.png", 0.4);
  68. bground tlo2("bg2.png", 1);
  69. bground tlo3("bg3.png", 10);
  70. //-------------------------------------------------------
  71.  
  72. //-------------------------------------------------------
  73. vector <enemy> przeciwnicy;
  74. vector <bullet> enmbullet;
  75. int czasprzeciwnikow = 400;
  76. int mierzczas = 0;
  77. //-------------------------------------------------------
  78.  
  79. while(okno.isOpen()) //DO MODYFIKACJI PO DODANIU MENU
  80. {
  81. while( okno.pollEvent(ewent) )
  82. {
  83. if( ewent.type == Event::Closed ) okno.close();
  84. }
  85.  
  86. if(mierzczas == 0)
  87. {
  88. mierzczas = czasprzeciwnikow;
  89. przeciwnicy.push_back(enemy("enemy1.txt", &level.ships[0]));
  90. przeciwnicy.push_back(enemy("enemy1.txt", &level.ships[0]));
  91. }
  92. else mierzczas--;
  93.  
  94. gracz.movement();
  95. tlo1.movement();
  96. tlo2.movement();
  97. tlo3.movement();
  98. for(int i =0;i<przeciwnicy.size();i++)
  99. {
  100. przeciwnicy[i].movement(enmbullet, &level.bullets[0]);
  101. }
  102. for(int i =0;i<enmbullet.size();i++)
  103. {
  104. enmbullet[i].movement();
  105. if(enmbullet[i].osx > 1500 || enmbullet[i].osx < -100 || enmbullet[i].osy > 1500 || enmbullet[i].osy < -100)
  106. {
  107. enmbullet.erase(enmbullet.begin()+i);
  108. i--;
  109. }
  110. }
  111. //---------------------------------------------------------------
  112. for(int i =0;i<enmbullet.size();i++)
  113. {
  114. if(enmbullet[i].osx >= gracz.osx+12 && enmbullet[i].osx <= gracz.osx+52 && enmbullet[i].osy >= gracz.osy+12 && enmbullet[i].osy <= gracz.osy+52)//20 to polowa hitboxa
  115. {
  116. gracz.chp -= enmbullet[i].dipsy;
  117. enmbullet.erase(enmbullet.begin()+i);
  118. i--;
  119. }
  120. }
  121.  
  122. for(int i =0;i<przeciwnicy.size();i++)
  123. {
  124. przeciwnicy[i].hapeki -= gracz.czytrafia(przeciwnicy[i].osx, przeciwnicy[i].osy, 64);
  125. if(przeciwnicy[i].hapeki <= 0) {przeciwnicy.erase(przeciwnicy.begin()+i);i--;}
  126. }
  127. //---------------------------------------------------------------
  128. okno.clear(Color(78, 90, 124));
  129. tlo1.draw();
  130. tlo2.draw();
  131. tlo3.draw();
  132. for(int i =0;i<przeciwnicy.size();i++)
  133. {
  134. przeciwnicy[i].draw();
  135. }
  136. for(int i =0;i<enmbullet.size();i++)
  137. {
  138. enmbullet[i].rysuj();
  139. }
  140. gracz.rysuj();
  141.  
  142. okno.display();
  143.  
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement