![]() |
[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... |
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. ;) |
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. |
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: |
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 |
Re: Simple Pong
Schon, :gruebel:
aber der nutzbare Bereich (vom Schläger bis zur Mittellinie) scheint gleich groß zu sein! :-D |
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).
|
Re: Simple Pong
|
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... |
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. ![]() |
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:
Da leigt auch bei meinem Programm eine kleine Schwachstelle, der Ball wandert manchmal durch den Schläger. Muss ich noch mal überarbeiten...
If Ballrechteck über Schlägerrechteck then Abprallen lassen
Gefällt den mein Proggi ? ;) // Edit: Neue Version ist da, mit "PC vs PC" Option |
Re: Simple Pong
ja ist nicht bad kannst dir ja mal mein pong angukcen
|
Re: Simple Pong
Habe ich, bei Gelegenheit schaue ich mir den Code an und gebe meinen Senf dazu... ;)
|
Re: Simple Pong
ich habe das in deinem programm noch nicht gefunden mit der abfrage kannszt die mal hier 1 zu 1 posten
|
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; |
Re: Simple Pong
Grenz doch einfach den Mauscursor auf dein Fenster ein solange ein Spiel läuft.
Geht so:
Delphi-Quellcode:
Mit
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);
Delphi-Quellcode:
machst du es wieder rückgängig. :-D
ClipCursor(nil);
|
Re: Simple Pong
sauber danke
|
Re: Simple Pong
@MisterNiceGuy: Hm, warum ? :gruebel: Dann wäre es ja noch einfacher und man((n) oder Frau) verliert dann ja nicht mehr. ;)
|
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. |
Re: [Game] Simple Pong
Habe gerade mal ein Update hochgeladen (erster Post), neue Features etc.
|
Re: [Game] Simple Pong
Die Musik ist herrlich. :love:
Hast du schonmal an einen Fullscreenmodus gedacht? |
Re: [Game] Simple Pong
Japp, ne wird es nicht geben. Jedenfalls nicht von mir. ;)
|
Re: [Game] Simple Pong
Zitat:
Ich bin grad' am grübeln. Mit der Grundlage könnte man ja ![]() |
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 |
Re: [Game] Simple Pong
jain ;) ,muss das noch bauen, habe aber nie so recht Zeit dafür gefunden. :mrgreen:
|
Re: [Game] Simple Pong
Zitat:
BTW: Alles Gute zum Geburtstag :party: |
Re: [Game] Simple Pong
thx
|
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.
|
Re: [Game] Simple Pong
Zitat:
(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