Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 2d game:ping-pong (https://www.delphipraxis.net/43821-2d-game-ping-pong.html)

mangaka 9. Apr 2005 09:24


2d game:ping-pong
 
Moin,
Ein Kumpel und ich wollen ein Game auf Delphi basis programmieren.
Es handelt sich um ein remake von ping pong^^(jeder kennt es- 2balken eine kugel...ping ...pong)

Da wir beide noch am Anfang unserer Delphi Erfahrung stehen, brauchen wir etwas Hilfe...
Ein paar Fragen zunächst:
-Wie erstellen wir eine x- und y-achse?
-Habt ihr vorschläge wie wir den Ball zum bewegen kriegen können und wie die Flugbahn berechnet werden soll?..
ich habe da schon ein paar ideen, aber die sind nicht so einfach umzusetzen...

um wissen über delphi zu sammeln lese ich grad dieses buch:
Delphi für Kids-(9.kapitel)...

und danach werde ich wohl das lesen:
3D Proigrammierung für Kids. denkt ihr dieses buch könnte mir bei meinen Problemme weiter helfen...ich habe nocht nicht wikrlich reingesehn...

Das 1. Buch habe ich, wie schon gesagt, angefangen zu lesen und ich finde es gut. Doch es vermittelt mir eher ein Basis/Grundwissen. Sicherlich auch mehr aber ich brauche noch andere bücher um weitrer zukommen. beim den nächsten büchern will ich mein wissen über die datenbanken und über das netzwerk/inet programmierung anreichern.
kennt ihr da paar gute?

falls ich rechtschreibfehler eingebaut haben sollte tut es mir leid. mir ist grad aufgefallen, dass ich manchmal groß und dann ne zeit lang klein schreiben...liegt alles an der uhrzeit-es ist freitag und kurz vor 0uhr...bin müde :D

Achja ...und ich habe noch eine Frage zu einem Buch. Gibt es Bücher für die Konsolenanwendung unter Delphi?

Tubos 9. Apr 2005 10:02

Re: 2d game:ping-pong
 
Zitat:

Habt ihr vorschläge wie wir den Ball zum bewegen kriegen können und wie die Flugbahn berechnet werden soll?..
Das Abprallen eines Balls an vier Wänden, die in einem Rechteck angeordnet sind, löse ich folgendermaßen (Pseudocode).
Wenn der Ball an Schlägern abprallt, geht es im Prinzip genauso nur musst du vorher abfragen ob der Ball überhaupt auf den Schläger auftrifft oder ins "Aus" geht.
Code:
boolean outside=false;
   // Kollision mit linker und rechter Wand überprüfen:
if (kollision mit linker oder rechter wand) then
   if (not outside)
   begin
      bewegung.x := -bewegung.x;
      outside:=true;
   end;

if (kollision mit oberer oder unterer wand) then
   if (not outside)
   begin
      bewegung.y := -bewegung.y;
      outside:=true;
   end;

if (ballposition + ballradius > LinkeWand) AND (ballposition + ballradius < RechteWand) AND (ballposition - ballradius > UntereWand) AND (ballposition - ballradius < ObereWand) then outside:=false;
Ich kann dir keinen Delphicode geben weil das Programm nicht in Delphi geschrieben ist. Sollte aber keine Probleme machen den Pseudocode zu verstehen, ansonsten --> fragen.

mangaka 9. Apr 2005 10:17

Re: 2d game:ping-pong
 
hmm... kannst du die einzelnene schritte die du mit der if-else abfrage gemacht hast, etwas erklären?
was bedeutet in diesem fall outside?
udn wie kriege ich die position des balls raus, bzw woher kriege ich solche x- und y-achsen?
und^^...wie lasse ich den ball fliegen...
wenn der ball gegen ein hindernis stößt, zb. eine wand, dann soll der einfallswinkel = ausfallswinkel sein, weist du was ich damit meine?

Wuaegner 9. Apr 2005 10:29

Re: 2d game:ping-pong
 
@Tubos:
Bei deinem Code würde es aber keinen Unterschied machen ob man seinen "Schläger" wenn der Ball auftrifft gerade voll nach oben zieht oder man den Schläger einfach so lässt. Beim klassischen Ping-Pong wird das doch berücksichtigt oder irre mich da? :gruebel:

Speedmaster 9. Apr 2005 10:40

Re: 2d game:ping-pong
 
Habt ihr in der Schule schon Geometrien durchgenommen??
Wenn nein, schlage ich vor sich mal mit dem Thema Sinus & Co zu beschäftigen, zusätzlich solltet ihr wissen was Bogenmase sind. Einfach mal in Google suchen!

Dannach solltet ihr euch am besten nocheinmal mit den Grundlagen beschäftigen, diese sind bei Spielen äußerst wichtig, siehe Hier! Wobei dort wohl eher Delphi-Sprache und Styleguide für euch Wichtig sind, besonderst das zweite sollte man sich umbedingt durchlesen!

Wenn ihr das gemacht und verstanden habt könnt ihr mit Ping-Pong anfangen.
Da es 2D ist würde denke ich würd es Reichen wenn mit folgendem Ansatz anfangt:

Delphi-Quellcode:
type
  TVec3 = record
    x: word;
    y: word;
    z: word;
  end;

  TGObject = class
    public
      Position: TVec3;
      HitPoints: byte;
      procedure Move(Vektor: TVec3);
      procedure RegisterObject;
      procedure Destroy;
      constructor Create(DPosition: TVec3);
    end;
Edit:
Ähh...bei euch könnt ihr die z-Achse weglassen!

Khabarakh 9. Apr 2005 11:10

Re: 2d game:ping-pong
 
Zitat:

Zitat von Speedmaster
Habt ihr in der Schule schon Geometrien durchgenommen??
Wenn nein, schlage ich vor sich mal mit dem Thema Sinus & Co zu beschäftigen, zusätzlich solltet ihr wissen was Bogenmase sind. Einfach mal in Google suchen!

Ich würde am Anfang nur das Abprallen an den Wänden und Schlägern ohne deren Bewegung behandeln, dazu ist Trigonometrie überflüssig.

mangaka 9. Apr 2005 11:17

Re: 2d game:ping-pong
 
bin in der 10kl. wir nehmen grad zufällig sinus/cosinus durch.
das die z-achse (die tiefe) hier nicht nötig ist wohl selbsdtverständlich.
Danke für deine Hilfe. Ich befolge mal dienne rat...ich denk trozdem das warnicht der letzte thread von mir ^^

Nils_13 9. Apr 2005 11:50

Re: 2d game:ping-pong
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ums Prinzip zu begreifen.

whiteshark 9. Apr 2005 11:56

Re: 2d game:ping-pong
 
Ich kann deine *.exe-Datei nicht ausführen. Bringt er bei mir immer die Windows-Fehlermeldung "Pong.exe hat ein Problem festgestellt und muss beendet werden."!

Nils_13 9. Apr 2005 11:58

Re: 2d game:ping-pong
 
:gruebel: den Fehler hatte ich noch nie, hast du es entpackt ?
Auch aus der Rar läufts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr.
Seite 1 von 4  1 23     Letzte »    

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