ich pack das jetzt mal einfach hier dazu, und zwar bildet sich jetzt folgendes Problem:
Über den Timer wird jetzt mein Event ausgeführt, somit so alles okay, allerdings soll bei dem Timer event ein Wert um einen zweiten Wert verringert werden und zu gleich in einem Gauge als Prozent gezeigt werden.
Problem ist, dass meist schon 0% sind, wenn der Wert noch bei 400 ist.
Das sieht bei mir so aus:
Delphi-Quellcode:
procedure TForm1.Angriff;
Var Min, Max, verursacht, Schaden : Integer;
TotalWert, PlayerHP, HPWert, ProzentWert : Real;
begin
Min := Enemys[i].MinDmg;
Max := Enemys[i].MaxDmg;
Schaden := Zufallszahl(Min, Max);
PlayerHP := Player[n].HP;
HPWert := (PlayerHP / 100); //
TotalWert := (Schaden / HPWert); // Errechnung der Prozente
verursacht := trunc(TotalWert); //
Gauge2.Progress := Gauge2.Progress - verursacht; // Aktualisierung der HP Bar
Player[n].HP := Player[n].HP - Schaden;
Label3.Caption := IntToStr(Player[n].HP);
Meldung;
end;
Mit round, sowie mit trunc kommt das gleiche ergebnis, somit ist es kein Rundungsfehler :S