AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pong Abprall des Balles

Ein Thema von thomasku · begonnen am 23. Jan 2009 · letzter Beitrag vom 24. Jan 2009
Antwort Antwort
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#1

Pong Abprall des Balles

  Alt 23. Jan 2009, 16:15
Hallo

Habe Gestern begonnen ein Pong zu schreiben siehe dazu hier:
http://www.delphipraxis.net/internal...highlight=pong

Geschafft habe ich:
-Spielerbewegung (derzeit synchron (mit keydown))
-Abprall an den Rändern


Nun möchte ich gern dass der Ball auch vom Spieler (Shape) reflektiert wird.

Spieler=Shape7
Ball=Shape5

Zur Überlegung:
(Ball nähert sich der rechten Seite)

i)x-Koordinate
Ball<=Spieler
Also:
Shape5.left<Shape7.Left
(Bzw genauer
(Shape5.left+Shape5.Heigth)<Shape7.Left

ii) y-Koordinate
oben<=Ball<=unten
Also:
a.)Shape7.Top<=Shape5.Top
b.)Shape5.Top<=(Shape7.Top+SHape7.Heigth)
(bzw. genauer
a)Shape7.Top<=(Shape5.Top+Shape5.Width)
b.)(Shape5.Top+Shape5.Heigth+Shape5.Width)<=(Shape 7.Top+Shape7.Heigth)

=>(einfache Version)
IF ((Shape5.left<Shape7.Left) AND (Shape5.Top=>Shape7.Top) AND (Shape5.Top<=(Shape7.Top+SHape7.Heigth))) THEN
dx:=-dx; //Abprall

Nur Leider fliegt mein Ball dann durch den Schläger -> Wandberührung GameOver
(Die Spielabbruchsbediengung werte ich in einer separaten IF-Anw aus und die Schläger bewege ich über KeyDown)
Habe auch schon probiert alle Relationszeichen zu drehen, dann müsste er ja reflektiert werden, wenn der Schläger nicht da ist, aber dies klappt auch nicht.

Lg
  Mit Zitat antworten Zitat
Draos

Registriert seit: 12. Aug 2008
42 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Pong Abprall des Balles

  Alt 23. Jan 2009, 16:41
Also wenn der Ball nach rechts fliegt ist der erste Teil
(Shape5.left<Shape7.Left) immer true

Schau da doch ob der Ball mit dem rechten Punkt (Shape5.left+Shape5.Width)>Shape7.Left ist sprich ob er die Linie des Schlägers überschritten hat.

So sonst seh ich i-wie kein Fehler in der if-Anweisung oder bin ich blind?
  Mit Zitat antworten Zitat
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#3

Re: Pong Abprall des Balles

  Alt 23. Jan 2009, 16:55
Hallo Draos, Danke für deine schnelle Antwort.

Kann das leider immo nicht ausprobieren, werde es aber später nachholen, hacke dann gegebenenfalls morgen ab.

Klingt auch ziemlich ein leuchtend stand ich mal wieder auf dem Schlauch

Lg

//Edit: Mmh mir fällt gerade auf das dann ja der Ball reflektiert werden müsste wenn er sich in dem Intervall (oben- unten) des Spielers (Shapes) befindet und das ist bisher auch nicht der Fall.
Naja werde es einfach mal testen...
  Mit Zitat antworten Zitat
Draos

Registriert seit: 12. Aug 2008
42 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Pong Abprall des Balles

  Alt 23. Jan 2009, 17:08
Ich weiß deswegen überleg ich ja noch die ganze Zeit. Eigentlich dürfte er sich immer nur hin- und herbewegen.

Vllt an anderer Stelle des Progs nen Fehler?
  Mit Zitat antworten Zitat
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#5

Re: Pong Abprall des Balles

  Alt 23. Jan 2009, 17:24
Hallo noch mal, Danke das du dich damit beschäftigst.

Vorher hat alles "eigentlich" funktioniert.
Baue das Programm peu à peu auf:
-Anfang war Ball bleibt im Viereck
-Schlägerbewegung
-Ball prallt oben/ unten ab sowie link/rechts Spiel vorbei

-> Hier sollte nun der Abprall folgen

Werde es Morgen mal rein stellen, von diesem PC aus ist mir dies leider nicht möglich.

schönes Wochenende, obwohl ich natürlich hoffe das du Morgen mal rein schaust
Lg
  Mit Zitat antworten Zitat
thomasku

Registriert seit: 4. Jan 2009
31 Beiträge
 
#6

Re: Pong Abprall des Balles

  Alt 24. Jan 2009, 18:20
Hallo,

habe es jetzt (rechts):
(((Shape5.Left+Shape5.Width)>Shape7.Left) AND ((Shape5.Top+Shape5.Hight)>Shape7.Top) AND (Shape5.Top<(Shape7.Top+Shape.Height)))

Und so klappt es.
Sehe zwar immer noch nicht, warum es nicht wie oben ging, aber HAuptsache es läuft erstmal.
(Hatte das Shape auch mal in der Mitte, dass nicht zufällig vorher die Spielabbruchbediengung erfüllt wird.)

Danke
Lg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz