AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi Projektarbeit - 2D Autorennen

Ein Thema von EpicProgger5000 · begonnen am 7. Feb 2014 · letzter Beitrag vom 3. Mär 2014
Antwort Antwort
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Delphi Projektarbeit - 2D Autorennen

  Alt 11. Feb 2014, 16:46
Ups... Hat das Programm bei Euch funktioniert?

Fahren die Auto's alles "auf" der Straße?

Hab die Version gerade für Mac-OS gelinkt und musste feststellen, dass die CPU-Geschwindigkeit mit in die Position einfließt. Hier muss ich nochmal "nacharbeiten"...

Mavarik

Geändert von Mavarik (11. Feb 2014 um 16:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi Projektarbeit - 2D Autorennen

  Alt 11. Feb 2014, 17:58
Unter Win7 und Win8 sieht es gut aus.

Kannst Du mal grob umreißen, wie Du das aufgebaut hast?
Bild als Hintergrund und wie kontrollierst Du die Strecke und Winkel?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Delphi Projektarbeit - 2D Autorennen

  Alt 12. Feb 2014, 09:03
Unter Win7 und Win8 sieht es gut aus.

Kannst Du mal grob umreißen, wie Du das aufgebaut hast?
Bild als Hintergrund und wie kontrollierst Du die Strecke und Winkel?
Delphi-Quellcode:
  TCar = Record
           Position : TPosition;
           Richtung : Single;
           Geschwindigkeit : Single;
           Image : TImage;
         end;
Delphi-Quellcode:
  
   TAutoDriveList = Record
                      CarNr : byte;
                      Geschwindigkeit : Single;
                      Richtung : Single;
                      // Besser Position dann ist es Hardware unabhängig (z.b. auf Mac)
                      Wann : TDateTime;
                    end;
Delphi-Quellcode:
Procedure TForm46.MoveCar(Nr:Integer); // Form46 lol...PoC
begin
  Cars[Nr].Position.X := Cars[Nr].Position.X + Sin(Cars[Nr].Richtung*PI/180)*Cars[Nr].Geschwindigkeit;
  Cars[Nr].Position.Y := Cars[Nr].Position.Y + Cos(Cars[Nr].Richtung*PI/180)*Cars[Nr].Geschwindigkeit;
  Cars[Nr].Image.Position := Cars[Nr].Position;
end;
Delphi-Quellcode:
procedure TForm46.Timer1Timer(Sender: TObject);
var
  i : Integer;
begin
  Image5.Canvas.BeginScene;

  Label6.Text := FloattoStr(Image4.AbsoluteRect.Width) +' x '+FloattoStr(Image4.AbsoluteRect.Height);

  if Gas
    then Cars[Stear].Geschwindigkeit := Cars[Stear].Geschwindigkeit + 0.10 // Mehr Gas als Bremse ;-)
    else if Bremse then
           Cars[Stear].Geschwindigkeit := Cars[Stear].Geschwindigkeit - 0.05;

  if Links
    then begin
           Cars[Stear].Richtung := Cars[Stear].Richtung + 3; // Winkelgeschwindigkeit noch gemäßt Geschwindigkeit anpassen
           Cars[Stear].Image.RotationAngle := 90 - Cars[Stear].Richtung;
         end
    else if Rechts then
           begin
             Cars[Stear].Richtung := Cars[Stear].Richtung - 3;
             Cars[Stear].Image.RotationAngle := 90 - Cars[Stear].Richtung;
           end;

  if AutoDrive then
    begin
      // Gespeicherte Daten abspielen
      ...
    end;

    
  for i:=1 to 4 do
    begin
      MoveCar(i);
      CheckCar(i); // todo
    end;
  Image5.Canvas.EndScene;
end;
Quick and Dirty.

Die Daten für die Bewegungen können entweder eingegeben werden per Tastatur,
oder aus dem gespeicherten Array abgespielt werden oder per UDP "rein" kommen.

Mavarik

Geändert von Mavarik (12. Feb 2014 um 13:43 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:13 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