Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

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

AW: Delphi Projektarbeit - 2D Autorennen

  Alt 12. Feb 2014, 08:46
Also nochmal ne genauere Problemerläuterung:
-> wir wollen ein Autorennen in Vogelperspektive programmieren.
Ich Denke Du meinst eher in "Draufsicht"

Das soll alles jedoch relativ einfach gehalten werden,da wir nicht sonderlich viel Zeit haben und auch so nicht viel Plan haben.
Wir wollen auf jeden Fall
a) das zwei Autos gleichzeitg fahren können also man auch zwei Tasten gleichzeiig drücken kann
KeyDown "a" Links_Spieler_1 := true;Rechts_Spieler_1 := false;
Keydown "d" Rechts_Spieler_1 := true;Links_Spieler_1 := false;

KeyUp "a" Links_Spieler_1 := false;
KeyUp "d" Links_Spieler_1 := false;

OnTimer if Links_Spieler_1 = true then Wagen_1 Richtung := Richtung - 45;
...
b) das Auto fährt, wenn wir nach rechts lenken immernoch nachrechts weiter, also wir bekommen es nicht hin, dass das Auto nach dem lenken nach unten bzw. in eine andere richtung fährt
Logisch wenn Du blind

Delphi-Quellcode:
procedure fahrtost;
 begin
 Image2.Left:=Image2.Left+5;
 end;
machst.
Delphi-Quellcode:
if Wagen_1.Richtung = 0 then
 Image2.Top := Image2.Top - 5; // Immer in 5er Schritten ohne unterschiedliche Geschwindigkeit.?!?
else
If Wagen_1.Richtung = 45 then
  begin
    Image2.top := Image2.Top - 5;
    Image2.Left := Image2.Left + 5;
  end
usw.
c) haben wir im paint autos & Strecke vorgezeichnet (ist ja auch bitmap) und wissen jetzt aber nicht, wie man dort ne begrenzung einbaut bzw. programmiert, sodass das auto nicht mehrauf den Straßenrand fährt
Da Deine "Autos" in einem 5er Raster fahren, lege Dir ein Array an, welches die Strecke in diesem Raster darstellt.
Delphi-Quellcode:
var
  Strecke : Array [0..200,0..100] of Boolean; // für ein Image der Größe 1000x500
begin
  Strecke[5,7] := true; // hier dar ein Auto fahren
  Strecke[4,7] := false; // hier nicht.

  if Strecke[Image2.Left div 5,image2.Top div 5] then
    Auf_der_Strecke := true
  else
    Auf_der_Strecke := false;
  ...
end;
Könnt ihr uns da helfen?
danke euch aber bisher
Helfen ja, aber nicht die ganze Arbeit machen!

Mavarik
  Mit Zitat antworten Zitat