hallo leute,
ich bin neu hier..Hab mich grade angemeldet, weil ich eure Hilfe brauche
Ich programmier grad das Kultspiel "Ping Pong" mit Delphi.
Hatte viele Probleme, weil ich noch ein ziemlicher Anfänger bin, was Programmieren angeht.
Einige konnte ich lösen, habe mir auch schon auf anderen Seiten Rat gesucht. Nun habe ich grad heute das Problem geknackt, wie ich meine Spieler bewegen kann, denn ich wusste nicht, wie das Prog abfragen soll, welche Taste ich gerade drücke um den Spieler zu bewegen (1. Player: W,S ; 2. Player: I,K)
Allerdings habe ich das in einer neuen
VCL gemacht...Hat super geklappt.
Eben wollt ichs in mein Ping Pong einbinden...aber es tut sich gar nichts. Vielleicht wisst ihr wo der Fehler ist.
Danke für alle Tipps
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (key='s') and (panel2.top<(320-75)) then //spieler1 W(oben) & S(unten)
panel2.top:=panel2.top+5
else
if (key='w') and (panel2.Top>0) then
panel2.Top:=panel2.Top-5;
if (key='i') and (panel3.top<(320-75)) then //spieler2 I(oben) & K(unten)
panel3.top:=panel3.top+5
else
if (key='k') and (panel3.Top>0) then
panel3.Top:=panel3.Top-5;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (shape1.Top<panel2.Top) or (shape1.Top>(panel2.top+300)) then //spieler1
begin
if shape1.left<(panel2.Left+30) then
begin
x:=0;
y:=0 ;
panel2.Color:=clred;
panel3.Color:=clgreen;
shape1.top:=450-32;
shape1.Left:=600-32;
punkt2:=punkt2+1;
label2.Caption:=inttostr(punkt2);
end;
end;
if (shape1.left<(panel2.left+30)) then
begin
x:=-x;
end; //ende player 1
if (shape1.Top<panel3.Top) or (shape1.Top>(panel3.top+300)) then //spieler2
begin
if (shape1.left+65)>panel3.Left then
begin
x:=0;
y:=0 ;
panel2.Color:=clgreen;
panel3.Color:=clred;
shape1.top:=450-32;
shape1.Left:=600-32;
punkt1:=punkt1+1;
label1.Caption:=inttostr(punkt1);
end;
end;
if (shape1.Left+65)>panel3.left then
begin
x:=-x;
end; //ende player 2
if (shape1.top<0) or (shape1.Top>840) then
begin
y:=-y;
end;
shape1.Left:=shape1.Left+x;
shape1.Top:=shape1.top+y;