Witam!
Mam problem z losowanymi liczbami ;/
Moja "gra" dziala tak ze poruszamy sie kwadratem i jemy mniejsze kwadraty,przeciwnik czyli ten kwadrat do zjedzenia na start po uruchomieniu spawnuje sie w losowym miejscu, to jeszcze dziala dobrze.Po "zjedzeniu" kwadrata kwadrat spawnuje sie tez w losowym miejscu i tu tworzy sie problem... kosta spawnuje sie po jednej czesci ekranu ;/
#include <iostream>
#include <SFML\Graphics.hpp>
#include <time.h>
using namespace std;
bool gora, dol, prawo, lewo;
bool enemy;
sf::Vector2f p_rozmiar(50, 50);
sf::Vector2f przeciwnik_rozmiar(30, 30);
int rand_x, rand_y;
sf::RectangleShape _przeciwnik;
class przeciwnik {
public:
przeciwnik()
{
_przeciwnik.setSize(przeciwnik_rozmiar);
_przeciwnik.setFillColor(sf::Color::Magenta);
_przeciwnik.setPosition(rand_x, rand_y);
srand(time(0));
rand_x = rand() % 1280;
rand_y = rand() % 720;
}
void rysuj_przeciwnika(sf::RenderWindow&app)
{
app.draw(_przeciwnik);
_przeciwnik.setPosition(rand_x, rand_y);
}
};
class gracz {
public:
sf::RectangleShape _gracz;
gracz()
{
_gracz.setSize(p_rozmiar);
_gracz.setFillColor(sf::Color::Red);
}
void rysuj(sf::RenderWindow&app)
{
app.draw(_gracz);
}
void poruszanie()
{
if (sf::Keyboard::isKeyPressed(sf::Keyboard::W))
{
_gracz.move(0, -0.3);
}
else if (sf::Keyboard::isKeyPressed(sf::Keyboard::A))
{
_gracz.move(-0.3, 0);
}
else if (sf::Keyboard::isKeyPressed(sf::Keyboard::S))
{
_gracz.move(0, 0.3);
}
else if (sf::Keyboard::isKeyPressed(sf::Keyboard::D))
{
_gracz.move(0.3, 0);
}
}
void wykrywanie_kolizji()
{
if (_gracz.getGlobalBounds().intersects(_przeciwnik.getGlobalBounds()))
{
srand(time(0));
rand_x = 0;
rand_y = 0;
rand_x = rand() % 1280;
rand_y = rand() % 720;
}
}
};
int main()
{
gracz _gracz;
przeciwnik _przeciwnik;
sf::RenderWindow app(sf::VideoMode(1280, 720), "SFML");
while (app.isOpen())
{
sf::Event event;
while (app.pollEvent(event))
{
if (event.type == sf::Event::Closed)
{
app.close();
}
}
app.clear();
_gracz.rysuj(app);
_przeciwnik.rysuj_przeciwnika(app);
_gracz.poruszanie();
_gracz.wykrywanie_kolizji();
app.display();
}
return 0;
}
FILMIK: https://www.youtube.com/watch?v=PP_erg7djv4
wiecie moze jak to naprawic? ;/