AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Der Klassiker Pong & die Winkel...

Ein Thema von Corelgott · begonnen am 11. Dez 2003 · letzter Beitrag vom 13. Dez 2003
 
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Der Klassiker Pong & die Winkel...

  Alt 12. Dez 2003, 00:29
achja für die funktionen wo man braucht um ball flugwinkel + geschwindigkeit = neue position von ball ( sin / cos )
hab ich auch den code.. aber der müsste eigentlich auch noch zu schaffen sein

hier noch n paar funktionen:

vorberechnung der cos/sin ergebnisse:
Delphi-Quellcode:

  sina: array[0..360] of real; // vorberechnete werte für sin
  cosa: array[0..360] of real; // vorberechnete werte für cos

procedure initfunc;
var
i: integer;
begin
for i := 0 to 360 do begin
sina[i] := Sin(cycletorad( i / 360));
cosa[i] := Cos(cycletorad( i / 360));

end;
end;
hier noch bissi code wo ich fürs schiffe begewen mal gehabt habe:
Delphi-Quellcode:

              // BEWEGEN ( x/y verschieben )
                         if (sh[i].mode >= 1) then begin // fliegt er ?
                         if (sh[i].typ = 1) then begin // jäger
                         sh[i].x := ( cosa[round(sh[i].a)] * (sh[i].v*1.1) ) + sh[i].x;
                         sh[i].y := ( sina[round(sh[i].a)] * (sh[i].v*1.1) ) + sh[i].y;
                         end;
                         if (sh[i].typ = 2) then begin // advjäger
                         sh[i].x := ( cosa[round(sh[i].a)] * (sh[i].v*1.8) ) + sh[i].x;
                         sh[i].y := ( sina[round(sh[i].a)] * (sh[i].v*1.8) ) + sh[i].y;
                         end;
                         if (sh[i].typ = 3) then begin // bomber
                         sh[i].x := ( cosa[round(sh[i].a)] * (sh[i].v*1.4) ) + sh[i].x;
                         sh[i].y := ( sina[round(sh[i].a)] * (sh[i].v*1.4) ) + sh[i].y;
                         end;
                         if (sh[i].typ = 4) then begin // trans
                         sh[i].x := ( cosa[round(sh[i].a)] * sh[i].v ) + sh[i].x;
                         sh[i].y := ( sina[round(sh[i].a)] * sh[i].v ) + sh[i].y;
                         end;
sh[] is array mit schiffen
sh[].x is x position
sh[].y is y position
sh[].a ist winkel in ° ( 0 -360 )
sh[].v ist geschwindigkeit ( pixel pro bild )

alles klar ? :>
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
 


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 15:40 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