Thema: Delphi Mal wieder Pong...

Einzelnen Beitrag anzeigen

Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Mal wieder Pong...

  Alt 6. Dez 2008, 00:38
Soooooooooooooooooooooooo...

1. Wegen dem Abprallen in der Mitte:
Delphi-Quellcode:
  oben := Decke.Top + Decke.Height;
  links := shLinks.Left + ShLinks.Height; //hier ist der Fehler (Zeile 44) ---> Es muss "ShLinks.Width" heißen, es geht ja schließlich um die Horizontale
  rechts := shRechts.Left;
  unten := shSchlaeger.Top;
2. Du musst für die horizontalen Begrenzungen auch die Technik mit dem Betrag anwenden:
Delphi-Quellcode:
  if BallOben then
    y := Abs(y); //hier die erste Änderung

  if BallLinks then
    x := Abs(X);

  if BallRechts then
    x := -Abs(X);


  if BallUnten AND (Ball.Left >= shSchlaeger.Left)
      AND (Ball.Left <= (shSchlaeger.Left + shSchlaeger.Width)) then
    y:= -Abs(y); //hier meine 2. Änderung
3. Das hast du sicher einfach noch nicht eingebaut, aber mach das mal als nächstes: Die Abbruchbedingung.

4. Für die Paddlebewegung (die IMHO durch KeyDown schrecklich ist) würde ich dir empfehlen mal nach "Hier im Forum suchenGetAsyncKeyState" zu suchen!

5. Um ein wenig Abwechslung in die Ball-FLugbahn zu bekommen, solltest du dir Hier im Forum suchenrandom ansehen!

PS: Ich hab im Übrigen auch mal (wie so ziemlich jeder) ein Pong und ein SquashPong geschrieben, schau einfach mal auf meine Website (siehe Signatur)!
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat