Tach,
Das wundert mich auch, dass es so nicht funktioniert, denn wie man in der Gleichung sieht, tue ich nichts anderes. Zuerst dachte ich, dass es an dem Rundungsfehler zu int liegt, aber selbst als double "verliere ich irgendwie die Energie".
deine Dämpfung liegt in initialSpeed = Math.sqrt(2*Math.abs(y - initialY));
, du nutzt es später als Geschwindigkeit, allerdings hätte es die Maßeinheit [latex]\sqrt{m}[/latex]. Eigentlich müßtest du, beim Aufprall auf eine perfekte Mauer und unter Vernachlässigung der Thermodynamik durch Energieerhaltung eine Geschwindigkeit von [latex]|v| = |t*gravity|[/latex] erhalten.
mfg
Woodfighter