Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Game] Simple Pong (https://www.delphipraxis.net/63843-%5Bgame%5D-simple-pong.html)

turboPASCAL 23. Feb 2006 16:44


[Game] Simple Pong
 
Liste der Anhänge anzeigen (Anzahl: 3)
Vill. löse ich ja hiermit einen neuen Wettbewerb für Alt und Jung aus, egal...

Da es hier in der DP viele Pong-Dinger gibt habe ich auch mal auf die schnelle eins gemacht.
Das ist nochh nicht ausgereift und hat bestimmt auch noch so seine Fehler, aber ich mache es
hier schon einmal öffentlich.
Wer will kann hier seine Anmerkung und Vorschläge gern kund tun.

Vorraussetzungen zum Programm waren/sind kein OpenGL oder DirectX sondern nur reine GDI -Arbeit.

// Update
Puh, schnell ein paar verbesserungen eingebaut die ich noch so im Gedächtnis hatte,
nach dem Vopah oder wie das heisst...

Matze 23. Feb 2006 16:48

Re: Simple Pong
 
Hi Matti,

bis aus die Tatsache, dass der "eckige Ball" teilweise am Schläger "hängen bleibt" und die Geschwindigkeit manchmal unberechenbar ist (beim Starten furchtbar schnell, später mal sehr langsam), sieht's doch schon ganz nett aus. ;)

zecke 23. Feb 2006 16:49

Re: Simple Pong
 
Schaut lustig aus :stupid:

Etwas ungemütlich wird es wenn man mit der Maus aus dem Bildschirm rutscht, sonst habe ich bisher nur ein Fehler entdeckt. Ich erkenne keine Regelmäßigkeit, aber abundzu flutscht der Ball durch das Brett der KI. Das Brett wackelt ein wenig ebenso der Ball und schwupps isser durch ;)

ps: Es scheint häufiger zu passieren wenn der Ball recht gerade auf das Brett zukommt.

turboPASCAL 23. Feb 2006 17:02

Re: Simple Pong
 
:oops: Oh verflixt, ich habe die falsche Datei hochgeleden....

Durch eigene schussligkeit habe ich den neuen Code mit dem alten überschrieben und gepackt.
Nu muss ich nochmal anfangen ... :wall:

Airblader 23. Feb 2006 17:24

Re: Simple Pong
 
Habe ich nur das Gefühl, oder geben mir meine Augen und ein Kurtest mit Papier und Kuli Recht, dass die linke Spielhälfte größer ist als die rechte? :gruebel: ;)

air

Gandi22 23. Feb 2006 17:27

Re: Simple Pong
 
Schon, :gruebel:

aber der nutzbare Bereich (vom Schläger bis zur Mittellinie) scheint gleich groß zu sein! :-D

Matze 23. Feb 2006 20:40

Re: Simple Pong
 
Liste der Anhänge anzeigen (Anzahl: 1)
Teilweise wird außerhalb des sichtbaren Bereies gespielt und man sieht den "Ball" teilweise gar nicht mehr (s. Anhang).

Thorben77 23. Feb 2006 21:31

Re: Simple Pong
 
Nabend.

Nur nebenbei: "win" schreibt man nur mit einem "n" :wink: .
Ansonsten treten bei mir die selben Fehler auf, wie bei Matze und zecke

MfG

turboPASCAL 23. Feb 2006 22:43

Re: Simple Pong
 
@Matze und nat. auch die anderen, ja ich kenne das Problem, ich hatte ein falsches File hochgeladen sihe vorheriger Post von mir.

:gruebel: Habe jetzt nachgearbeitet was ich noch wusste und eine neue Version hochgeladen...

win or not winn ? :roteyes: hab's gewusst.


Warum der Ball manchmal durch den Schläger wandert (meistens links) kann ich nicht sagen. Seltsam...

Sascha_OW 28. Feb 2006 10:36

Re: Simple Pong
 
ich habe mir den Quelltext mal angeguckt und habe da eine Sache nicht verstanden:

Und zwar ich habe das Spilchen auch schon mal geproggt aus langerweile.

Das was ich nict verstehe ich die Abfrage ob der Schläger den Ball getroffen hat oder daneben ist. Ich habe das immer mit einer Schleife gemacht um den Umkreis abzufragen. Kannst du mir erkläre wie du das gemacht hast ich blicke da nicht ganz durch.

s. http://www.delphipraxis.net/internal...858&highlight= das ist von mir

turboPASCAL 28. Feb 2006 10:46

Re: Simple Pong
 
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

Sascha_OW 28. Feb 2006 11:02

Re: Simple Pong
 
ja ist nicht bad kannst dir ja mal mein pong angukcen

turboPASCAL 28. Feb 2006 11:07

Re: Simple Pong
 
Habe ich, bei Gelegenheit schaue ich mir den Code an und gebe meinen Senf dazu... ;)

Sascha_OW 28. Feb 2006 11:14

Re: Simple Pong
 
ich habe das in deinem programm noch nicht gefunden mit der abfrage kannszt die mal hier 1 zu 1 posten

turboPASCAL 28. Feb 2006 11:23

Re: Simple Pong
 
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;

MisterNiceGuy 28. Feb 2006 11:24

Re: Simple Pong
 
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
Delphi-Quellcode:
ClipCursor(nil);
machst du es wieder rückgängig. :-D

Sascha_OW 28. Feb 2006 11:27

Re: Simple Pong
 
sauber danke

turboPASCAL 28. Feb 2006 11:46

Re: Simple Pong
 
@MisterNiceGuy: Hm, warum ? :gruebel: Dann wäre es ja noch einfacher und man((n) oder Frau) verliert dann ja nicht mehr. ;)

turboPASCAL 18. Nov 2006 21:45

Re: [Game] Simple Pong
 
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.

turboPASCAL 27. Jan 2007 19:21

Re: [Game] Simple Pong
 
Habe gerade mal ein Update hochgeladen (erster Post), neue Features etc.

Daniel G 27. Jan 2007 19:34

Re: [Game] Simple Pong
 
Die Musik ist herrlich. :love:

Hast du schonmal an einen Fullscreenmodus gedacht?

turboPASCAL 27. Jan 2007 19:39

Re: [Game] Simple Pong
 
Japp, ne wird es nicht geben. Jedenfalls nicht von mir. ;)

Daniel G 27. Jan 2007 19:44

Re: [Game] Simple Pong
 
Zitat:

Zitat von turboPASCAL
Japp, ne wird es nicht geben. Jedenfalls nicht von mir. ;)

Schade. :stupid:

Ich bin grad' am grübeln. Mit der Grundlage könnte man ja was nachbauen

Mazel 27. Jan 2007 19:59

Re: [Game] Simple Pong
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

soll es so sein, dass der Ball wieder in die Richtung fliegt, von die er gekommen ist? Sollte das nicht ein Winkel sein, zumindest habe ich in meinem Ping Pong Einfallswinkel -> Ausfallswinkel.
Hab mal kurz die exe im Anhang gesetzt (ruckelt zwar, da ich es nie weiter enteickelt habe :cry: ).

Gruß
Mazel

turboPASCAL 27. Jan 2007 20:24

Re: [Game] Simple Pong
 
jain ;) ,muss das noch bauen, habe aber nie so recht Zeit dafür gefunden. :mrgreen:

Daniel G 27. Jan 2007 21:40

Re: [Game] Simple Pong
 
Zitat:

Zitat von turboPASCAL
jain ;) ,muss das noch bauen, habe aber nie so recht Zeit dafür gefunden. :mrgreen:

dafür isses ja OS.. :mrgreen:

BTW: Alles Gute zum Geburtstag :party:

turboPASCAL 27. Jan 2007 21:41

Re: [Game] Simple Pong
 
thx

himitsu 20. Okt 2009 20:54

Re: [Game] Simple Pong
 
Im Multiplay-PCvPC ruckelt der Spieler 2 (rechts) rum, wenn sich zur gleichen Zeit der Spieler 1 (links) bewegt ... also nur der linke Spiele bewegt sich flüssig.

turboPASCAL 20. Okt 2009 21:00

Re: [Game] Simple Pong
 
Zitat:

Zitat von turboPASCAL
muss das noch bauen, habe aber nie so recht Zeit dafür gefunden. :mrgreen:

Oder so. :stupid:

(wenn der sich schneller bewegen würde, gäbe es lange keinen Verlierer)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 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