Tut mir leid das ich jetzt erst antworte. Also ich bin noch nicht weiter, mein Problem ist nach wie vor Pacman zu bewegen. Ich habe auch zuerst mit einem Button versucht aber es möchte einfach nicht funktionieren.
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var a,b,i:Integer;
begin
for a:=0 to 40 do //füllt alle Zellen mit 0
for b:=0 to 40 do
begin
StringGrid1.Cells[a,b]:='1'; //alle Zellen sollten 1 sein, überall wo die eins ist kann Pac Man nicht laufen
end;
For i:=1 to 38 do
begin
StringGrid1.Cells[i*1,1]:='0'; //wo die 0 ist soll Pac Man laufen
end;
image4:=timage.Create(self);
image4.Parent := Stringgrid1; // Image soll auf Stringgrid1 angezeigt werden
image4.Left := 20; //Position
image4.Top := 20; //Position
image4.AutoSize := True;
image4.Picture.LoadFromFile('C:\Users\johan_jlh8bh3\Desktop\Schule\IV\Bilder PacMan\pac3.bmp'); //Ort von dem das Bild geladen wird
image4.Visible:= true;
image4.Transparent:=true;
end;
procedure TForm2.Button2Click(Sender: TObject);
var PacmanY,PacmanX,a,b:Integer;
begin
for a:=0 to 40 do
for b:=0 to 40 do
begin
if StringGrid1.Cells[a,b]=Inttostr(0)
then
begin
PacmanX:=a;
PacmanY:=b;
end;
end;
if PacmanX<40 then //nicht über den Rand
begin
if StringGrid1.Cells[(PacmanX*2)+1,PacmanY*2]=Inttostr(0) then //Abfrage, ob es eine Mauer gibt
begin
image4.Left:= 20+(PacmanX); //Bild verrücken
end;
end;
end;
Also dies habe ich bisher aber es möchte nicht funktionieren, könnt ihr mir bitte weiterhelfen.