[SDL]Collision lässt gegner verrückt spielen

devnetik

Grünschnabel
Hallo leute,
ich hab folgendes Problem.

Hab ein kleines Fangen Spiel programmiert, wenn man das so nennen kann.
Man steuert einen kleine Smilie und muss mit dem kleine Punkte einsammeln. Eigentlich was ganz simples. Nur wenn ich ein Punkt eingesammelt hab lass ich per Zufall den neuen Punkt wo anders auftauchen.

Aber sobald ich darauf komm, springt der neue Punkt wild hin und her zwischen zwei Punkten.

Ich benutze VC++ Express 2008 und SDL.

Hänge den Quellcode mal mit an, weil der für einen Beitrag denk etwas groß ist.

http://www.endless.devnetik.de/stuff/fangen.zip

vielen dank schonmal falls mir jemand helfen kann.
 
Dein Problem liegt vermutlich in dieser Zeile:
Code:
enemy.draw(enemy.get_y(),enemy.get_x(),15,15,screen,"enemy.bmp");
da hast gibst du die X und Y Koordinate vertauscht an, dadruch wiederum werden sie in der Methode andersrum gespeichert und im nächsten Frame "springt" der Gegner.
Wenn X und Y den gleichen wert haben, sieht man hingegen nichts, da die Vertauschung kein Wert Änderung zu folge hat

Richtig müsste es vermutlich so lauten:
Code:
enemy.draw(enemy.get_x(),enemy.get_y(),15,15,screen,"enemy.bmp");
 
Zurück