Das Forum ist read-only und nur noch zu Archivzwecken vorhanden. Neue Benutzer werden nicht mehr freigeschalten.
Benutzt bitte unser aktuelles Forum: http://www.battle-planet.de/pbp/main/forum_neu.php
Zitat von Hanni Wie gesagt, ich glaube nicht an einen Rundungsfehler. Für mich sieht es eher so aus, als wenn sich da irgendwo die falsche Variable hingeschmuggelt hat.
Was nun aber nur noch akademisch relevant ist, denn der Bug ist ja behoben.
Wer sagt denn bitte, das das was angezeigt wird auch das ist, das intern vorhanden ist. Wie gesagt, ich glaube nicht an einen Rundungsfehler. Für mich sieht es eher so aus, als wenn sich da irgendwo die falsche Variable hingeschmuggelt hat.
Es war ein Rundungsproblem - genau wie Gamer beschrieben hat wurde nicht abgerundet, sondern aufgerundet.
ASC arbeitet bei (fast) allem mit Integern. Die Auflösung bei der Bewegung ist 1/10 - der Abstand zwischen zwei Feldern damit genau 10 Punkte. Die Genauigkeit, also der Unterschied zwischen Auf- und Abrunden, ist folglich 1 Punkt oder 1/10 Feld. Wenn man nun 10 mal rundet, weil man die Bewegung eines Transporters in 10 Einzelstrecken zerlegt, ist der Unterschied zwischen der Auf- und der Abrundungs-Variante 10 Punkte und damit ein ganzes Feld.
Für C++ gibt es übrigens mehrere 'Arbitrary Precision Libraries' - und dank operator overloading verhalten die sich wie die eingebauten Datentypen. Für ASC wäre das aber etwas Overkill, soetwas einzusetzen.