[SFML] Mulenie ekranu przy wyświetlaniu grafiki
Ostatnio zmodyfikowano 2013-08-08 08:59
DejaVu |
» 2013-08-08 08:59:23 Przy okazji powinieneś poprawić sposób liczenia życia:
void obliczStatystyki() { if( currentHealth > 0 ) currentHealth += regHealth; else currentHealth = 0; if( currentHealth > maxHealth ) currentHealth = maxHealth; procentHealth =( int ) currentHealth * maxHealth / 100; hpSzerokosc = 200 *( int ) procentHealth / 100; }
W Twoim kodzie możliwa jest regeneracja życia po śmierci oraz przekroczenie wartości maxHealth.
/edit:
Poza tym źle nazywasz funkcje. Np. ta funkcja od życia powinna nawiązywać do życia, a nie do statystyk. Poza tym ta funkcja powinna zostać rozbita na kilka części:
void aktualizujProcentZycia() { currentHealth = currentHealth > 0 ?( currentHealth + regHealth ) : 0; if( currentHealth > maxHealth ) currentHealth = maxHealth; procentHealth =( int ) currentHealth * maxHealth / 100; }
void odswiezStatystykiGUI() { hpSzerokosc = 200 *( int ) procentHealth / 100; }
void aktualizujStanGry() { aktualizujProcentZycia(); odswiezStatystykiGUI(); }
/edit:
Wzory również masz złe...
procentHealth = static_cast < int >(( currentHealth * 100 ) / maxHealth );
|
|
1 « 2 » |