Prędkość kwadratów ,allegro,C++

0

Linie kodu spadających kwadratów:

    int kwadrat1_y=0;
    int kwadrat2_y=0;
    int kwadrat3_y=0;
    int kwadrat4_y=0;
    int kwadrat5_y=0;
    int kwadrat6_y=0;
    
    kwadrat1_x=(rand()%750)+30;
    kwadrat2_x=(rand()%750)+30;
    kwadrat3_x=(rand()%750)+30;
   kwadrat4_x=(rand()%750)+30;
   kwadrat5_x=(rand()%750)+30;
   kwadrat6_x=(rand()%750)+30;
kwadrat1_y++;
kwadrat2_y++;
kwadrat3_y++;
kwadrat5_y++;
kwadrat6_y++;
kwadrat4_y++;

Co mogę spadały z różnymi prędkościami a po pewnym czasie przyspieszały?

1

Musisz skorelować parametr "Y" w układzie współrzędnych z jakimś timerem.

Pseudokod:

const SKOK = 50; // piksele
const WSPOLCZYNNIK = 1
const PROG_ROSNIE = 2

funkcja rysujaca:
{
int kwadrat1_y=0;
kwadrat1_y += SKOK * WSPOLCZYNNIK;
}

zdarzenie on timer:
{
WSPOLCZYNNIK += 0.1; // predkosc bedzie rosnac

if (WSPOLCZYNNIK > PROG_ROSNIE)
{
WSPOLCZYNNIK -= 0.1; // predkosc bedzie malala
}
}

1

Tak jak kolega wyżej napisał, mnóż prędkość przez jakiś timer. A do opisu pozycji lepsza byłaby struktura 2 intów zamiast 2 osobnych zmiennych.

0

A ten timer to coś specjalnego co muszę wcześniej deklarować,czy to po prostu liczba?

2

Timer to coś, co liczy czas. W SFML masz do tego klasy sf::Clock oraz sf::Time, nie wiem jak to jest w allegro.

EDIT: 1 link w google po wpisaniu "allegro 5 timer": https://wiki.allegro.cc/index.php?title=Allegro_5_Tutorial/Timers

0
 :
  if(kwadrat1_y>600)
{
         kwadrat1_x=(rand()%750)+30; 
         kwadrat1_y=0;       
             }

zrobiłem coś takiego żeby kwadraciki spadały s powrotem

1 użytkowników online, w tym zalogowanych: 0, gości: 1