Java Spiel steigende Geschwindigkeit?

2 Antworten

ii wird bei jedem Tick erhöht. Mit jj willst du die Geschwindigkeit erhöhen.

Wenn jj 4 ist, wird alle vier Ticks das Objekt bewegt. Die Geschwindigkeit beträgt also 0.25 Einheiten/Tick.

Wenn jj halbiert wird, also 2 ist, wird das Objekt alle 2 Ticks bewegt. Die Geschwindigkeit beträgt also 0.5 Einheiten/Tick.

D.h. es besteht ein antiproportionaler Zusammenhang zwischen jj und der Geschwindigkeit. Halbiert man jj, verdoppelt man die Geschwindigkeit.

Wenn nun also jj linear verringert wird ergeben sich folgende Zusammenhänge: Die Geschwindigkeit wird linear erhöht. Das bedeutet die Strecke wird quadratisch erhöht, die Beschleunigung ist konstant.

Exponentiell ist da nichts. Was genau ist an diesem Verhalten also unerwünscht? Oder tritt ein anderes Verhalten als dieses ein? Dann wäre eine fehlerhafte Implementierung die Ursache.

 public void tick()
 {    
      if ( ii % jj  == 0)
      {
            bewegen();    
      }
 }

wie erhöhst du denn ii?

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler mit 10 Jahren Berufserfahrung 💾
ZwiggaMuggi 
Fragesteller
 20.07.2017, 14:19

Ist auch in der tick Methode wird also mit jedem tick erhöht

0
Knomle  20.07.2017, 14:20
@ZwiggaMuggi

und wie verringerst du jj? Zeichne dir mal einen Graphen mit x=ii und y=jj

Ich glaube du hast einen mathematischen Fehler

0
ZwiggaMuggi 
Fragesteller
 20.07.2017, 14:23
@Knomle

jj wird nach bedarf verringert wenn man die geschwindigkeit erhöhen will

0
Knomle  20.07.2017, 15:12
@ZwiggaMuggi

wieso frägst du überhaupt den Rest mit Modulo ab? Verringere/Erhöhe es doch einfach gleich um einen ganzen Tick

0