Einzelnen Beitrag anzeigen

Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#1

case und if-Abfragen Problem: code wird nicht abgearbeitet

  Alt 10. Jan 2005, 15:37
Ich hab wiedermal Probleme mit meinem Pong

Und zwar hab ich die KI für mein Pong jetzt angepasst, sodass sie auf beide Bälle reagieren kann, wobei sie nun immer auf den Ball reagieren soll, der näher dran ist. Folgender Code:

Delphi-Quellcode:
case KI_LVL of
      1: if (Ball.Top) or (Ball2.Top) <= KI_LVL1 then // wenn einer der Beiden Bälle die vordefinierter Höhe erreicht hat
      begin
      if Ball.Top < Ball2.Top then begin // der Ball ist höher als der Ball2, dann wird auf Ball reagiert
        if Ball.Left + Ball.Width / 2 <= Schlaeger2.Left + Schlaeger2.Width / 2 then // wenn mitte vom Ball links von der Mitte vom Schläger ist
        begin
          Schlaeger2.Left := Schlaeger2.Left - 15; // Schläger wird bewegt
        end;
      if Ball.Left + Ball.Width / 2 >= Schlaeger2.Left + Schlaeger2.Width / 2 then // Wenn die Mitte vom Ball rechts von der Mitte vom Schläger ist
        begin
          Schlaeger2.Left := Schlaeger2.Left + 15; // schläger wird bewegt
        end;
      end else begin // wenn Ball nicht höher ist als Ball2
      if Ball2.Left + Ball2.Width / 2 <= Schlaeger2.Left + Schlaeger2.Width / 2 then // das gleiche oben mit Ball2
        begin
          Schlaeger2.Left := Schlaeger2.Left - 15; // schläger wird bewegt
        end;
      if Ball2.Left + Ball2.Width / 2 >= Schlaeger2.Left + Schlaeger2.Width / 2 then // s.o.
        begin
          Schlaeger2.Left := Schlaeger2.Left + 15; // schläger wird bewegt
        end;
        end;
      end;
Nur irgendwie bewegt sich der Schlaeger2 nicht mehr

Ich hab irgendwie das Gefühl, dass der Fehler in der zweiten Zeile liegt, aber wo genau?

oder findet jemand einen anderen Fehler?

Zur kleinen Erläuterung dazu:

Der Code hat vorher ja wunderbar funktioniert, als ich halt noch keine Abfragen mit Ball2 drin hatte. Es muss also im Grunde irgendwie daran liegen...

//edit: und sry für den Titel, aber ich wusste nicht, wie ich das Problem so kurz zusammenfassen konnte
  Mit Zitat antworten Zitat