Bei meinem Arkanoid- Klon, den ich mit DelphiX programmiert habe, bewegte sich der Ball kaum noch bis garnicht nachdem ich desen Code in OnCreate des Formulars eingefügt hatte:
Delphi-Quellcode:
procedure TForm1.new_map;
var
Str : String;
Ch : String;
No : Integer;
I, J : Integer;
RowCount : Integer;
Map_File : TextFile;
bnr: Integer;
Game_Map : Array [1..20] of String;
begin
Str:=DataPath+'\maps\lev1.lvl' ;
AssignFile (Map_File,Str);
Reset (Map_File);
Readln (Map_File, Str);
RowCount:= StrToInt(Str);
for I:= 1 to RowCount do
begin
Game_Map[I]:= '';
Readln (Map_File, Str);
Game_Map[I]:= Str;
end;
CloseFile (Map_File);
for I:= 1 to RowCount do
begin
Str:= Game_Map[I];
for J:= 0 to 13 do
begin
No:= 0;
Ch:= copy(Str,J+1,1);
if Ch <> '.' then No:= StrToInt(Ch);
if No > 0 then
begin
for bnr:=0 to 100 do
begin
with TBlock.Create(SpriteEngine.Engine) do
begin
Width := Image.Width;
Height:= Image.Height;
X:= 8 + J*(Width + 1);
Y:= Form1.XDraw.Height div 8 + I*(Height + 2);
Z:= 10;
end;
end;
end;
end;
end;
end;
Diese Code lädt die Steinpositionen aus einer Datei und lässt Sie dann darstellen.
Wiso ist aber dann die Geschwindigkeit fast 0, und wie kann man das abstellen?
{Einfache Arkanoid Regeln: Bei Arkanoid prallt ein Ball an Steinen auf einem Spielfeld sind ab. Die Steine verschwinden bei Berührung. Man selber muss dabei nur den Ball mit einer Art PingPong-Schläger vor einem "Abgrund" fernhalten beis keiner mehr da ist.}