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