Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <sstream>
- #include <fstream>
- #include <cmath>
- #include <SFML/Graphics.hpp>
- #include <windows.h>
- #include <ctime>
- #include <vector>
- #include <sstream>
- #define M_PI 3.141592654
- using namespace std;
- using namespace sf;
- float abstrakcja(float a)
- {
- if(a <0) a *= -1;
- return a;
- }
- Vector2f FlyToTarget(float x, float y, float xc, float yc, float speed)
- {
- float xpp;
- float ypp;
- float resx;
- float resy;
- xpp = xc - x;
- ypp = yc - y;
- resx = sqrt(speed/(1+(ypp*ypp/(xpp*xpp))));
- resy = abstrakcja(resx*ypp/xpp);
- if(xpp < 0) resx *= -1;
- if(ypp < 0) resy *= -1;
- return Vector2f(resx,resy);
- }
- RenderWindow okno (VideoMode(1280,1024,32), "Dziwna gra");
- Event ewent;
- Font font;
- #include "naglowki/konwersje.hpp"
- #include "naglowki/animation.hpp"
- #include "naglowki/asprite.hpp"
- #include "naglowki/functions.hpp"
- #include "naglowki/functionComplex.hpp"
- #include "naglowki/map.hpp"
- #include "naglowki/gems.hpp"
- #include "naglowki/bullets.hpp"
- #include "naglowki/pasek.hpp"
- #include "naglowki/player.hpp"
- #include "naglowki/enemies.hpp"
- #include "naglowki/background.hpp"
- int main()
- {
- srand(time(NULL));
- okno.setFramerateLimit(60);
- font.loadFromFile("arial.ttf");
- //-------------------------------------------------------
- mapa level("map1.txt");
- //-------------------------------------------------------
- player gracz(100, 10, 10, 10, &level.ships[0], &level.bullets[1]);
- //gracz.wczytajobraz("ship1.png");
- gracz.ustawklawisze('w', 'd', 's', 'a');
- //-------------------------------------------------------
- bground tlo1("bg1.png", 0.4);
- bground tlo2("bg2.png", 1);
- bground tlo3("bg3.png", 10);
- //-------------------------------------------------------
- //-------------------------------------------------------
- vector <enemy> przeciwnicy;
- vector <bullet> enmbullet;
- int czasprzeciwnikow = 400;
- int mierzczas = 0;
- //-------------------------------------------------------
- while(okno.isOpen()) //DO MODYFIKACJI PO DODANIU MENU
- {
- while( okno.pollEvent(ewent) )
- {
- if( ewent.type == Event::Closed ) okno.close();
- }
- if(mierzczas == 0)
- {
- mierzczas = czasprzeciwnikow;
- przeciwnicy.push_back(enemy("enemy1.txt", &level.ships[0]));
- przeciwnicy.push_back(enemy("enemy1.txt", &level.ships[0]));
- }
- else mierzczas--;
- gracz.movement();
- tlo1.movement();
- tlo2.movement();
- tlo3.movement();
- for(int i =0;i<przeciwnicy.size();i++)
- {
- przeciwnicy[i].movement(enmbullet, &level.bullets[0]);
- }
- for(int i =0;i<enmbullet.size();i++)
- {
- enmbullet[i].movement();
- if(enmbullet[i].osx > 1500 || enmbullet[i].osx < -100 || enmbullet[i].osy > 1500 || enmbullet[i].osy < -100)
- {
- enmbullet.erase(enmbullet.begin()+i);
- i--;
- }
- }
- //---------------------------------------------------------------
- for(int i =0;i<enmbullet.size();i++)
- {
- 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
- {
- gracz.chp -= enmbullet[i].dipsy;
- enmbullet.erase(enmbullet.begin()+i);
- i--;
- }
- }
- for(int i =0;i<przeciwnicy.size();i++)
- {
- przeciwnicy[i].hapeki -= gracz.czytrafia(przeciwnicy[i].osx, przeciwnicy[i].osy, 64);
- if(przeciwnicy[i].hapeki <= 0) {przeciwnicy.erase(przeciwnicy.begin()+i);i--;}
- }
- //---------------------------------------------------------------
- okno.clear(Color(78, 90, 124));
- tlo1.draw();
- tlo2.draw();
- tlo3.draw();
- for(int i =0;i<przeciwnicy.size();i++)
- {
- przeciwnicy[i].draw();
- }
- for(int i =0;i<enmbullet.size();i++)
- {
- enmbullet[i].rysuj();
- }
- gracz.rysuj();
- okno.display();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement