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
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...
Miniaturansicht angehängter Grafiken
preview_131.gif  
Angehängte Dateien
Dateityp: zip pong.source_216.zip (6,0 KB, 265x aufgerufen)
Dateityp: zip pong.exec_195.zip (485,9 KB, 260x aufgerufen)
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
 
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#11
  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
  Mit Zitat antworten Zitat
Sascha_OW

 
Delphi 2005 Professional
 
#12
  Alt 28. Feb 2006, 11:02
ja ist nicht bad kannst dir ja mal mein pong angukcen
Sascha Schwarz
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#13
  Alt 28. Feb 2006, 11:07
Habe ich, bei Gelegenheit schaue ich mir den Code an und gebe meinen Senf dazu...
Matti
  Mit Zitat antworten Zitat
Sascha_OW

 
Delphi 2005 Professional
 
#14
  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
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#15
  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
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

 
Delphi 7 Personal
 
#16
  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
  Mit Zitat antworten Zitat
Sascha_OW

 
Delphi 2005 Professional
 
#17
  Alt 28. Feb 2006, 11:27
sauber danke
Sascha Schwarz
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#18
  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
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#19
  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
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#20
  Alt 27. Jan 2007, 19:21
Habe gerade mal ein Update hochgeladen (erster Post), neue Features etc.
Matti
  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 14:11 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