AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Game] Simple Pong
Thema durchsuchen
Ansicht
Themen-Optionen

[Game] Simple Pong

Ein Thema von turboPASCAL · begonnen am 23. Feb 2006 · letzter Beitrag vom 20. Okt 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

Re: Simple Pong

  Alt 28. Feb 2006, 10:46
Die Abfrage ist recht einfach, es wird geprüft of sich ein Rechteck über einem anderen Rechteck befindet ( Ball <-> Schläger ).
Also nach dem Motto:
Code:
If Ballrechteck über Schlägerrechteck then Abprallen lassen
Da leigt auch bei meinem Programm eine kleine Schwachstelle, der Ball wandert manchmal durch den Schläger. Muss ich noch mal überarbeiten...

Gefällt den mein Proggi ?

// Edit: Neue Version ist da, mit "PC vs PC" Option
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Simple Pong

  Alt 28. Feb 2006, 11:02
ja ist nicht bad kannst dir ja mal mein pong angukcen
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Simple Pong

  Alt 28. Feb 2006, 11:07
Habe ich, bei Gelegenheit schaue ich mir den Code an und gebe meinen Senf dazu...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Simple Pong

  Alt 28. Feb 2006, 11:14
ich habe das in deinem programm noch nicht gefunden mit der abfrage kannszt die mal hier 1 zu 1 posten
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Simple Pong

  Alt 28. Feb 2006, 11:23
Delphi-Quellcode:
// Die Prüffunktion
function OverlapRect(const Rect1, Rect2: TRect): Boolean;
begin
  Result :=
    (Rect1.Left <= Rect2.Right) and
    (Rect1.Right >= Rect2.Left) and
    (Rect1.Top <= Rect2.Bottom) and
    (Rect1.Bottom >= Rect2.Top);
end;
Delphi-Quellcode:
  // Die Überprüfung ob sich ein Rechteck in/ über einem anderem befindet
  if OverlapRect( // Ball bei/über Schl. 1 ?
    Rect(Ball.X, Ball.Y, Ball.X + Ball.Bmp.Width, Ball.Y + Ball.Bmp.Height),
    Rect(Schl1.X, Schl1.Y, Schl1.X + Schl1.Bmp.Width, Schl1.Y + Schl1.Bmp.Height)
    ) or
    OverlapRect( // Ball bei/über Schl. 2 ?
    Rect(Ball.X, Ball.Y, Ball.X + Ball.Bmp.Width, Ball.Y + Ball.Bmp.Height),
    Rect(Schl2.X, Schl2.Y, Schl2.X + Schl2.Bmp.Width, Schl2.Y + Schl2.Bmp.Height)
    ) then
  begin
    // Abprallen lassen / also einfach die Richtung umkeren.
    // Das Random ist dazu da, dass der winkel nicht immer gleich ist
    // sonst könnte man die Schläger an einer passenden Stelle belassen
    // und der ball würde immer wieder die selbe Schtrecke benutzen
    vx := vx * -1 -(1+random(2));
    vy := vy * -1 -(1+random(2));
  end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#6

Re: Simple Pong

  Alt 28. Feb 2006, 11:24
Grenz doch einfach den Mauscursor auf dein Fenster ein solange ein Spiel läuft.
Geht so:
Delphi-Quellcode:
var
  Rect: TRect;
begin
  Rect.Left := Form1.Left;
  Rect.Top := Form1.Top;
  Rect.Right := Form1.Left + Form1.Width;
  Rect.Bottom := Form1.Top + Form1.Height;
  ClipCursor(@Rect);
Mit ClipCursor(nil); machst du es wieder rückgängig.
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Sascha_OW

Registriert seit: 4. Aug 2005
Ort: Owschlag
129 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Simple Pong

  Alt 28. Feb 2006, 11:27
sauber danke
Sascha Schwarz
Kostenlose SMS unter:
http://www.smsjunky.de
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#8

Re: Simple Pong

  Alt 28. Feb 2006, 11:46
@MisterNiceGuy: Hm, warum ? Dann wäre es ja noch einfacher und man((n) oder Frau) verliert dann ja nicht mehr.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: [Game] Simple Pong

  Alt 18. Nov 2006, 21:45
Habe endlich diesen blöden Fehler "Ball durch Schläger" gefunden und behoben glaube ich.
Bitte mal die neue Version testen wenn ihr Lust und Zeit habt.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: [Game] Simple Pong

  Alt 27. Jan 2007, 19:21
Habe gerade mal ein Update hochgeladen (erster Post), neue Features etc.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 16:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz