Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[allegro] nie rysuje paska

Ostatnio zmodyfikowano 2009-05-23 15:15
Autor Wiadomość
pekfos
Temat założony przez niniejszego użytkownika
[allegro] nie rysuje paska
» 2009-05-23 14:50:54
mam taką funkcję
C/C++
void draw_bar( int x, int y, int h, int d, int c )
{
    for( int a = 0; a < d; a++ )
    {
        line( bufor, x + a, y, x + a, y + h, c );
    }
}
a używam jej tak:
draw_bar( 17, 517, 12, a / b * 100, makecol( 255, 0, 0 ) );

i tu mam problem:
kiedy a==b czyli procent a z b == 100 to rysuje mi pasek
taki jaki chcę: 100x12px. ale jak a < b i procent a z b
!= 100% to pasek w ogóle sie nie rysuje.
nie używam rectfill bo z nim jest ten sam problem.

o co tu chodzi?
P-7131
WunM
» 2009-05-23 15:04:36
Sprawdź czy rysuje jak a = 1 i b = 1
P-7132
pekfos
Temat założony przez niniejszego użytkownika
» 2009-05-23 15:11:21
jak a=1 i b=1 to rysuje bo jest wynikiem 100
manfred:
a=1 b=2
a<b
a/b*100 = 50
50>0
P-7134
pekfos
Temat założony przez niniejszego użytkownika
» 2009-05-23 15:18:45
hmm.. no int jest
a/b*100 != a*100/b
dzięki manfred, działa
P-7136
manfred
» 2009-05-23 15:07:05
Jeżeli a < b to a / b == 0, co w tym dziwnego? Może raczej a * 100 / b by się przydało zamiast a / b * 100.
P-18920
manfred
» 2009-05-23 15:15:24
Tak, ale nie w działaniach na liczbach całkowitych (a prawie na pewno używasz int czy podobnego), wtedy jest;
a = 1, b = 2
1 / 2 = 0
0 * 100 = 0.
Może zamiast udowadniać, że Ziemia jest płaska, sprawdziłbyś ten wzór który podałem?
P-18921
« 1 »
  Strona 1 z 1